Răsfoiți Sursa

Improved iteration testing and forced to occur during tests

Nuwan Goonasekera 9 ani în urmă
părinte
comite
053ed6731f
2 a modificat fișierele cu 13 adăugiri și 5 ștergeri
  1. 2 1
      test/helpers/__init__.py
  2. 11 4
      test/helpers/standard_interface_tests.py

+ 2 - 1
test/helpers/__init__.py

@@ -194,7 +194,8 @@ class ProviderTestBase(unittest.TestCase):
         provider_class = factory.get_provider_class(provider_name,
         provider_class = factory.get_provider_class(provider_name,
                                                     get_mock=use_mock_drivers)
                                                     get_mock=use_mock_drivers)
         config = {'default_wait_interval':
         config = {'default_wait_interval':
-                  self.get_provider_wait_interval(provider_class)}
+                  self.get_provider_wait_interval(provider_class),
+                  'default_result_limit': 1}
         return provider_class(config)
         return provider_class(config)
 
 
     @property
     @property

+ 11 - 4
test/helpers/standard_interface_tests.py

@@ -5,6 +5,7 @@ This includes:
    2. Checking for object equality and repr
    2. Checking for object equality and repr
    3. Checking standard behaviour for list, iter, find, get, delete
    3. Checking standard behaviour for list, iter, find, get, delete
 """
 """
+from cloudbridge.cloud.interfaces.resources import ResultList
 
 
 
 
 def check_repr(test, obj):
 def check_repr(test, obj):
@@ -16,12 +17,18 @@ def check_repr(test, obj):
 
 
 
 
 def check_list(test, service, obj):
 def check_list(test, service, obj):
-    list_objs = [o for o in service.list() if o.id == obj.id]
+    list_objs = service.list()
+    test.assertIsInstance(list_objs, ResultList)
+    all_records = list_objs
+    while list_objs.is_truncated:
+        list_objs = service.list(marker=list_objs.marker)
+        all_records += list_objs
+    match_objs = [o for o in all_records if o.id == obj.id]
     test.assertTrue(
     test.assertTrue(
-        len(list_objs) == 1,
+        len(match_objs) == 1,
         "List objects for %s does not return the expected object id %s. Got %s"
         "List objects for %s does not return the expected object id %s. Got %s"
-        % (type(obj).__name__, obj.id, list_objs))
-    return list_objs
+        % (type(obj).__name__, obj.id, match_objs))
+    return match_objs
 
 
 
 
 def check_iter(test, service, obj):
 def check_iter(test, service, obj):