cert-service/test/test.ml

45 lines
1.0 KiB
OCaml

let () = Mirage_crypto_rng_unix.initialize ()
let csr_privkey =
lazy
(`RSA (Mirage_crypto_pk.Rsa.generate ~bits:1024 ()))
let dn_of_name name =
[X509.(Distinguished_name.Relative_distinguished_name.singleton
(CN name))]
let csr name =
X509.Signing_request.create
(dn_of_name name)
(Lazy.force csr_privkey)
let check_csr_dn_good () =
let name = "reynir" in
let csr = csr name in
Alcotest.(check @@ result unit Alcotest.reject)
"good dn in csr"
(Ok ())
(Cert_service.check_csr_dn
csr name)
let check_csr_dn_different () =
let name = "reynir" in
let csr = csr name in
match Cert_service.check_csr_dn csr "notreynir" with
| Ok () -> Alcotest.fail "check succeeded, expected failure"
| Error (`Msg _) -> ()
let cert_tests = [
"check_csr_dn_good", `Quick, check_csr_dn_good;
"check_csr_dn_different", `Quick, check_csr_dn_different;
]
let tests : unit Alcotest.test list= [
"check_csr_dn", cert_tests
]
let () =
Alcotest.run
"Cert-service tests"
tests