]> git.immae.eu Git - github/fretlink/hmacaroons.git/blobdiff - test/Crypto/Macaroon/Tests.hs
Add quickchecked serialization properties
[github/fretlink/hmacaroons.git] / test / Crypto / Macaroon / Tests.hs
index 244ec50418f9b7fb751eec139cd0d50ab3a83760..25d77c88cf8b7736dff37e7aea086a5bcc3d3cac 100644 (file)
@@ -23,8 +23,6 @@ import           Crypto.Macaroon.Serializer.Base64
 tests :: TestTree
 tests = testGroup "Crypto.Macaroon" [ basic
                                     , minted
-                                    , minted2
-                                    -- , minted3
                                     ]
 
 
@@ -36,29 +34,24 @@ m = create secret key loc
     loc = B8.pack "http://mybank/"
 
 basic :: TestTree
-basic = testGroup "Basic macaroon" [ basicSignature
-                                   , basicSerialize
-                                   , basicDeserialize
+basic = testGroup "Basic macaroon" [ basicInspect
+                                   , basicSignature
                                    ]
 
+basicInspect = testCase "Inspect" $
+    "location http://mybank/\nidentifier we used\
+    \ our secret key\n\nsignature E3D9E02908526C4C\
+    \0039AE15114115D97FDD68BF2BA379B342AAF0F617D0552F" @=? inspect m
+
 basicSignature = testCase "Signature" $
     "E3D9E02908526C4C0039AE15114115D97FDD68BF2BA379B342AAF0F617D0552F" @=? (hex . signature) m
 
-basicSerialize = testCase "Serialization" $
-    "MDAxY2xvY2F0aW9uIGh0dHA6Ly9teWJhbmsvCjAwMjZpZGVudG\
-    \lmaWVyIHdlIHVzZWQgb3VyIHNlY3JldCBrZXkKMDAyZnNpZ25h\
-    \dHVyZSDj2eApCFJsTAA5rhURQRXZf91ovyujebNCqvD2F9BVLwo" @=? serialize m
-
-basicDeserialize = testCase "Deserialization" $
-    Right m @=? (deserialize . serialize) m
-
 m2 :: Macaroon
 m2 = addFirstPartyCaveat "test = caveat" m
 
 minted :: TestTree
 minted = testGroup "Macaroon with first party caveat" [ mintInspect
-                                                      , mintSerialize
-                                                      , mintDeserialize
+                                                      , mintSignature
                                                       ]
 
 mintInspect = testCase "Inspect" $
@@ -68,30 +61,8 @@ mintInspect = testCase "Inspect" $
     \3BDD668A660E44D88CE1A998C23DBD67" @=? inspect m2
 
 
-mintSerialize = testCase "Serialization" $
-    "MDAxY2xvY2F0aW9uIGh0dHA6Ly9teWJhbmsvCjAwMjZpZGVudGlmaWVyIHdlIHVzZ\
-    \WQgb3VyIHNlY3JldCBrZXkKMDAxNmNpZCB0ZXN0ID0gY2F2ZWF0CjAwMmZzaWduYXR1cmUgGXusegR\
-    \K8zMyhluSZuJtSTvdZopmDkTYjOGpmMI9vWcK" @=? serialize m2
-
-mintDeserialize = testCase "Deserialization" $
-    Right m2 @=? (deserialize . serialize) m2
-
-
-m3 :: Macaroon
-m3 = addFirstPartyCaveat "test = acaveat" m
-
-minted2 :: TestTree
-minted2 = testGroup "Macaroon with first party caveats" [ mint2Trimmed
-                                                        , mint2Des
-                                                        ]
-
-mint2Trimmed = testCase "Serialization" $
-    "MDAxY2xvY2F0aW9uIGh0dHA6Ly9teWJhbmsvCjAwMjZpZGVudGlmaWVyIHdlIHVz\
-    \ZWQgb3VyIHNlY3JldCBrZXkKMDAxN2NpZCB0ZXN0ID0gYWNhdmVhdAowMDJmc2ln\
-    \bmF0dXJlIJRJ_V3WNJQnqlVq5eez7spnltwU_AXs8NIRY739sHooCg" @=? serialize m3
-
-mint2Des = testCase "Deserialization" $
-    Right m3 @=? (deserialize . serialize) m3
+mintSignature = testCase "Signature" $
+    "197BAC7A044AF33332865B9266E26D493BDD668A660E44D88CE1A998C23DBD67" @=? (hex . signature) m2
 
 -- m4 :: Macaroon
 -- m4 = addThirdPartyCaveat caveat_key caveat_id caveat_loc n