@@ -22,11 +22,38 @@ class TestToken(unittest.TestCase):
22
22
def test_put_policy (self ):
23
23
policy = rs .PutPolicy (bucket_name )
24
24
policy .endUser = "hello!"
25
+ policy .returnUrl = "http://localhost:1234/path?query=hello"
26
+ policy .returnBody = "$(sha1)"
27
+ # Do not specify the returnUrl and callbackUrl at the same time
28
+ policy .callbackUrl = "http://1.2.3.4/callback"
29
+ policy .callbackBody = "$(bucket)"
30
+
31
+ policy .saveKey = "$(sha1)"
32
+ policy .insertOnly = 1
33
+ policy .detectMime = 1
34
+ policy .fsizeLimit = 1024
35
+ policy .persistentNotifyUrl = "http://4.3.2.1/persistentNotifyUrl"
36
+ policy .persistentOps = "avthumb/flash"
37
+
25
38
tokens = policy .token ().split (':' )
39
+
40
+ # chcek first part of token
26
41
self .assertEqual (conf .ACCESS_KEY , tokens [0 ])
27
42
data = json .loads (decode (tokens [2 ]))
43
+
44
+ # check if same
28
45
self .assertEqual (data ["scope" ], bucket_name )
29
46
self .assertEqual (data ["endUser" ], policy .endUser )
47
+ self .assertEqual (data ["returnUrl" ], policy .returnUrl )
48
+ self .assertEqual (data ["returnBody" ], policy .returnBody )
49
+ self .assertEqual (data ["callbackUrl" ], policy .callbackUrl )
50
+ self .assertEqual (data ["callbackBody" ], policy .callbackBody )
51
+ self .assertEqual (data ["saveKey" ], policy .saveKey )
52
+ self .assertEqual (data ["exclusive" ], policy .insertOnly )
53
+ self .assertEqual (data ["detectMime" ], policy .detectMime )
54
+ self .assertEqual (data ["fsizeLimit" ], policy .fsizeLimit )
55
+ self .assertEqual (data ["persistentNotifyUrl" ], policy .persistentNotifyUrl )
56
+ self .assertEqual (data ["persistentOps" ], policy .persistentOps )
30
57
31
58
new_hmac = encode (hmac .new (conf .SECRET_KEY , tokens [2 ], sha1 ).digest ())
32
59
self .assertEqual (new_hmac , tokens [1 ])
0 commit comments