def test_encode(self, base64, json): resource = 'r123' expiration = 10 policy = Policy(resource, expiration) policy.extensions = {'remote_ip': '10.1.1.1'} encoded = policy.encode() json.encode.assert_called_once_with( { Policy.RESOURCE: policy.resource, Policy.EXPIRATION: policy.expiration, Policy.EXTENSIONS: policy.extensions }) base64.encode.assert_called_once_with(json.encode.return_value) self.assertEqual(encoded, base64.encode.return_value)