aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/tests.hs
diff options
context:
space:
mode:
authorJulien Tanguy <julien.tanguy@jhome.fr>2015-04-15 11:27:54 +0200
committerJulien Tanguy <julien.tanguy@jhome.fr>2015-04-15 11:27:54 +0200
commit46af385cc6f7c7e378ef7866a3da4ad9fb6e941c (patch)
tree1e78ef559d84875cb377ae2ff148d13cf35f0f1a /test/tests.hs
parentb1f77d7e6dcf03dd20c36e1a10429e1b2b9900b1 (diff)
downloadhmacaroons-46af385cc6f7c7e378ef7866a3da4ad9fb6e941c.tar.gz
hmacaroons-46af385cc6f7c7e378ef7866a3da4ad9fb6e941c.tar.zst
hmacaroons-46af385cc6f7c7e378ef7866a3da4ad9fb6e941c.zip
Extract sanity check
Diffstat (limited to 'test/tests.hs')
-rw-r--r--test/tests.hs68
1 files changed, 0 insertions, 68 deletions
diff --git a/test/tests.hs b/test/tests.hs
deleted file mode 100644
index 85564f0..0000000
--- a/test/tests.hs
+++ /dev/null
@@ -1,68 +0,0 @@
1{-#LANGUAGE OverloadedStrings#-}
2
3import Crypto.Hash
4import Data.ByteString (ByteString)
5import qualified Data.ByteString as B
6import Data.Hex
7import Data.Byteable
8
9import Test.Tasty
10import Test.Tasty.HUnit
11
12import qualified Crypto.Macaroon.Tests
13import qualified Crypto.Macaroon.Serializer.Base64.Tests
14
15main = defaultMain tests
16
17tests :: TestTree
18tests = testGroup "Tests" [ sanityCheck
19 , Crypto.Macaroon.Tests.tests
20 , Crypto.Macaroon.Serializer.Base64.Tests.tests
21 ]
22
23sanityCheck :: TestTree
24sanityCheck = testGroup "Python HMAC Sanity check" [ checkKey
25 , checkMac1
26 , checkMac2
27 , checkMac3
28 , checkMac4
29 ]
30
31
32secret :: ByteString
33secret = "this is our super secret key; only we should know it"
34
35public :: ByteString
36public = "we used our secret key"
37
38key :: ByteString
39key = B.take 32 secret
40
41mac1 :: ByteString
42mac1 = toBytes $ (hmac key public :: HMAC SHA256)
43
44mac2 :: ByteString
45mac2 = toBytes $ (hmac mac1 "account = 3735928559" :: HMAC SHA256)
46
47mac3 :: ByteString
48mac3 = toBytes $ (hmac mac2 "time < 2015-01-01T00:00" :: HMAC SHA256)
49
50mac4 :: ByteString
51mac4 = toBytes $ (hmac mac3 "email = alice@example.org" :: HMAC SHA256)
52
53
54checkKey = testCase "Truncated key" $
55 key @?= "this is our super secret key; on"
56
57checkMac1 = testCase "HMAC key" $
58 "C60B4B3540BB1B2F2EF28D1C895691CC4A5E07A38A9D3B1C3379FB485293372F" @=? hex mac1
59
60checkMac2 = testCase "HMAC key account" $
61 "5C933DC9A7D036DFCD1740B4F26D737397A1FF635EAC900F3226973503CAAAA5" @=? hex mac2
62
63checkMac3 = testCase "HMAC key account time" $
64 "7A559B20C8B607009EBCE138C200585E9D0DECA6D23B3EAD6C5E0BA6861D3858" @=? hex mac3
65
66checkMac4 = testCase "HMAC key account time email" $
67 "E42BBB02A9A5A303483CB6295C497AE51AD1D5CB10003CBE548D907E7E62F5E4" @=? hex mac4
68