You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@libcloud.apache.org by to...@apache.org on 2022/03/13 10:42:50 UTC

[libcloud] 02/04: Add tests for GCE region & zone related attributes

This is an automated email from the ASF dual-hosted git repository.

tomaz pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/libcloud.git

commit 88667ea6fe4d4bca612588e4cca064889dd3ae37
Author: Dimitris Galanis <di...@gmail.com>
AuthorDate: Fri Mar 11 12:02:38 2022 +0200

    Add tests for GCE region & zone related attributes
---
 libcloud/test/compute/test_gce.py | 59 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 59 insertions(+)

diff --git a/libcloud/test/compute/test_gce.py b/libcloud/test/compute/test_gce.py
index 97b12f9..0062b92 100644
--- a/libcloud/test/compute/test_gce.py
+++ b/libcloud/test/compute/test_gce.py
@@ -2526,6 +2526,65 @@ class GCENodeDriverTest(GoogleTestCase, TestCaseMixin):
         zone_no_mw = self.driver.ex_get_zone("us-central1-a")
         self.assertIsNone(zone_no_mw.time_until_mw)
 
+    def test_driver_zone_attributes(self):
+        zones = self.driver.ex_list_zones()
+        self.assertEqual(len(self.driver.zone_dict), len(zones))
+        self.assertEqual(len(self.driver.zone_list), len(zones))
+        for zone, fetched_zone in zip(self.driver.zone_list, zones):
+            self.assertEqual(zone.id, fetched_zone.id)
+            self.assertEqual(zone.name, fetched_zone.name)
+            self.assertEqual(zone.status, fetched_zone.status)
+
+    def test_driver_region_attributes(self):
+        regions = self.driver.ex_list_regions()
+        self.assertEqual(len(self.driver.region_dict), len(regions))
+        self.assertEqual(len(self.driver.region_list), len(regions))
+        for region, fetched_region in zip(self.driver.region_list, regions):
+            self.assertEqual(region.id, fetched_region.id)
+            self.assertEqual(region.name, fetched_region.name)
+            self.assertEqual(region.status, fetched_region.status)
+
+
+class GCENodeDriverTest2(GoogleTestCase):
+    """
+    GCE Test Class, test node driver without passing `datacenter` parameter on initialization.
+    """
+
+    def setUp(self):
+        GCEMockHttp.test = self
+        GCENodeDriver.connectionCls.conn_class = GCEMockHttp
+        GoogleBaseAuthConnection.conn_class = GoogleAuthMockHttp
+        GCEMockHttp.type = None
+        kwargs = GCE_KEYWORD_PARAMS.copy()
+        kwargs["auth_type"] = "IA"
+        self.driver = GCENodeDriver(*GCE_PARAMS, **kwargs)
+
+    def test_zone_attributes(self):
+        self.assertIsNone(self.driver._zone_dict)
+        self.assertIsNone(self.driver._zone_list)
+
+        zones = self.driver.ex_list_zones()
+
+        self.assertEqual(len(self.driver.zone_list), len(zones))
+        self.assertEqual(len(self.driver.zone_dict), len(zones))
+        for zone, fetched_zone in zip(self.driver.zone_list, zones):
+            self.assertEqual(zone.id, fetched_zone.id)
+            self.assertEqual(zone.name, fetched_zone.name)
+            self.assertEqual(zone.status, fetched_zone.status)
+
+    def test_region_attributes(self):
+        self.assertIsNone(self.driver._region_dict)
+        self.assertIsNone(self.driver._region_list)
+
+        regions = self.driver.ex_list_regions()
+
+        self.assertEqual(len(self.driver.region_list), len(regions))
+        self.assertEqual(len(self.driver.region_dict), len(regions))
+        for region, fetched_region in zip(self.driver.region_list, regions):
+            self.assertEqual(region.id, fetched_region.id)
+            self.assertEqual(region.name, fetched_region.name)
+            self.assertEqual(region.status, fetched_region.status)
+
 
 class GCEMockHttp(MockHttp, unittest.TestCase):
     fixtures = ComputeFileFixtures("gce")