|
@@ -214,25 +214,24 @@ class SessionTest < Test::Unit::TestCase
|
|
|
end
|
|
|
|
|
|
test "return true when the signature is valid and the keys of params are strings" do
|
|
|
- params = {"code" => "any-code", "timestamp" => Time.now}
|
|
|
- params["hmac"] = generate_signature(params)
|
|
|
+ params = { 'code' => 'any-code', 'timestamp' => Time.now }
|
|
|
+ params[:hmac] = generate_signature(params)
|
|
|
assert_equal true, ShopifyAPI::Session.validate_signature(params)
|
|
|
end
|
|
|
|
|
|
test "return true when validating signature of params with ampersand and equal sign characters" do
|
|
|
ShopifyAPI::Session.secret = 'secret'
|
|
|
- params = {'a' => '1&b=2', 'c=3&d' => '4'}
|
|
|
- to_sign = "a=1%26b=2&c%3D3%26d=4"
|
|
|
- params['hmac'] = generate_signature(to_sign)
|
|
|
-
|
|
|
+ params = { 'a' => '1&b=2', 'c=3&d' => '4' }
|
|
|
+ to_sign = 'a=1%26b=2&c%3D3%26d=4'
|
|
|
+ params[:hmac] = generate_signature(to_sign)
|
|
|
assert_equal true, ShopifyAPI::Session.validate_signature(params)
|
|
|
end
|
|
|
|
|
|
test "return true when validating signature of params with percent sign characters" do
|
|
|
ShopifyAPI::Session.secret = 'secret'
|
|
|
- params = {'a%3D1%26b' => '2%26c%3D3'}
|
|
|
- to_sign = "a%253D1%2526b=2%2526c%253D3"
|
|
|
- params['hmac'] = generate_signature(to_sign)
|
|
|
+ params = { 'a%3D1%26b' => '2%26c%3D3' }
|
|
|
+ to_sign = 'a%253D1%2526b=2%2526c%253D3'
|
|
|
+ params[:hmac] = generate_signature(to_sign)
|
|
|
|
|
|
assert_equal true, ShopifyAPI::Session.validate_signature(params)
|
|
|
end
|
|
@@ -240,7 +239,9 @@ class SessionTest < Test::Unit::TestCase
|
|
|
private
|
|
|
|
|
|
def make_sorted_params(params)
|
|
|
- sorted_params = params.with_indifferent_access.except(:signature, :hmac, :action, :controller).collect{|k,v|"#{k}=#{v}"}.sort.join('&')
|
|
|
+ params.with_indifferent_access.except(
|
|
|
+ :signature, :hmac, :action, :controller
|
|
|
+ ).collect { |k, v| "#{k}=#{v}" }.sort.join('&')
|
|
|
end
|
|
|
|
|
|
def generate_signature(params)
|