Sha256: fc16ff189d9a459ccc3f2b97810af16179b283f1bc335856c64c9c29ea61525f

Contents?: true

Size: 1.42 KB

Versions: 90

Compression:

Stored size: 1.42 KB

Contents

require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")

describe Braintree::Digest do
  describe "self.hexdigest" do
    it "returns the sha1 hmac of the input string (test case 6 from RFC 2202)" do
      original_key = Braintree::Configuration.private_key
      private_key = "\xaa" * 80
      data = "Test Using Larger Than Block-Size Key - Hash Key First"
      Braintree::Digest.hexdigest(private_key, data).should == "aa4ae5e15272d00e95705637ce8a3b55ed402112"
    end

    it "returns the sha1 hmac of the input string (test case 7 from RFC 2202)" do
      private_key = "\xaa" * 80
      data = "Test Using Larger Than Block-Size Key and Larger Than One Block-Size Data"
      Braintree::Digest.hexdigest(private_key, data).should == "e8e99d0f45237d786d6bbaa7965c7808bbff1a91"
    end

    it "doesn't blow up if message is nil" do
      expect { Braintree::Digest.hexdigest("key", nil) }.to_not raise_error
    end
  end

  describe "self.secure_compare" do
    it "returns true if two strings are equal" do
      Braintree::Digest.secure_compare("A_string", "A_string").should be(true)
    end

    it "returns false if two strings are different and the same length" do
      Braintree::Digest.secure_compare("A_string", "A_strong").should be(false)
    end

    it "returns false if one is a prefix of the other" do
      Braintree::Digest.secure_compare("A_string", "A_string_that_is_longer").should be(false)
    end
  end
end

Version data entries

90 entries across 90 versions & 1 rubygems

Version Path
braintree-4.14.0 spec/unit/braintree/digest_spec.rb
braintree-4.13.0 spec/unit/braintree/digest_spec.rb
braintree-4.12.0 spec/unit/braintree/digest_spec.rb
braintree-4.11.0 spec/unit/braintree/digest_spec.rb
braintree-4.10.0 spec/unit/braintree/digest_spec.rb
braintree-4.9.0 spec/unit/braintree/digest_spec.rb
braintree-4.8.0 spec/unit/braintree/digest_spec.rb
braintree-4.7.0 spec/unit/braintree/digest_spec.rb
braintree-4.6.0 spec/unit/braintree/digest_spec.rb
braintree-4.5.0 spec/unit/braintree/digest_spec.rb
braintree-4.4.0 spec/unit/braintree/digest_spec.rb
braintree-4.3.0 spec/unit/braintree/digest_spec.rb
braintree-4.2.0 spec/unit/braintree/digest_spec.rb
braintree-4.1.0 spec/unit/braintree/digest_spec.rb
braintree-4.0.0 spec/unit/braintree/digest_spec.rb
braintree-3.4.0 spec/unit/braintree/digest_spec.rb
braintree-3.3.0 spec/unit/braintree/digest_spec.rb
braintree-3.2.0 spec/unit/braintree/digest_spec.rb
braintree-3.1.0 spec/unit/braintree/digest_spec.rb
braintree-3.0.1 spec/unit/braintree/digest_spec.rb