From 1eeec0808886e305d5113a20bf6ea5c1921e633b Mon Sep 17 00:00:00 2001 From: Azul Date: Fri, 14 Dec 2012 14:33:04 +0100 Subject: fixed most of the unit tests no idea why the numericality validatoin with greater_than_or_equal 0 does not catch negative numbers --- certs/test/unit/cert_pool_test.rb | 35 +++++++++++++++++----------------- certs/test/unit/cert_test.rb | 40 ++++++++++----------------------------- 2 files changed, 28 insertions(+), 47 deletions(-) (limited to 'certs/test/unit') diff --git a/certs/test/unit/cert_pool_test.rb b/certs/test/unit/cert_pool_test.rb index 24ace57..06f7ce0 100644 --- a/certs/test/unit/cert_pool_test.rb +++ b/certs/test/unit/cert_pool_test.rb @@ -3,49 +3,50 @@ require 'test_helper' class CertPoolTest < ActiveSupport::TestCase setup do - 2.times { Cert.create! } + 2.times { LeapCA::Cert.create(LeapCA::Cert.valid_attributes_hash) } end teardown do - Cert.all.each {|c| c.destroy} + LeapCA::Cert.all.each {|c| c.destroy} end test "picks random sample" do - Cert.create! # with 3 certs chances are pretty low we pick the same one 40 times. + # with 3 certs chances are pretty low we pick the same one 40 times. + LeapCA::Cert.create! LeapCA::Cert.valid_attributes_hash picked = [] - first = Cert.sample.id - current = Cert.sample.id + first = LeapCA::Cert.sample.id + current = LeapCA::Cert.sample.id 40.times do break if current != first - current = Cert.sample.id + current = LeapCA::Cert.sample.id end assert_not_equal current, first end test "picks cert from the pool" do - assert_difference "Cert.count", -1 do - cert = Cert.pick_from_pool + assert_difference "LeapCA::Cert.count", -1 do + cert = LeapCA::Cert.pick_from_pool end end test "err's out if all certs have been destroyed" do - sample = Cert.first.tap{|c| c.destroy} - Cert.all.each {|c| c.destroy} + sample = LeapCA::Cert.first.tap{|c| c.destroy} + LeapCA::Cert.all.each {|c| c.destroy} assert_raises RECORD_NOT_FOUND do - Cert.expects(:sample).returns(sample) - cert = Cert.pick_from_pool + LeapCA::Cert.expects(:sample).returns(sample) + cert = LeapCA::Cert.pick_from_pool end end test "picks other cert if first pick has been destroyed" do - first = Cert.first.tap{|c| c.destroy} - second = Cert.first - Cert.expects(:sample).at_least_once. + first = LeapCA::Cert.first.tap{|c| c.destroy} + second = LeapCA::Cert.first + LeapCA::Cert.expects(:sample).at_least_once. returns(first). then.returns(second) - cert = Cert.pick_from_pool + cert = LeapCA::Cert.pick_from_pool assert_equal second, cert - assert_nil Cert.first + assert_nil LeapCA::Cert.first end end diff --git a/certs/test/unit/cert_test.rb b/certs/test/unit/cert_test.rb index 9362da2..e41edd7 100644 --- a/certs/test/unit/cert_test.rb +++ b/certs/test/unit/cert_test.rb @@ -3,47 +3,27 @@ require 'test_helper' class CertTest < ActiveSupport::TestCase setup do - @sample = Cert.new - @sample.set_random - @sample.attach_zip + @sample = LeapCA::Cert.new LeapCA::Cert.valid_attributes_hash end - test "certs come with attachments" do - assert @sample.has_attachment? "cert.txt" - end - - test "cert.zip_attachment returns couchDB attachment" do - assert_equal "text/plain", @sample.zip_attachment["content_type"] - end - - test "cert.zipped returns the actual data" do - @sample.save # This is required ! - assert lines = @sample.zipped.split("\n") - assert_equal 56, lines.count - assert_equal "-----BEGIN RSA PRIVATE KEY-----", lines.first.chomp - assert_equal "-----END CERTIFICATE-----", lines.last.chomp - end - - test "cert.zipname returns name for the zip file" do - assert_equal "cert.txt", @sample.zipname - end - - test "test data is valid" do + test "stub cert for testing is valid" do assert @sample.valid? end test "validates random" do - @sample.stubs(:set_random) - [0, 1, nil, "asdf"].each do |invalid| + [-1, 1, nil, "asdf"].each do |invalid| @sample.random = invalid assert !@sample.valid?, "#{invalid} should not be a valid value for random" end end - test "validates attachment" do - @sample.stubs(:attach_zip) - @sample.delete_attachment(@sample.zipname) - assert !@sample.valid?, "Cert should require zipped attachment" + test "validates key" do + @sample.key = nil + assert !@sample.valid?, "Cert should require key" end + test "validates cert" do + @sample.cert = nil + assert !@sample.valid?, "Cert should require cert" + end end -- cgit v1.2.3 From a8f5a1ec486d5ee378f7b820c9f2c046e5c03672 Mon Sep 17 00:00:00 2001 From: Azul Date: Mon, 17 Dec 2012 11:07:42 +0100 Subject: adopted test to before_validation callback The before validation hook will overwrite whatever is in random on create. This is what we want - just need to test it properly --- certs/test/unit/cert_test.rb | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'certs/test/unit') diff --git a/certs/test/unit/cert_test.rb b/certs/test/unit/cert_test.rb index e41edd7..0b21d0b 100644 --- a/certs/test/unit/cert_test.rb +++ b/certs/test/unit/cert_test.rb @@ -10,8 +10,18 @@ class CertTest < ActiveSupport::TestCase assert @sample.valid? end + test "setting random on create validation" do + @sample.random = "asdf" + assert @sample.valid? + assert @sample.random.is_a? Float + assert @sample.random >= 0 + assert @sample.random < 1 + end + test "validates random" do - [-1, 1, nil, "asdf"].each do |invalid| + @sample.save # make sure we are past the on_create + assert @sample.valid? + ["asdf", 1, 2, -0.1, nil, "asdf"].each do |invalid| @sample.random = invalid assert !@sample.valid?, "#{invalid} should not be a valid value for random" end -- cgit v1.2.3