test/test_parse.rb in rest-graph-1.4.0 vs test/test_parse.rb in rest-graph-1.4.1

- old
+ new

@@ -66,6 +66,25 @@ rg = RestGraph.new(:secret => 'bread') rg.parse_json!('{"feed":"me","sig":"20393e7823730308938a86ecf1c88b14"}'). should == {'feed' => 'me', 'sig' => "20393e7823730308938a86ecf1c88b14"} end + it 'would parse signed_request' do + secret = 'aloha' + json = {'ooh' => 'dir', 'moo' => 'bar'}.to_json + encode = lambda{ |str| + [str].pack('m').tr("\n=", '').tr('+/', '-_') + } + json_encoded = encode[json] + sig = OpenSSL::HMAC.digest('sha256', secret, json_encoded) + signed_request = "#{encode[sig]}.#{json_encoded}" + + rg = RestGraph.new(:secret => secret) + rg.parse_signed_request!(signed_request) + rg.data['ooh'].should == 'dir' + rg.data['moo'].should == 'bar' + + signed_request = "#{encode[sig[0..-4]+'bad']}.#{json_encoded}" + rg.parse_signed_request!(signed_request).should == nil + end + end