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 2014/02/19 20:22:12 UTC

[3/4] git commit: added ex_rename() extention method to the driver

added ex_rename() extention method to the driver

added test suite for the ex_rename() extention method

changed ex_rename() to ex_rename_node() extention method

Added the MockHttptestcase from ex_rename_node() extension method

changed ex_rename() to ex_rename_node() extention method

corrected the MockHttptestcase for ex_rename_node() method

Added a fixture for ex_rename_node() method

Signed-off-by: Tomaz Muraus <to...@apache.org>


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

Branch: refs/heads/trunk
Commit: 569f5eec440c79734cd3139d19bb6a46c67275d1
Parents: 14640c3
Author: Rahul Ranjan <rr...@localhost.localdomain>
Authored: Wed Feb 19 03:11:38 2014 +0530
Committer: Tomaz Muraus <to...@apache.org>
Committed: Wed Feb 19 19:20:24 2014 +0100

----------------------------------------------------------------------
 libcloud/compute/drivers/digitalocean.py                 |  6 ++++++
 .../compute/fixtures/digitalocean/ex_rename_node.json    |  1 +
 libcloud/test/compute/test_digitalocean.py               | 11 +++++++++++
 3 files changed, 18 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/569f5eec/libcloud/compute/drivers/digitalocean.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/drivers/digitalocean.py b/libcloud/compute/drivers/digitalocean.py
index 37434ab..962862c 100644
--- a/libcloud/compute/drivers/digitalocean.py
+++ b/libcloud/compute/drivers/digitalocean.py
@@ -127,6 +127,12 @@ class DigitalOceanNodeDriver(NodeDriver):
                                       params=params)
         return res.status == httplib.OK
 
+    def ex_rename_node(self, node, name):
+        params = {'name': name}
+        res = self.connection.request('/droplets/%s/rename/' % (node.id),
+                                      params=params)
+        return res.status == httplib.OK
+
     def ex_list_ssh_keys(self):
         """
         List all the available SSH keys.

http://git-wip-us.apache.org/repos/asf/libcloud/blob/569f5eec/libcloud/test/compute/fixtures/digitalocean/ex_rename_node.json
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/digitalocean/ex_rename_node.json b/libcloud/test/compute/fixtures/digitalocean/ex_rename_node.json
new file mode 100644
index 0000000..bae818d
--- /dev/null
+++ b/libcloud/test/compute/fixtures/digitalocean/ex_rename_node.json
@@ -0,0 +1 @@
+{"status":"OK","event_id":918910}

http://git-wip-us.apache.org/repos/asf/libcloud/blob/569f5eec/libcloud/test/compute/test_digitalocean.py
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/test_digitalocean.py b/libcloud/test/compute/test_digitalocean.py
index 86fe323..400b605 100644
--- a/libcloud/test/compute/test_digitalocean.py
+++ b/libcloud/test/compute/test_digitalocean.py
@@ -89,6 +89,11 @@ class DigitalOceanTests(unittest.TestCase):
         result = self.driver.destroy_node(node)
         self.assertTrue(result)
 
+    def test_ex_rename_node_success(self):
+        node = self.driver.list_nodes()[0]
+        result = self.driver.ex_rename_node(node, 'fedora helios')
+        self.assertTrue(result)
+
     def test_ex_list_ssh_keys(self):
         keys = self.driver.ex_list_ssh_keys()
         self.assertEqual(len(keys), 1)
@@ -133,6 +138,12 @@ class DigitalOceanMockHttp(MockHttpTestCase):
         body = self.fixtures.load('destroy_node.json')
         return (httplib.OK, body, {}, httplib.responses[httplib.OK])
 
+    def _droplets_119461_rename(self, method, url, body, headers):
+        # reboot_node
+        self.assertUrlContainsQueryParams(url, {'name': 'fedora helios'})
+        body = self.fixtures.load('ex_rename_node.json')
+        return (httplib.OK, body, {}, httplib.responses[httplib.OK])
+
     def _ssh_keys(self, method, url, body, headers):
         body = self.fixtures.load('ex_list_ssh_keys.json')
         return (httplib.OK, body, {}, httplib.responses[httplib.OK])