diff options
Diffstat (limited to 'spec/helpers_spec.cr')
| -rw-r--r-- | spec/helpers_spec.cr | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/spec/helpers_spec.cr b/spec/helpers_spec.cr index 307e52d2..215ffc76 100644 --- a/spec/helpers_spec.cr +++ b/spec/helpers_spec.cr @@ -1,4 +1,5 @@ require "kemal" +require "openssl/hmac" require "pg" require "spec" require "yaml" @@ -81,4 +82,27 @@ describe "Helpers" do produce_comment_reply_continuation("_cE8xSu6swE", "UC1AZY74-dGVPe6bfxFwwEMg", "UgyBUaRGHB9Jmt1dsUZ4AaABAg").should eq("EiYSC19jRTh4U3U2c3dFwAEByAEB4AEBogINKP___________wFAABgGMk0aSxIaVWd5QlVhUkdIQjlKbXQxZHNVWjRBYUFCQWciAggAKhhVQzFBWlk3NC1kR1ZQZTZiZnhGd3dFTWcyC19jRTh4U3U2c3dFQAFICg%3D%3D") end end + + describe "#sign_token" do + it "correctly signs a given hash" do + token = { + "session" => "v1:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "expires" => 1554680038, + "scopes" => [ + ":notifications", + ":subscriptions/*", + "GET:tokens*", + ], + "signature" => "f//2hS20th8pALF305PJFK+D2aVtvefNnQheILHD2vU=", + } + sign_token("SECRET_KEY", token).should eq(token["signature"]) + + token = { + "session" => "v1:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "scopes" => [":notifications", "POST:subscriptions/*"], + "signature" => "fNvXoT0MRAL9eE6lTE33CEg8HitYJDOL9a22rSN2Ihg=", + } + sign_token("SECRET_KEY", token).should eq(token["signature"]) + end + end end |
