Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1765)

Unified Diff: tools/telemetry/third_party/gsutil/third_party/apitools/apitools/base/py/extra_types_test.py

Issue 1260493004: Revert "Add gsutil 4.13 to telemetry/third_party" (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tools/telemetry/third_party/gsutil/third_party/apitools/apitools/base/py/extra_types_test.py
diff --git a/tools/telemetry/third_party/gsutil/third_party/apitools/apitools/base/py/extra_types_test.py b/tools/telemetry/third_party/gsutil/third_party/apitools/apitools/base/py/extra_types_test.py
deleted file mode 100644
index d2fd5b07b06398e092ad81b1f4749d24afceb389..0000000000000000000000000000000000000000
--- a/tools/telemetry/third_party/gsutil/third_party/apitools/apitools/base/py/extra_types_test.py
+++ /dev/null
@@ -1,174 +0,0 @@
-import datetime
-import json
-import math
-
-from protorpc import messages
-import unittest2
-
-from apitools.base.py import encoding
-from apitools.base.py import exceptions
-from apitools.base.py import extra_types
-
-
-class ExtraTypesTest(unittest2.TestCase):
-
- def assertRoundTrip(self, value):
- if isinstance(value, extra_types._JSON_PROTO_TYPES):
- self.assertEqual(
- value,
- extra_types._PythonValueToJsonProto(
- extra_types._JsonProtoToPythonValue(value)))
- else:
- self.assertEqual(
- value,
- extra_types._JsonProtoToPythonValue(
- extra_types._PythonValueToJsonProto(value)))
-
- def assertTranslations(self, py_value, json_proto):
- self.assertEqual(
- py_value, extra_types._JsonProtoToPythonValue(json_proto))
- self.assertEqual(
- json_proto, extra_types._PythonValueToJsonProto(py_value))
-
- def testInvalidProtos(self):
- with self.assertRaises(exceptions.InvalidDataError):
- extra_types._ValidateJsonValue(extra_types.JsonValue())
- with self.assertRaises(exceptions.InvalidDataError):
- extra_types._ValidateJsonValue(
- extra_types.JsonValue(is_null=True, string_value='a'))
- with self.assertRaises(exceptions.InvalidDataError):
- extra_types._ValidateJsonValue(
- extra_types.JsonValue(integer_value=3, string_value='a'))
-
- def testNullEncoding(self):
- self.assertTranslations(None, extra_types.JsonValue(is_null=True))
-
- def testJsonNumberEncoding(self):
- seventeen = extra_types.JsonValue(integer_value=17)
- self.assertRoundTrip(17)
- self.assertRoundTrip(seventeen)
- self.assertTranslations(17, seventeen)
-
- json_pi = extra_types.JsonValue(double_value=math.pi)
- self.assertRoundTrip(math.pi)
- self.assertRoundTrip(json_pi)
- self.assertTranslations(math.pi, json_pi)
-
- def testArrayEncoding(self):
- array = [3, 'four', False]
- json_array = extra_types.JsonArray(entries=[
- extra_types.JsonValue(integer_value=3),
- extra_types.JsonValue(string_value='four'),
- extra_types.JsonValue(boolean_value=False),
- ])
- self.assertRoundTrip(array)
- self.assertRoundTrip(json_array)
- self.assertTranslations(array, json_array)
-
- def testArrayAsValue(self):
- array_json = '[3, "four", false]'
- array = [3, 'four', False]
- value = encoding.JsonToMessage(extra_types.JsonValue, array_json)
- self.assertTrue(isinstance(value, extra_types.JsonValue))
- self.assertEqual(array, encoding.MessageToPyValue(value))
-
- def testObjectAsValue(self):
- obj_json = '{"works": true}'
- obj = {'works': True}
- value = encoding.JsonToMessage(extra_types.JsonValue, obj_json)
- self.assertTrue(isinstance(value, extra_types.JsonValue))
- self.assertEqual(obj, encoding.MessageToPyValue(value))
-
- def testDictEncoding(self):
- d = {'a': 6, 'b': 'eleventeen'}
- json_d = extra_types.JsonObject(properties=[
- extra_types.JsonObject.Property(
- key='a', value=extra_types.JsonValue(integer_value=6)),
- extra_types.JsonObject.Property(
- key='b',
- value=extra_types.JsonValue(string_value='eleventeen')),
- ])
- self.assertRoundTrip(d)
- # We don't know json_d will round-trip, because of randomness in
- # python dictionary iteration ordering. We also need to force
- # comparison as lists, since hashing protos isn't helpful.
- translated_properties = extra_types._PythonValueToJsonProto(
- d).properties
- for p in json_d.properties:
- self.assertIn(p, translated_properties)
- for p in translated_properties:
- self.assertIn(p, json_d.properties)
-
- def testJsonObjectPropertyTranslation(self):
- value = extra_types.JsonValue(string_value='abc')
- obj = extra_types.JsonObject(properties=[
- extra_types.JsonObject.Property(key='attr_name', value=value)])
- json_value = '"abc"'
- json_obj = '{"attr_name": "abc"}'
-
- self.assertRoundTrip(value)
- self.assertRoundTrip(obj)
- self.assertRoundTrip(json_value)
- self.assertRoundTrip(json_obj)
-
- self.assertEqual(json_value, encoding.MessageToJson(value))
- self.assertEqual(json_obj, encoding.MessageToJson(obj))
-
- def testDateField(self):
-
- class DateMsg(messages.Message):
- start_date = extra_types.DateField(1)
- all_dates = extra_types.DateField(2, repeated=True)
-
- msg = DateMsg(
- start_date=datetime.date(1752, 9, 9), all_dates=[
- datetime.date(1979, 5, 6),
- datetime.date(1980, 10, 24),
- datetime.date(1981, 1, 19),
- ])
- msg_dict = {
- 'start_date': '1752-09-09',
- 'all_dates': ['1979-05-06', '1980-10-24', '1981-01-19'],
- }
- self.assertEqual(msg_dict, json.loads(encoding.MessageToJson(msg)))
- self.assertEqual(
- msg, encoding.JsonToMessage(DateMsg, json.dumps(msg_dict)))
-
- def testInt64(self):
- # Testing roundtrip of type 'long'
-
- class DogeMsg(messages.Message):
- such_string = messages.StringField(1)
- wow = messages.IntegerField(2, variant=messages.Variant.INT64)
- very_unsigned = messages.IntegerField(
- 3, variant=messages.Variant.UINT64)
- much_repeated = messages.IntegerField(
- 4, variant=messages.Variant.INT64, repeated=True)
-
- def MtoJ(msg):
- return encoding.MessageToJson(msg)
-
- def JtoM(class_type, json_str):
- return encoding.JsonToMessage(class_type, json_str)
-
- def DoRoundtrip(class_type, json_msg=None, message=None, times=4):
- if json_msg:
- json_msg = MtoJ(JtoM(class_type, json_msg))
- if message:
- message = JtoM(class_type, MtoJ(message))
- if times == 0:
- result = json_msg if json_msg else message
- return result
- return DoRoundtrip(class_type=class_type, json_msg=json_msg,
- message=message, times=times - 1)
-
- # Single
- json_msg = ('{"such_string": "poot", "wow": "-1234", '
- '"very_unsigned": "999", "much_repeated": ["123", "456"]}')
- out_json = MtoJ(JtoM(DogeMsg, json_msg))
- self.assertEqual(json.loads(out_json)['wow'], '-1234')
-
- # Repeated test case
- msg = DogeMsg(such_string='wow', wow=-1234,
- very_unsigned=800, much_repeated=[123, 456])
- self.assertEqual(msg, DoRoundtrip(DogeMsg, message=msg))

Powered by Google App Engine
This is Rietveld 408576698