def test_export_token(self): # Create Authorization auth = self._create_authorization(self.acs, objperm="read") acct = self._create_account_from_authz(auth) verifier = self._create_verifier(self.acs, accounts=[acct]) perms = self._create_permissions_from_authz(auth, v_default=[verifier]) # Test Unapproved self.assertRaises(accesscontrol.AuthorizationNotApproved, auth.export_token) # Approve self.assertTrue(auth.verify()) # Test Approved token = auth.export_token() self.assertIsInstance(token, str) self.assertGreater(len(token), 0) # Test Decode val = utility.decode_auth_token(self.acs.sigkey_pub, token) self.assertIsInstance(val, dict) self.assertGreater(len(val), 0) # Cleanup perms.destroy() verifier.destroy() acct.destroy() auth.destroy()
def encode_decode(priv, pub, accountuid, clientuid, expiration, objperm, objtype, objuid): token = utility.encode_auth_token(priv, accountuid, clientuid, expiration, objperm, objtype, objuid) self.assertIsInstance(token, str) self.assertGreater(len(token), 0) val = utility.decode_auth_token(pub, token) self.assertIsInstance(val, dict) self.assertGreater(len(val), 0) self.assertEqual(val[utility.AUTHZ_KEY_ACCOUNTUID], accountuid) self.assertEqual(val[utility.AUTHZ_KEY_CLIENTUID], clientuid) self.assertEqual(val[utility.AUTHZ_KEY_EXPIRATION], expiration) self.assertEqual(val[utility.AUTHZ_KEY_OBJPERM], objperm) self.assertEqual(val[utility.AUTHZ_KEY_OBJTYPE], objtype) self.assertEqual(val[utility.AUTHZ_KEY_OBJUID], objuid if objuid else None)