mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-10-27 14:41:28 +01:00
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
27 lines
445 B
Bash
Executable File
27 lines
445 B
Bash
Executable File
#!/bin/sh
|
|
|
|
check() {
|
|
${HAPROXY_PROGRAM} -vv | grep -E '^Unit tests list :' | grep -q "jwk"
|
|
}
|
|
|
|
run() {
|
|
FILE1=$(mktemp)
|
|
${HAPROXY_PROGRAM} -U jwk ${TESTDIR}/ecdsa.key > "${FILE1}"
|
|
diff -Naurp ${TESTDIR}/ecdsa.pub.jwk "${FILE1}"
|
|
rm "${FILE1}"
|
|
|
|
FILE2=$(mktemp)
|
|
${HAPROXY_PROGRAM} -U jwk ${TESTDIR}/rsa.key > "${FILE2}"
|
|
diff -Naurp ${TESTDIR}/rsa.pub.jwk "${FILE2}"
|
|
rm "${FILE2}"
|
|
}
|
|
|
|
case "$1" in
|
|
"check")
|
|
check
|
|
;;
|
|
"run")
|
|
run
|
|
;;
|
|
esac
|