2
0
Эх сурвалжийг харах

Improved networking tests and minor cleanup

Nuwan Goonasekera 8 жил өмнө
parent
commit
8146285815

+ 5 - 0
cloudbridge/cloud/base/services.py

@@ -160,6 +160,11 @@ class BaseNetworkService(
     def __init__(self, provider):
         super(BaseNetworkService, self).__init__(provider)
 
+    @property
+    def subnets(self):
+        return [subnet for subnet in self.provider.subnets
+                if subnet.network_id == self.id]
+
     def delete(self, network_id):
         network = self.get(network_id)
         if network:

+ 0 - 5
cloudbridge/cloud/providers/aws/services.py

@@ -780,7 +780,6 @@ class AWSNetworkService(BaseNetworkService):
 
     def __init__(self, provider):
         super(AWSNetworkService, self).__init__(provider)
-        self._subnet_svc = AWSSubnetService(self.provider)
 
     def get(self, network_id):
         try:
@@ -820,10 +819,6 @@ class AWSNetworkService(BaseNetworkService):
             cb_network.name = name
         return cb_network
 
-    @property
-    def subnets(self):
-        return self._subnet_svc
-
     @property
     def floating_ips(self):
         # fltrs = None

+ 0 - 5
cloudbridge/cloud/providers/openstack/services.py

@@ -765,7 +765,6 @@ class OpenStackNetworkService(BaseNetworkService):
 
     def __init__(self, provider):
         super(OpenStackNetworkService, self).__init__(provider)
-        self._subnet_svc = OpenStackSubnetService(self.provider)
 
     def get(self, network_id):
         network = (n for n in self if n.id == network_id)
@@ -793,10 +792,6 @@ class OpenStackNetworkService(BaseNetworkService):
         network = self.provider.neutron.create_network({'network': net_info})
         return OpenStackNetwork(self.provider, network.get('network'))
 
-    @property
-    def subnets(self):
-        return self._subnet_svc
-
     @property
     def floating_ips(self):
         # if network_id:

+ 2 - 1
test/helpers/__init__.py

@@ -116,7 +116,8 @@ def delete_test_network(network):
     """
     with cleanup_action(lambda: network.delete()):
         for sn in network.subnets:
-            sn.delete()
+            with cleanup_action(lambda: sn.delete()):
+                pass
 
 
 def create_test_instance(

+ 5 - 1
test/test_network_service.py

@@ -50,10 +50,14 @@ class CloudNetworkServiceTestCase(ProviderTestBase):
                                        self.provider, 'placement'))
             with helpers.cleanup_action(lambda: sn.delete()):
                 self.assertTrue(
-                    sn.id in [s.id for s in net.subnets],
+                    sn in net.subnets,
                     "Subnet ID %s should be listed in network subnets %s."
                     % (sn.id, net.subnets))
 
+                self.assertListEqual(
+                    net.subnets, [sn],
+                    "Network should have exactly one subnet: %s." % sn.id)
+
                 self.assertIn(
                     net.id, sn.network_id,
                     "Network ID %s should be specified in the subnet's network"