コード例 #1
0
ファイル: tokens_test.py プロジェクト: misscache/luci-py
 def test_simple(self):
     # Test case: (version, message, embedded).
     cases = (
         (1, [], {}),
         (255, [], {}),
         (1, ["Hello"], {}),
         (1, [], {"a": "b"}),
         (1, ["", "some", "more"], {"a": "b", "_i": "d"}),
     )
     for version, message, embedded in cases:
         tok = tokens.encode_token(self.algo, version, "secret", message, embedded)
         self.assertTrue(URL_SAFE_ALPHABET.issuperset(tok))
         decoded_version, decoded_embedded = tokens.decode_token(self.algo, tok, ["secret"], message)
         self.assertEqual(version, decoded_version)
         self.assertEqual(embedded, decoded_embedded)
コード例 #2
0
 def test_simple(self):
   # Test case: (version, message, embedded).
   cases = (
     (1, [], {}),
     (255, [], {}),
     (1, ['Hello'], {}),
     (1, [], {'a': 'b'}),
     (1, ['', 'some', 'more'], {'a': 'b', '_i': 'd'}),
   )
   for version, message, embedded in cases:
     tok = tokens.encode_token(self.algo, version, 'secret', message, embedded)
     self.assertTrue(URL_SAFE_ALPHABET.issuperset(tok))
     decoded_version, decoded_embedded = tokens.decode_token(
         self.algo, tok, ['secret'], message)
     self.assertEqual(version, decoded_version)
     self.assertEqual(embedded, decoded_embedded)
コード例 #3
0
ファイル: tokens_test.py プロジェクト: rmistry/luci-py
 def test_simple(self):
   # Test case: (version, message, embedded).
   cases = (
     (1, [], {}),
     (255, [], {}),
     (1, ['Hello'], {}),
     (1, [], {'a': 'b'}),
     (1, ['', 'some', 'more'], {'a': 'b', '_i': 'd'}),
   )
   for version, message, embedded in cases:
     tok = tokens.encode_token(self.algo, version, 'secret', message, embedded)
     self.assertTrue(URL_SAFE_ALPHABET.issuperset(tok))
     decoded_version, decoded_embedded = tokens.decode_token(
         self.algo, tok, ['secret'], message)
     self.assertEqual(version, decoded_version)
     self.assertEqual(embedded, decoded_embedded)
コード例 #4
0
 def test_rejects_modified(self):
   tok = tokens.encode_token(self.algo, 1, 'secret', ['msg'], {'a': 'b'})
   decode = lambda x: tokens.decode_token(self.algo, x, ['secret'], ['msg'])
   # Works if not modified.
   decode(tok)
   # Try simple modifications.
   for i in xrange(len(tok)):
     # Truncation.
     with self.assertRaises(tokens.InvalidTokenError):
       decode(tok[:i])
     # Insertion.
     with self.assertRaises(tokens.InvalidTokenError):
       decode(tok[:i] + 'A' + tok[i:])
     # Substitution.
     with self.assertRaises(tokens.InvalidTokenError):
       decode(tok[:i] + chr((ord(tok[i]) + 1) % 255) + tok[i+1:])
   # Expansion.
   with self.assertRaises(tokens.InvalidTokenError):
     decode('A' + tok)
   with self.assertRaises(tokens.InvalidTokenError):
     decode(tok + 'A')
コード例 #5
0
ファイル: tokens_test.py プロジェクト: rmistry/luci-py
 def test_rejects_modified(self):
   tok = tokens.encode_token(self.algo, 1, 'secret', ['msg'], {'a': 'b'})
   decode = lambda x: tokens.decode_token(self.algo, x, ['secret'], ['msg'])
   # Works if not modified.
   decode(tok)
   # Try simple modifications.
   for i in xrange(len(tok)):
     # Truncation.
     with self.assertRaises(tokens.InvalidTokenError):
       decode(tok[:i])
     # Insertion.
     with self.assertRaises(tokens.InvalidTokenError):
       decode(tok[:i] + 'A' + tok[i:])
     # Substitution.
     with self.assertRaises(tokens.InvalidTokenError):
       decode(tok[:i] + chr((ord(tok[i]) + 1) % 255) + tok[i+1:])
   # Expansion.
   with self.assertRaises(tokens.InvalidTokenError):
     decode('A' + tok)
   with self.assertRaises(tokens.InvalidTokenError):
     decode(tok + 'A')
コード例 #6
0
ファイル: tokens_test.py プロジェクト: misscache/luci-py
 def test_rejects_modified(self):
     tok = tokens.encode_token(self.algo, 1, "secret", ["msg"], {"a": "b"})
     decode = lambda x: tokens.decode_token(self.algo, x, ["secret"], ["msg"])
     # Works if not modified.
     decode(tok)
     # Try simple modifications.
     for i in xrange(len(tok)):
         # Truncation.
         with self.assertRaises(tokens.InvalidTokenError):
             decode(tok[:i])
         # Insertion.
         with self.assertRaises(tokens.InvalidTokenError):
             decode(tok[:i] + "A" + tok[i:])
         # Substitution.
         with self.assertRaises(tokens.InvalidTokenError):
             decode(tok[:i] + chr((ord(tok[i]) + 1) % 255) + tok[i + 1 :])
     # Expansion.
     with self.assertRaises(tokens.InvalidTokenError):
         decode("A" + tok)
     with self.assertRaises(tokens.InvalidTokenError):
         decode(tok + "A")
コード例 #7
0
ファイル: tokens_test.py プロジェクト: onecityuni/luci-py
 def test_bad_secret(self):
     tok = tokens.encode_token(self.algo, 1, 'ancient', ['msg'], {'a': 'b'})
     with self.assertRaises(tokens.InvalidTokenError):
         tokens.decode_token(self.algo, tok, ['new', 'old'], ['msg'])
コード例 #8
0
ファイル: tokens_test.py プロジェクト: onecityuni/luci-py
 def test_many_secrets(self):
     tok = tokens.encode_token(self.algo, 1, 'old', ['msg'], {'a': 'b'})
     self.assertEqual((1, {
         'a': 'b'
     }), tokens.decode_token(self.algo, tok, ['new', 'old'], ['msg']))
コード例 #9
0
ファイル: tokens_test.py プロジェクト: rmistry/luci-py
 def test_bad_secret(self):
   tok = tokens.encode_token(self.algo, 1, 'ancient', ['msg'], {'a': 'b'})
   with self.assertRaises(tokens.InvalidTokenError):
     tokens.decode_token(self.algo, tok, ['new', 'old'], ['msg'])
コード例 #10
0
ファイル: tokens_test.py プロジェクト: rmistry/luci-py
 def test_many_secrets(self):
   tok = tokens.encode_token(self.algo, 1, 'old', ['msg'], {'a': 'b'})
   self.assertEqual(
       (1, {'a': 'b'}),
       tokens.decode_token(self.algo, tok, ['new', 'old'], ['msg']))
コード例 #11
0
ファイル: tokens_test.py プロジェクト: misscache/luci-py
 def test_bad_secret(self):
     tok = tokens.encode_token(self.algo, 1, "ancient", ["msg"], {"a": "b"})
     with self.assertRaises(tokens.InvalidTokenError):
         tokens.decode_token(self.algo, tok, ["new", "old"], ["msg"])
コード例 #12
0
ファイル: tokens_test.py プロジェクト: misscache/luci-py
 def test_many_secrets(self):
     tok = tokens.encode_token(self.algo, 1, "old", ["msg"], {"a": "b"})
     self.assertEqual((1, {"a": "b"}), tokens.decode_token(self.algo, tok, ["new", "old"], ["msg"]))