From d99bcf4b0d0b8716ab0da58ea7320fb33bac78bb Mon Sep 17 00:00:00 2001 From: Azul Date: Mon, 25 Feb 2013 13:01:07 +0100 Subject: enable free certs with a common name postfix --- certs/test/functional/certs_controller_test.rb | 8 ++++---- certs/test/unit/client_certificate_test.rb | 23 +++++++++++++++++------ 2 files changed, 21 insertions(+), 10 deletions(-) (limited to 'certs/test') diff --git a/certs/test/functional/certs_controller_test.rb b/certs/test/functional/certs_controller_test.rb index 6ebd08e..a579a00 100644 --- a/certs/test/functional/certs_controller_test.rb +++ b/certs/test/functional/certs_controller_test.rb @@ -5,19 +5,19 @@ class CertsControllerTest < ActionController::TestCase end test "should send free cert without login" do - cert = stub :cert => "free cert", :key => "key" + cert = stub :to_s => "free cert" ClientCertificate.expects(:new).with(free: true).returns(cert) get :show assert_response :success - assert_equal cert.key + cert.cert, @response.body + assert_equal cert.to_s, @response.body end test "should send cert" do login - cert = stub :cert => "adsf", :key => "key" + cert = stub :to_s => "real cert" ClientCertificate.expects(:new).with(free: false).returns(cert) get :show assert_response :success - assert_equal cert.key + cert.cert, @response.body + assert_equal cert.to_s, @response.body end end diff --git a/certs/test/unit/client_certificate_test.rb b/certs/test/unit/client_certificate_test.rb index 71a1d90..bcc61cc 100644 --- a/certs/test/unit/client_certificate_test.rb +++ b/certs/test/unit/client_certificate_test.rb @@ -2,17 +2,28 @@ require 'test_helper' class ClientCertificateTest < ActiveSupport::TestCase - setup do - @sample = ClientCertificate.new + test "new cert has all we need" do + sample = ClientCertificate.new + assert sample.key + assert sample.cert + assert sample.to_s end - test "new cert has all we need" do - assert @sample.key - assert @sample.cert + test "free cert has configured postfix" do + sample = ClientCertificate.new(free: true) + postfix = APP_CONFIG[:free_cert_postfix] + assert sample.cert.subject.common_name.include?(postfix) + end + + test "real cert has no free cert postfix" do + sample = ClientCertificate.new + postfix = APP_CONFIG[:free_cert_postfix] + assert !sample.cert.subject.common_name.include?(postfix) end test "cert issuer matches ca subject" do - cert = OpenSSL::X509::Certificate.new(@sample.cert) + sample = ClientCertificate.new + cert = OpenSSL::X509::Certificate.new(sample.cert.to_pem) assert_equal ClientCertificate.root_ca.openssl_body.subject, cert.issuer end -- cgit v1.2.3