Просмотр исходного кода

Testing test fail for snapshot and volume

jatin 8 лет назад
Родитель
Сommit
2661dccf2e

+ 5 - 1
cloudbridge/cloud/providers/azure/azure_client.py

@@ -138,8 +138,12 @@ class AzureClient(object):
             list_locations(self.subscription_id)
 
     def list_security_group(self):
-        return self.network_management_client.network_security_groups. \
+        sgl = self.network_management_client.network_security_groups. \
             list(self.resource_group)
+        print("List - " + str(sgl))
+        print("current page - " + str(sgl.current_page))
+        print("next_link - " + str(sgl.next_link))
+        return sgl
 
     def create_security_group(self, name, parameters):
         return self.network_management_client.network_security_groups. \

+ 2 - 0
cloudbridge/cloud/providers/azure/resources.py

@@ -684,6 +684,7 @@ class AzureSnapshot(BaseSnapshot):
         self._snapshot = snapshot
         self._description = None
         self._state = self._snapshot.provisioning_state
+        print("In init - " + self._state)
         if not self._snapshot.tags:
             self._snapshot.tags = {}
 
@@ -759,6 +760,7 @@ class AzureSnapshot(BaseSnapshot):
             self._snapshot = self._provider.azure_client. \
                 get_snapshot(self.id)
             self._state = self._snapshot.provisioning_state
+            print("In res - " + self._state)
         except (CloudError, ValueError) as cloudError:
             log.exception(cloudError.message)
             # The snapshot no longer exists and cannot be refreshed.

+ 7 - 0
test/helpers/standard_interface_tests.py

@@ -85,6 +85,12 @@ def check_find_non_existent(test, service):
 
 def check_get(test, service, obj):
     get_obj = service.get(obj.id)
+    print("Actual - " + str(obj.__dict__))
+    print("Get - " + str(get_obj.__dict__))
+    test.assertEqual(get_obj.name, obj.name)
+    test.assertEqual(get_obj._provider, obj._provider)
+    test.assertEqual(get_obj.id, obj.id)
+    test.assertEqual(get_obj.state, obj.state)
     test.assertEqual(get_obj, obj)
     test.assertIsInstance(get_obj, type(obj))
     return get_obj
@@ -151,6 +157,7 @@ def check_standard_behaviour(test, service, obj):
     Checks standard behaviour in a given cloudbridge resource
     of a given service.
     """
+    obj.wait_till_ready()
     check_repr(test, obj)
     check_json(test, obj)
     check_obj_properties(test, obj)

+ 47 - 0
test/test_snapshot_state.py

@@ -0,0 +1,47 @@
+import time
+import uuid
+
+from test import helpers
+from test.helpers import ProviderTestBase
+from test.helpers import standard_interface_tests as sit
+
+from cloudbridge.cloud.interfaces import SnapshotState
+from cloudbridge.cloud.interfaces import VolumeState
+from cloudbridge.cloud.interfaces.resources import AttachmentInfo
+
+import six
+
+
+class CloudSnapshotServiceTestCase(ProviderTestBase):
+    def test_crud_snapshot_a(self):
+        name = "cb_crudsnap-{0}".format(helpers.get_uuid())
+        test_vol = self.provider.block_store.volumes.create(
+            name,
+            1,
+            helpers.get_provider_test_data(self.provider, "placement"))
+        with helpers.cleanup_action(lambda: test_vol.delete()):
+            test_vol.wait_till_ready()
+            snap_name = "cb_snap-{0}".format(name)
+            test_snap = test_vol.create_snapshot(name=snap_name,
+                                                 description=snap_name)
+
+            def cleanup_snap(snap):
+                snap.delete()
+                snap.wait_for(
+                    [SnapshotState.UNKNOWN],
+                    terminal_states=[SnapshotState.ERROR])
+
+            with helpers.cleanup_action(lambda: cleanup_snap(test_snap)):
+                test_snap.wait_till_ready()
+                print(test_snap.state)
+                for x in range(0, 20):
+                    list_objs = self.provider.block_store.snapshots.list()
+                    all_records = list_objs
+                    while list_objs.is_truncated:
+                        list_objs = self.provider.block_store.snapshots.list(marker=list_objs.marker)
+                        all_records += list_objs
+                    match_objs = [o for o in all_records if o.id == test_snap.id]
+                    print("List - " + match_objs[0].state)
+                    time.sleep(5)
+                    # obj = self.provider.block_store.snapshots.get(test_snap.id)
+                    # print("Get - " + obj.state)

+ 1 - 1
tox.ini

@@ -16,7 +16,7 @@ envlist = {py27,py36,pypy}-{aws,azure,openstack}
 
 [testenv]
 commands =
-flake8 cloudbridge test setup.py
+#flake8 cloudbridge test setup.py
     {envpython} -m coverage run --branch --source=cloudbridge --omit=cloudbridge/cloud/interfaces/* setup.py test {posargs}
 setenv =
     aws: CB_TEST_PROVIDER=aws