diff options
Diffstat (limited to 'certs/test')
-rw-r--r-- | certs/test/functional/certs_controller_test.rb | 40 | ||||
-rw-r--r-- | certs/test/unit/client_certificate_test.rb | 12 |
2 files changed, 25 insertions, 27 deletions
diff --git a/certs/test/functional/certs_controller_test.rb b/certs/test/functional/certs_controller_test.rb index 7826dd6..503e74b 100644 --- a/certs/test/functional/certs_controller_test.rb +++ b/certs/test/functional/certs_controller_test.rb @@ -2,35 +2,39 @@ require 'test_helper' class CertsControllerTest < ActionController::TestCase - test "send free cert without login" do - cert = stub :to_s => "free cert" - ClientCertificate.expects(:new).with(free: true).returns(cert) - get :show - assert_response :success - assert_equal cert.to_s, @response.body + test "send limited cert without login" do + with_config allow_limited_certs: true, allow_anonymous_certs: true do + cert = stub :to_s => "limited cert" + ClientCertificate.expects(:new).with(:prefix => APP_CONFIG[:limited_cert_prefix]).returns(cert) + get :show + assert_response :success + assert_equal cert.to_s, @response.body + end end - test "send cert" do - login - cert = stub :to_s => "real cert" - ClientCertificate.expects(:new).with(free: false).returns(cert) - get :show - assert_response :success - assert_equal cert.to_s, @response.body + test "send unlimited cert" do + with_config allow_unlimited_certs: true do + login + cert = stub :to_s => "unlimited cert" + ClientCertificate.expects(:new).with(:prefix => APP_CONFIG[:unlimited_cert_prefix]).returns(cert) + get :show + assert_response :success + assert_equal cert.to_s, @response.body + end end - test "login required if free certs disabled" do - with_config free_certs_enabled: false do + test "login required if anonymous certs disabled" do + with_config allow_anonymous_certs: false do get :show assert_response :redirect end end - test "get paid cert if free certs disabled" do - with_config free_certs_enabled: false do + test "send limited cert" do + with_config allow_limited_certs: true, allow_unlimited_certs: false do login cert = stub :to_s => "real cert" - ClientCertificate.expects(:new).with(free: false).returns(cert) + ClientCertificate.expects(:new).with(:prefix => APP_CONFIG[:limited_cert_prefix]).returns(cert) get :show assert_response :success assert_equal cert.to_s, @response.body diff --git a/certs/test/unit/client_certificate_test.rb b/certs/test/unit/client_certificate_test.rb index abb5560..036e724 100644 --- a/certs/test/unit/client_certificate_test.rb +++ b/certs/test/unit/client_certificate_test.rb @@ -9,18 +9,12 @@ class ClientCertificateTest < ActiveSupport::TestCase assert sample.to_s end - test "free cert has configured prefix" do - sample = ClientCertificate.new(free: true) - prefix = APP_CONFIG[:free_cert_prefix] + test "cert has configured prefix" do + prefix = "PREFIX" + sample = ClientCertificate.new(:prefix => 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) |