spec/keen/scoped_key_spec.rb in keen-0.9.0 vs spec/keen/scoped_key_spec.rb in keen-0.9.1
- old
+ new
@@ -27,9 +27,27 @@
encrypted_str = new_scoped_key.encrypt!
other_api_key = Keen::ScopedKey.decrypt!(api_key, encrypted_str)
other_api_key.data.should == data
end
+ describe "when an IV is not provided" do
+ it "should not produce the same encrypted key text" do
+ new_scoped_key.encrypt!.should_not == (new_scoped_key.encrypt!)
+ end
+ end
+
+ describe "when an IV is provided" do
+ it "should produce the same encrypted key text for a " do
+ iv = "\0" * 32
+ new_scoped_key.encrypt!(iv).should == (new_scoped_key.encrypt!(iv))
+ end
+
+ it "should raise error when an invalid IV is supplied" do
+ iv = "fakeiv"
+ expect { new_scoped_key.encrypt!(iv) }.to raise_error(OpenSSL::Cipher::CipherError)
+ end
+ end
+
it "should not decrypt the scoped key with a bad api key" do
encrypted_str = new_scoped_key.encrypt!
expect {
other_api_key = Keen::ScopedKey.decrypt!(bad_api_key, encrypted_str)
}.to raise_error(OpenSSL::Cipher::CipherError)