You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@libcloud.apache.org by qu...@apache.org on 2017/10/31 04:29:43 UTC

[2/3] libcloud git commit: Added internal IP tests and updated fixtures

Added internal IP tests and updated fixtures

Signed-off-by: Quentin Pradet <qu...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/ad392c08
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/ad392c08
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/ad392c08

Branch: refs/heads/trunk
Commit: ad392c08855c284eaf2643ab60436e914f356c8a
Parents: 718fd95
Author: Gareth Mcfarlane <gm...@google.com>
Authored: Fri Oct 27 15:42:16 2017 +1100
Committer: Quentin Pradet <qu...@apache.org>
Committed: Tue Oct 31 08:25:19 2017 +0400

----------------------------------------------------------------------
 ...regions_us-central1_addresses_testaddress.json | 11 +++++++++++
 libcloud/test/compute/test_gce.py                 | 18 +++++++++++++++++-
 2 files changed, 28 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/ad392c08/libcloud/test/compute/fixtures/gce/regions_us-central1_addresses_testaddress.json
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/gce/regions_us-central1_addresses_testaddress.json b/libcloud/test/compute/fixtures/gce/regions_us-central1_addresses_testaddress.json
new file mode 100644
index 0000000..d52a59d
--- /dev/null
+++ b/libcloud/test/compute/fixtures/gce/regions_us-central1_addresses_testaddress.json
@@ -0,0 +1,11 @@
+{
+  "address": "173.255.114.104",
+  "creationTimestamp": "2013-06-04T16:28:43.764-07:00",
+  "description": "",
+  "id": "11879548153827627972",
+  "kind": "compute#address",
+  "name": "testaddress",
+  "region": "https://www.googleapis.com/compute/v1/projects/project_name/regions/us-central1",
+  "selfLink": "https://www.googleapis.com/compute/v1/projects/project_name/regions/us-central1/addresses/testaddress",
+  "status": "RESERVED"
+}

http://git-wip-us.apache.org/repos/asf/libcloud/blob/ad392c08/libcloud/test/compute/test_gce.py
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/test_gce.py b/libcloud/test/compute/test_gce.py
index 5d1613c..0e54a76 100644
--- a/libcloud/test/compute/test_gce.py
+++ b/libcloud/test/compute/test_gce.py
@@ -15,6 +15,7 @@
 """
 Tests for Google Compute Engine Driver
 """
+
 import datetime
 import mock
 import sys
@@ -166,6 +167,7 @@ class GCENodeDriverTest(GoogleTestCase, TestCaseMixin):
     def test_build_network_gce_struct(self):
         network = self.driver.ex_get_network('lcnetwork')
         address = self.driver.ex_get_address('lcaddress')
+        internalip = self.driver.ex_get_address('testaddress')
         subnetwork_name = 'cf-972cf02e6ad49112'
         subnetwork = self.driver.ex_get_subnetwork(subnetwork_name)
         d = self.driver._build_network_gce_struct(network, subnetwork, address)
@@ -173,7 +175,16 @@ class GCENodeDriverTest(GoogleTestCase, TestCaseMixin):
         self.assertTrue('subnetwork' in d)
         self.assertTrue('kind' in d and
                         d['kind'] == 'compute#instanceNetworkInterface')
-
+        self.assertEqual(d['accessConfigs'][0]['natIP'], address.address)
+        # test with internal IP
+        d = self.driver._build_network_gce_struct(network, subnetwork, address,
+                                                  internal_ip=internalip)
+        self.assertTrue('network' in d)
+        self.assertTrue('subnetwork' in d)
+        self.assertTrue('kind' in d and
+                        d['kind'] == 'compute#instanceNetworkInterface')
+        self.assertEqual(d['accessConfigs'][0]['natIP'], address.address)
+        self.assertEqual(d['networkIP'], internalip)
         network = self.driver.ex_get_network('default')
         d = self.driver._build_network_gce_struct(network)
         self.assertTrue('network' in d)
@@ -2900,6 +2911,11 @@ class GCEMockHttp(MockHttp):
                 'regions_us-central1_addresses_lcaddress.json')
         return (httplib.OK, body, self.json_hdr, httplib.responses[httplib.OK])
 
+    def _regions_us_central1_addresses_testaddress(self, method, url, body,
+                                                   headers):
+        body = self.fixtures.load('regions_us-central1_addresses_testaddress.json')
+        return (httplib.OK, body, self.json_hdr, httplib.responses[httplib.OK])
+
     def _regions_us_central1_forwardingRules(self, method, url, body, headers):
         if method == 'POST':
             body = self.fixtures.load(