spec/cert/extensions/key_usage_spec.rb in r509-0.10.0 vs spec/cert/extensions/key_usage_spec.rb in r509-1.0
- old
+ new
@@ -3,49 +3,49 @@
shared_examples_for "a correct R509 KeyUsage object" do |critical|
before :each do
extension_name = "keyUsage"
klass = R509::Cert::Extensions::KeyUsage
ef = OpenSSL::X509::ExtensionFactory.new
- openssl_ext = ef.create_extension( extension_name, @extension_value, critical )
- @r509_ext = klass.new( openssl_ext )
+ openssl_ext = ef.create_extension(extension_name, @extension_value, critical)
+ @r509_ext = klass.new(openssl_ext)
end
it "allowed_uses should be non-nil critical:#{critical}" do
- @r509_ext.allowed_uses.should_not == nil
+ expect(@r509_ext.allowed_uses).not_to be_nil
end
it "allowed_uses should be correct critical:#{critical}" do
- @r509_ext.allowed_uses.should == @allowed_uses
+ expect(@r509_ext.allowed_uses).to eq(@allowed_uses)
end
it "the individual allowed-use functions should be correct critical:#{critical}" do
- @r509_ext.digital_signature?.should == @allowed_uses.include?( R509::Cert::Extensions::KeyUsage::AU_DIGITAL_SIGNATURE )
- @r509_ext.non_repudiation?.should == @allowed_uses.include?( R509::Cert::Extensions::KeyUsage::AU_NON_REPUDIATION )
- @r509_ext.key_encipherment?.should == @allowed_uses.include?( R509::Cert::Extensions::KeyUsage::AU_KEY_ENCIPHERMENT )
- @r509_ext.data_encipherment?.should == @allowed_uses.include?( R509::Cert::Extensions::KeyUsage::AU_DATA_ENCIPHERMENT )
- @r509_ext.key_agreement?.should == @allowed_uses.include?( R509::Cert::Extensions::KeyUsage::AU_KEY_AGREEMENT )
- @r509_ext.key_cert_sign?.should == @allowed_uses.include?( R509::Cert::Extensions::KeyUsage::AU_KEY_CERT_SIGN )
- @r509_ext.crl_sign?.should == @allowed_uses.include?( R509::Cert::Extensions::KeyUsage::AU_CRL_SIGN )
- @r509_ext.encipher_only?.should == @allowed_uses.include?( R509::Cert::Extensions::KeyUsage::AU_ENCIPHER_ONLY )
- @r509_ext.decipher_only?.should == @allowed_uses.include?( R509::Cert::Extensions::KeyUsage::AU_DECIPHER_ONLY )
+ expect(@r509_ext.digital_signature?).to eq(@allowed_uses.include?(R509::Cert::Extensions::KeyUsage::AU_DIGITAL_SIGNATURE))
+ expect(@r509_ext.non_repudiation?).to eq(@allowed_uses.include?(R509::Cert::Extensions::KeyUsage::AU_NON_REPUDIATION))
+ expect(@r509_ext.key_encipherment?).to eq(@allowed_uses.include?(R509::Cert::Extensions::KeyUsage::AU_KEY_ENCIPHERMENT))
+ expect(@r509_ext.data_encipherment?).to eq(@allowed_uses.include?(R509::Cert::Extensions::KeyUsage::AU_DATA_ENCIPHERMENT))
+ expect(@r509_ext.key_agreement?).to eq(@allowed_uses.include?(R509::Cert::Extensions::KeyUsage::AU_KEY_AGREEMENT))
+ expect(@r509_ext.key_cert_sign?).to eq(@allowed_uses.include?(R509::Cert::Extensions::KeyUsage::AU_KEY_CERT_SIGN))
+ expect(@r509_ext.crl_sign?).to eq(@allowed_uses.include?(R509::Cert::Extensions::KeyUsage::AU_CRL_SIGN))
+ expect(@r509_ext.encipher_only?).to eq(@allowed_uses.include?(R509::Cert::Extensions::KeyUsage::AU_ENCIPHER_ONLY))
+ expect(@r509_ext.decipher_only?).to eq(@allowed_uses.include?(R509::Cert::Extensions::KeyUsage::AU_DECIPHER_ONLY))
end
it "the #allows? method should work critical:#{critical}" do
@allowed_uses.each do |au|
- @r509_ext.allows?(au).should == true
+ expect(@r509_ext.allows?(au)).to eq(true)
end
end
it "reports #critical? properly" do
- @r509_ext.critical?.should == critical
+ expect(@r509_ext.critical?).to eq(critical)
end
end
describe R509::Cert::Extensions::KeyUsage do
context "validate key usage" do
it "errors with non-array" do
- expect { R509::Cert::Extensions::KeyUsage.new( 'not an array' ) }.to raise_error(ArgumentError, 'You must pass a hash with a key :value that contains an array of strings (see README)')
+ expect { R509::Cert::Extensions::KeyUsage.new('not an array') }.to raise_error(ArgumentError, 'You must pass a hash with a key :value that contains an array of strings (see README)')
end
it "errors with nil" do
expect { R509::Cert::Extensions::KeyUsage.new(nil) }.to raise_error(ArgumentError, 'You must pass a hash with a key :value that contains an array of strings (see README)')
end
@@ -53,11 +53,11 @@
it "errors with hash with no :value" do
expect { R509::Cert::Extensions::KeyUsage.new({}) }.to raise_error(ArgumentError, 'You must pass a hash with a key :value that contains an array of strings (see README)')
end
it "errors with hash with non-array :value" do
- expect { R509::Cert::Extensions::KeyUsage.new({:value => "string"}) }.to raise_error(ArgumentError, 'You must pass a hash with a key :value that contains an array of strings (see README)')
+ expect { R509::Cert::Extensions::KeyUsage.new(:value => "string") }.to raise_error(ArgumentError, 'You must pass a hash with a key :value that contains an array of strings (see README)')
end
end
context "KeyUsage" do
context "creation & yaml generation" do
@@ -66,104 +66,109 @@
@args = { :value => ['digitalSignature'] }
@ku = R509::Cert::Extensions::KeyUsage.new(@args)
end
it "creates extension" do
- @ku.allowed_uses.should == ['digitalSignature']
+ expect(@ku.allowed_uses).to eq(['digitalSignature'])
end
it "builds yaml" do
- YAML.load(@ku.to_yaml).should == @args.merge(:critical => false)
+ expect(YAML.load(@ku.to_yaml)).to eq(@args.merge(:critical => false))
end
end
-
context "multiple KU" do
before :all do
- @args = { :value => ['digitalSignature','keyAgreement'] }
+ @args = { :value => ['digitalSignature', 'keyAgreement'] }
@ku = R509::Cert::Extensions::KeyUsage.new(@args)
end
it "creates extension" do
- @ku.allowed_uses.should == ['digitalSignature','keyAgreement']
+ expect(@ku.allowed_uses).to eq(['digitalSignature', 'keyAgreement'])
end
it "builds_yaml" do
- YAML.load(@ku.to_yaml).should == @args.merge(:critical => false)
+ expect(YAML.load(@ku.to_yaml)).to eq(@args.merge(:critical => false))
end
end
context "default criticality" do
before :all do
@args = { :value => ['keyAgreement'] }
@ku = R509::Cert::Extensions::KeyUsage.new(@args)
end
it "creates extension" do
- @ku.critical?.should be_false
+ expect(@ku.critical?).to be false
end
it "builds yaml" do
- YAML.load(@ku.to_yaml).should == @args.merge(:critical => false)
+ expect(YAML.load(@ku.to_yaml)).to eq(@args.merge(:critical => false))
end
end
context "non-default criticality" do
before :all do
@args = { :value => ['keyAgreement'], :critical => true }
@ku = R509::Cert::Extensions::KeyUsage.new(@args)
end
it "creates extension" do
- @ku.critical?.should be_true
+ expect(@ku.critical?).to be true
end
it "builds yaml" do
- YAML.load(@ku.to_yaml).should == @args
+ expect(YAML.load(@ku.to_yaml)).to eq(@args)
end
end
end
context "with one allowed use" do
before :all do
- @allowed_uses = [ R509::Cert::Extensions::KeyUsage::AU_DIGITAL_SIGNATURE ]
- @extension_value = @allowed_uses.join( ", " )
+ @allowed_uses = [R509::Cert::Extensions::KeyUsage::AU_DIGITAL_SIGNATURE]
+ @extension_value = @allowed_uses.join(", ")
end
it_should_behave_like "a correct R509 KeyUsage object", false
it_should_behave_like "a correct R509 KeyUsage object", true
end
context "with some allowed uses" do
before :all do
# this spec and the one below alternate the uses
- @allowed_uses = [ R509::Cert::Extensions::KeyUsage::AU_DIGITAL_SIGNATURE, R509::Cert::Extensions::KeyUsage::AU_KEY_ENCIPHERMENT, R509::Cert::Extensions::KeyUsage::AU_KEY_AGREEMENT, R509::Cert::Extensions::KeyUsage::AU_CRL_SIGN, R509::Cert::Extensions::KeyUsage::AU_DECIPHER_ONLY ]
- @extension_value = @allowed_uses.join( ", " )
+ @allowed_uses = [R509::Cert::Extensions::KeyUsage::AU_DIGITAL_SIGNATURE, R509::Cert::Extensions::KeyUsage::AU_KEY_ENCIPHERMENT, R509::Cert::Extensions::KeyUsage::AU_KEY_AGREEMENT, R509::Cert::Extensions::KeyUsage::AU_CRL_SIGN, R509::Cert::Extensions::KeyUsage::AU_DECIPHER_ONLY]
+ @extension_value = @allowed_uses.join(", ")
end
it_should_behave_like "a correct R509 KeyUsage object", false
it_should_behave_like "a correct R509 KeyUsage object", true
end
context "with some different allowed uses" do
before :all do
- @allowed_uses = [ R509::Cert::Extensions::KeyUsage::AU_NON_REPUDIATION, R509::Cert::Extensions::KeyUsage::AU_DATA_ENCIPHERMENT, R509::Cert::Extensions::KeyUsage::AU_KEY_CERT_SIGN, R509::Cert::Extensions::KeyUsage::AU_ENCIPHER_ONLY ]
- @extension_value = @allowed_uses.join( ", " )
+ @allowed_uses = [R509::Cert::Extensions::KeyUsage::AU_NON_REPUDIATION, R509::Cert::Extensions::KeyUsage::AU_DATA_ENCIPHERMENT, R509::Cert::Extensions::KeyUsage::AU_KEY_CERT_SIGN, R509::Cert::Extensions::KeyUsage::AU_ENCIPHER_ONLY]
+ @extension_value = @allowed_uses.join(", ")
end
it_should_behave_like "a correct R509 KeyUsage object", false
it_should_behave_like "a correct R509 KeyUsage object", true
end
context "with all allowed uses" do
before :all do
- @allowed_uses = [ R509::Cert::Extensions::KeyUsage::AU_DIGITAL_SIGNATURE, R509::Cert::Extensions::KeyUsage::AU_NON_REPUDIATION,
- R509::Cert::Extensions::KeyUsage::AU_KEY_ENCIPHERMENT, R509::Cert::Extensions::KeyUsage::AU_DATA_ENCIPHERMENT,
- R509::Cert::Extensions::KeyUsage::AU_KEY_AGREEMENT, R509::Cert::Extensions::KeyUsage::AU_KEY_CERT_SIGN,
- R509::Cert::Extensions::KeyUsage::AU_CRL_SIGN, R509::Cert::Extensions::KeyUsage::AU_ENCIPHER_ONLY,
- R509::Cert::Extensions::KeyUsage::AU_DECIPHER_ONLY ]
- @extension_value = @allowed_uses.join( ", " )
+ @allowed_uses = [
+ R509::Cert::Extensions::KeyUsage::AU_DIGITAL_SIGNATURE,
+ R509::Cert::Extensions::KeyUsage::AU_NON_REPUDIATION,
+ R509::Cert::Extensions::KeyUsage::AU_KEY_ENCIPHERMENT,
+ R509::Cert::Extensions::KeyUsage::AU_DATA_ENCIPHERMENT,
+ R509::Cert::Extensions::KeyUsage::AU_KEY_AGREEMENT,
+ R509::Cert::Extensions::KeyUsage::AU_KEY_CERT_SIGN,
+ R509::Cert::Extensions::KeyUsage::AU_CRL_SIGN,
+ R509::Cert::Extensions::KeyUsage::AU_ENCIPHER_ONLY,
+ R509::Cert::Extensions::KeyUsage::AU_DECIPHER_ONLY
+ ]
+ @extension_value = @allowed_uses.join(", ")
end
it_should_behave_like "a correct R509 KeyUsage object", false
it_should_behave_like "a correct R509 KeyUsage object", true
end