summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCyril Roelandt <cyril@redhat.com>2019-04-12 01:40:04 +0200
committerCyril Roelandt <cyril@redhat.com>2019-04-12 23:17:12 +0200
commit0a3166558f1b2f382075145502576919cecec61e (patch)
treeeb067571d294273487aee47a14738332764e28cf
parentba6b5cf2ae0afb69bf31ab1e2b30edaeba388946 (diff)
downloadglance_store-0a3166558f1b2f382075145502576919cecec61e.tar.gz
Python3: Fix return type on CooperativeReader.read
CooperativeReader.read() should return bytes. A similar change was merged in Glance. Change-Id: Iee3b49235be2af64eac3933e41c7e44fc1a564f4 Closes-Bug: #1818915
-rw-r--r--glance_store/common/utils.py2
-rw-r--r--glance_store/tests/unit/common/__init__.py0
-rw-r--r--glance_store/tests/unit/common/test_utils.py31
3 files changed, 32 insertions, 1 deletions
diff --git a/glance_store/common/utils.py b/glance_store/common/utils.py
index 9bdb387..49acccb 100644
--- a/glance_store/common/utils.py
+++ b/glance_store/common/utils.py
@@ -135,7 +135,7 @@ class CooperativeReader(object):
try:
return next(self.iterator)
except StopIteration:
- return ''
+ return b''
def __iter__(self):
return cooperative_iter(self.fd.__iter__())
diff --git a/glance_store/tests/unit/common/__init__.py b/glance_store/tests/unit/common/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/glance_store/tests/unit/common/__init__.py
diff --git a/glance_store/tests/unit/common/test_utils.py b/glance_store/tests/unit/common/test_utils.py
new file mode 100644
index 0000000..71841c8
--- /dev/null
+++ b/glance_store/tests/unit/common/test_utils.py
@@ -0,0 +1,31 @@
+# Copyright 2018 RedHat Inc.
+# All Rights Reserved.
+#
+# 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.
+
+import tempfile
+
+from oslotest import base
+
+from glance_store.common import utils
+
+
+class TestUtils(base.BaseTestCase):
+ def test_cooperative_reader_returns_bytes(self):
+ with tempfile.TemporaryFile() as fd:
+ reader = utils.CooperativeReader(fd)
+ # Make sure CooperativeReader does not use cooperative_read instead
+ # of its own read method.
+ reader.read = utils.CooperativeReader.read
+ out = reader.read(reader)
+ self.assertEqual(out, b'')