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

Unified Diff: third_party/gsutil/third_party/apitools/apitools/base/py/buffered_stream_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/apitools/apitools/base/py/buffered_stream_test.py
diff --git a/third_party/gsutil/third_party/apitools/apitools/base/py/buffered_stream_test.py b/third_party/gsutil/third_party/apitools/apitools/base/py/buffered_stream_test.py
new file mode 100644
index 0000000000000000000000000000000000000000..4dcf62f9b04ea35d98f0b358686c5a7627199286
--- /dev/null
+++ b/third_party/gsutil/third_party/apitools/apitools/base/py/buffered_stream_test.py
@@ -0,0 +1,52 @@
+"""Tests for buffered_stream."""
+
+import string
+
+import six
+import unittest2
+
+from apitools.base.py import buffered_stream
+from apitools.base.py import exceptions
+
+
+class BufferedStreamTest(unittest2.TestCase):
+
+ def setUp(self):
+ self.stream = six.StringIO(string.ascii_letters)
+ self.value = self.stream.getvalue()
+ self.stream.seek(0)
+
+ def testEmptyBuffer(self):
+ bs = buffered_stream.BufferedStream(self.stream, 0, 0)
+ self.assertEqual('', bs.read(0))
+ self.assertEqual(0, bs.stream_end_position)
+
+ def testOffsetStream(self):
+ bs = buffered_stream.BufferedStream(self.stream, 50, 100)
+ self.assertEqual(len(self.value), len(bs))
+ self.assertEqual(self.value, bs.read(len(self.value)))
+ self.assertEqual(50 + len(self.value), bs.stream_end_position)
+
+ def testUnexhaustedStream(self):
+ bs = buffered_stream.BufferedStream(self.stream, 0, 50)
+ self.assertEqual(50, bs.stream_end_position)
+ self.assertEqual(False, bs.stream_exhausted)
+ self.assertEqual(self.value[0:50], bs.read(50))
+ self.assertEqual(False, bs.stream_exhausted)
+ self.assertEqual('', bs.read(0))
+ self.assertEqual('', bs.read(100))
+
+ def testExhaustedStream(self):
+ bs = buffered_stream.BufferedStream(self.stream, 0, 100)
+ self.assertEqual(len(self.value), bs.stream_end_position)
+ self.assertEqual(True, bs.stream_exhausted)
+ self.assertEqual(self.value, bs.read(100))
+ self.assertEqual('', bs.read(0))
+ self.assertEqual('', bs.read(100))
+
+ def testArbitraryLengthRead(self):
+ bs = buffered_stream.BufferedStream(self.stream, 0, 20)
+ with self.assertRaises(exceptions.NotYetImplementedError):
+ bs.read()
+ with self.assertRaises(exceptions.NotYetImplementedError):
+ bs.read(size=-1)

Powered by Google App Engine
This is Rietveld 408576698