]> git.ipfire.org Git - thirdparty/haproxy.git/commit
TESTS: jws: register a unittest for jwk
authorWilliam Lallemand <wlallemand@haproxy.com>
Fri, 28 Feb 2025 21:27:28 +0000 (22:27 +0100)
committerWilliam Lallemand <wlallemand@haproxy.com>
Mon, 3 Mar 2025 11:43:32 +0000 (12:43 +0100)
commit09457111bb3c327393b3446e207d6a00d4e3f93c
treeced45924e57ca2ff4b0ce7ec020776fcd702d9bc
parent1e7478bb4ec4058cd3b35c1cd89b8d8a44f94a64
TESTS: jws: register a unittest for jwk

Add a way to test the jwk converter in the unit test system

    $ make TARGET=linux-glibc USE_OPENSSL=1 CFLAGS="-DDEBUG_UNIT=1"
    $ ./haproxy -U jwk foobar.pem.rsa
    {
        "kty": "RSA",
        "n":   "...",
        "e":   "AQAB"
    }
    $ ./haproxy -U jwk foobar.pem.ecdsa
    {
        "kty": "EC",
        "crv": "P-384",
        "x":   "...",
        "y":   "..."
    }

This is then tested by a shell script:

    $ HAPROXY_PROGRAM=${PWD}/haproxy tests/unit/jwk/test.sh
    + readlink -f tests/unit/jwk/test.sh
    + BASENAME=/haproxy/tests/unit/jwk/test.sh
    + dirname /haproxy/tests/unit/jwk/test.sh
    + TESTDIR=/haproxy/tests/unit/jwk
    + HAPROXY_PROGRAM=/haproxy/haproxy
    + mktemp
    + FILE1=/tmp/tmp.iEICxC5yNK
    + /haproxy/haproxy -U jwk /haproxy/tests/unit/jwk/ecdsa.key
    + diff -Naurp /haproxy/tests/unit/jwk/ecdsa.pub.jwk /tmp/tmp.iEICxC5yNK
    + rm /tmp/tmp.iEICxC5yNK
    + mktemp
    + FILE2=/tmp/tmp.EIrGZGaCDi
    + /haproxy/haproxy -U jwk /haproxy/tests/unit/jwk/rsa.key
    + diff -Naurp /haproxy/tests/unit/jwk/rsa.pub.jwk /tmp/tmp.EIrGZGaCDi
    + rm /tmp/tmp.EIrGZGaCDi

    $ echo $?
    0
src/jws.c
tests/unit/jwk/ecdsa.key [new file with mode: 0644]
tests/unit/jwk/ecdsa.pub.jwk [new file with mode: 0644]
tests/unit/jwk/rsa.key [new file with mode: 0644]
tests/unit/jwk/rsa.pub.jwk [new file with mode: 0644]
tests/unit/jwk/test.sh [new file with mode: 0755]