Merge branch '19136-freeze-props-whitelist'
[arvados.git] / sdk / python / tests / test_keep_locator.py
index a7e9cb1bc344bcbee62f2e3c2fe4ae17d9a861e2..e47d64d3372028ee2a7ecbfdba1a543fb993f91f 100644 (file)
@@ -1,6 +1,11 @@
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: Apache-2.0
 
+from builtins import next
+from builtins import zip
+from builtins import str
+from builtins import range
 import datetime
 import itertools
 import random
@@ -14,7 +19,7 @@ class ArvadosKeepLocatorTest(unittest.TestCase):
     def numstrs(fmtstr, base, exponent):
         def genstrs(self, count=None):
             return (fmtstr.format(random.randint(0, base ** exponent))
-                    for c in xrange(count or self.DEFAULT_TEST_COUNT))
+                    for c in range(count or self.DEFAULT_TEST_COUNT))
         return genstrs
 
     checksums = numstrs('{:032x}', 16, 32)
@@ -24,19 +29,19 @@ class ArvadosKeepLocatorTest(unittest.TestCase):
 
     def base_locators(self, count=DEFAULT_TEST_COUNT):
         return ('+'.join(pair) for pair in
-                itertools.izip(self.checksums(count), self.sizes(count)))
+                zip(self.checksums(count), self.sizes(count)))
 
     def perm_hints(self, count=DEFAULT_TEST_COUNT):
-        for sig, ts in itertools.izip(self.signatures(count),
+        for sig, ts in zip(self.signatures(count),
                                       self.timestamps(count)):
             yield 'A{}@{}'.format(sig, ts)
 
     def test_good_locators_returned(self):
         for hint_gens in [(), (self.sizes(),),
                           (self.sizes(), self.perm_hints())]:
-            for loc_data in itertools.izip(self.checksums(), *hint_gens):
+            for loc_data in zip(self.checksums(), *hint_gens):
                 locator = '+'.join(loc_data)
-                self.assertEquals(locator, str(KeepLocator(locator)))
+                self.assertEqual(locator, str(KeepLocator(locator)))
 
     def test_nonchecksum_rejected(self):
         for badstr in ['', 'badbadbad', '8f9e68d957b504a29ba76c526c3145dj',
@@ -48,7 +53,7 @@ class ArvadosKeepLocatorTest(unittest.TestCase):
         base = next(self.base_locators(1))
         for weirdhint in ['Zfoo', 'Ybar234', 'Xa@b_c-372', 'W99']:
             locator = '+'.join([base, weirdhint])
-            self.assertEquals(locator, str(KeepLocator(locator)))
+            self.assertEqual(locator, str(KeepLocator(locator)))
 
     def test_bad_hints_rejected(self):
         base = next(self.base_locators(1))
@@ -60,7 +65,12 @@ class ArvadosKeepLocatorTest(unittest.TestCase):
         base = next(self.base_locators(1))
         for loc_hints in itertools.permutations(['Kab1cd', 'Kef2gh', 'Kij3kl']):
             locator = '+'.join((base,) + loc_hints)
-            self.assertEquals(locator, str(KeepLocator(locator)))
+            self.assertEqual(locator, str(KeepLocator(locator)))
+
+    def test_str_type(self):
+        base = next(self.base_locators(1))
+        locator = KeepLocator(base)
+        self.assertEqual(type(''), type(locator.__str__()))
 
     def test_expiry_passed(self):
         base = next(self.base_locators(1))