Sha256: 67f5e48a750d9a3f3c8922daebfc3bcb22fe94350c7b0c718997af2175f15868

Contents?: true

Size: 1.44 KB

Versions: 4

Compression:

Stored size: 1.44 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"
      expect(Braintree::Digest.hexdigest(private_key, data)).to eq("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"
      expect(Braintree::Digest.hexdigest(private_key, data)).to eq("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
      expect(Braintree::Digest.secure_compare("A_string", "A_string")).to be(true)
    end

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

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

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
braintree-4.18.0 spec/unit/braintree/digest_spec.rb
braintree-4.17.0 spec/unit/braintree/digest_spec.rb
braintree-4.16.0 spec/unit/braintree/digest_spec.rb
braintree-4.15.0 spec/unit/braintree/digest_spec.rb