def test__to_json_to_serialize(self):
credentials = client.Credentials()
to_serialize = {
'foo': b'bar',
'baz': u'quux',
'st': set(['a', 'b']),
}
orig_vals = to_serialize.copy()
json_payload = credentials._to_json([], to_serialize=to_serialize)
# str(bytes) in Python2 and str(unicode) in Python3
self.assertIsInstance(json_payload, str)
payload = json.loads(json_payload)
expected_payload = {
'_class': client.Credentials.__name__,
'_module': client.Credentials.__module__,
'token_expiry': None,
}
expected_payload.update(to_serialize)
# Special-case the set.
expected_payload['st'] = list(expected_payload['st'])
# Special-case the bytes.
expected_payload['foo'] = u'bar'
self.assertEqual(payload, expected_payload)
# Make sure the method call didn't modify our dictionary.
self.assertEqual(to_serialize, orig_vals)
评论列表
文章目录