summaryrefslogtreecommitdiff
path: root/certs/test/unit/client_certificate_test.rb
blob: abb556042cca5a05c163acadac64e6bfafb2a130 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
require 'test_helper'

class ClientCertificateTest < ActiveSupport::TestCase

  test "new cert has all we need" do
    sample = ClientCertificate.new
    assert sample.key
    assert sample.cert
    assert sample.to_s
  end

  test "free cert has configured prefix" do
    sample = ClientCertificate.new(free: true)
    prefix = APP_CONFIG[:free_cert_prefix]
    assert sample.cert.subject.common_name.starts_with?(prefix)
  end

  test "real cert has no free cert prefix" do
    sample = ClientCertificate.new
    prefix = APP_CONFIG[:free_cert_prefix]
    assert !sample.cert.subject.common_name.starts_with?(prefix)
  end

  test "cert issuer matches ca subject" do
    sample = ClientCertificate.new
    cert = OpenSSL::X509::Certificate.new(sample.cert.to_pem)
    assert_equal ClientCertificate.root_ca.openssl_body.subject, cert.issuer
  end

end