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

Unified Diff: third_party/gsutil/third_party/protorpc/protorpc/message_types_test.py

Issue 1377933002: [catapult] - Copy Telemetry's gsutilz over to third_party. (Closed) Base URL: https://github.com/catapult-project/catapult.git@master
Patch Set: Rename to gsutil. Created 5 years, 3 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: third_party/gsutil/third_party/protorpc/protorpc/message_types_test.py
diff --git a/third_party/gsutil/third_party/protorpc/protorpc/message_types_test.py b/third_party/gsutil/third_party/protorpc/protorpc/message_types_test.py
new file mode 100755
index 0000000000000000000000000000000000000000..b061cdfa1db24d35b07513f3f100b22c3e3489a0
--- /dev/null
+++ b/third_party/gsutil/third_party/protorpc/protorpc/message_types_test.py
@@ -0,0 +1,88 @@
+#!/usr/bin/env python
+#
+# Copyright 2013 Google Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+"""Tests for protorpc.message_types."""
+
+__author__ = 'rafek@google.com (Rafe Kaplan)'
+
+
+import datetime
+
+import unittest
+
+from protorpc import message_types
+from protorpc import messages
+from protorpc import test_util
+from protorpc import util
+
+
+class ModuleInterfaceTest(test_util.ModuleInterfaceTest,
+ test_util.TestCase):
+
+ MODULE = message_types
+
+
+class DateTimeFieldTest(test_util.TestCase):
+
+ def testValueToMessage(self):
+ field = message_types.DateTimeField(1)
+ message = field.value_to_message(datetime.datetime(2033, 2, 4, 11, 22, 10))
+ self.assertEqual(message_types.DateTimeMessage(milliseconds=1991128930000),
+ message)
+
+ def testValueToMessageBadValue(self):
+ field = message_types.DateTimeField(1)
+ self.assertRaisesWithRegexpMatch(
+ messages.EncodeError,
+ 'Expected type datetime, got int: 20',
+ field.value_to_message, 20)
+
+ def testValueToMessageWithTimeZone(self):
+ time_zone = util.TimeZoneOffset(60 * 10)
+ field = message_types.DateTimeField(1)
+ message = field.value_to_message(
+ datetime.datetime(2033, 2, 4, 11, 22, 10, tzinfo=time_zone))
+ self.assertEqual(message_types.DateTimeMessage(milliseconds=1991128930000,
+ time_zone_offset=600),
+ message)
+
+ def testValueFromMessage(self):
+ message = message_types.DateTimeMessage(milliseconds=1991128000000)
+ field = message_types.DateTimeField(1)
+ timestamp = field.value_from_message(message)
+ self.assertEqual(datetime.datetime(2033, 2, 4, 11, 6, 40),
+ timestamp)
+
+ def testValueFromMessageBadValue(self):
+ field = message_types.DateTimeField(1)
+ self.assertRaisesWithRegexpMatch(
+ messages.DecodeError,
+ 'Expected type DateTimeMessage, got VoidMessage: <VoidMessage>',
+ field.value_from_message, message_types.VoidMessage())
+
+ def testValueFromMessageWithTimeZone(self):
+ message = message_types.DateTimeMessage(milliseconds=1991128000000,
+ time_zone_offset=300)
+ field = message_types.DateTimeField(1)
+ timestamp = field.value_from_message(message)
+ time_zone = util.TimeZoneOffset(60 * 5)
+ self.assertEqual(datetime.datetime(2033, 2, 4, 11, 6, 40, tzinfo=time_zone),
+ timestamp)
+
+
+if __name__ == '__main__':
+ unittest.main()

Powered by Google App Engine
This is Rietveld 408576698