11681: Return native str type from Collection.portable_data_hash() (previous commit...
authorPeter Amstutz <peter.amstutz@curoverse.com>
Thu, 11 May 2017 21:25:34 +0000 (17:25 -0400)
committerPeter Amstutz <peter.amstutz@curoverse.com>
Thu, 11 May 2017 21:25:34 +0000 (17:25 -0400)
sdk/python/arvados/collection.py
sdk/python/tests/test_collections.py

index d4f24047d22d3116f50382ed615f88c945590c38..77312e4d4917a276f00b46e90e13ab13ba0d5ac4 100644 (file)
@@ -1085,7 +1085,7 @@ class RichCollectionBase(CollectionBase):
             return self._portable_data_hash
         else:
             stripped = self.portable_manifest_text().encode()
-            return hashlib.md5(stripped).hexdigest() + '+' + str(len(stripped))
+            return '{}+{}'.format(hashlib.md5(stripped).hexdigest(), len(stripped))
 
     @synchronized
     def subscribe(self, callback):
index b40ba579085e3f7a2f43856b6b3d7f0ae80b12c9..a315044912149ab06bc2478142df5ce438b0a68d 100644 (file)
@@ -1369,6 +1369,11 @@ class CollectionCreateUpdateTest(run_test_server.TestCaseWithServers):
             c1.manifest_text(),
             r"\. e65075d550f9b5bf9992fa1d71a131be\+3\S* 7ac66c0f148de9519b8bd264312c4d64\+7\S* 0:3:count\.txt 3:7:count\.txt~\d\d\d\d\d\d\d\d-\d\d\d\d\d\d~conflict~$")
 
+    def test_pdh_is_native_str(self):
+        c1 = self.create_count_txt()
+        pdh = c1.portable_data_hash()
+        self.assertEqual(type(''), type(pdh))
+
 
 if __name__ == '__main__':
     unittest.main()