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 2011/05/14 17:26:51 UTC
svn commit: r1103136 - in /incubator/libcloud/trunk:
libcloud/loadbalancer/drivers/rackspace.py
test/loadbalancer/test_rackspace.py
Author: tomaz
Date: Sat May 14 15:26:51 2011
New Revision: 1103136
URL: http://svn.apache.org/viewvc?rev=1103136&view=rev
Log:
Add list_protocols method to the Rackspace LB driver.
Modified:
incubator/libcloud/trunk/libcloud/loadbalancer/drivers/rackspace.py
incubator/libcloud/trunk/test/loadbalancer/test_rackspace.py
Modified: incubator/libcloud/trunk/libcloud/loadbalancer/drivers/rackspace.py
URL: http://svn.apache.org/viewvc/incubator/libcloud/trunk/libcloud/loadbalancer/drivers/rackspace.py?rev=1103136&r1=1103135&r2=1103136&view=diff
==============================================================================
--- incubator/libcloud/trunk/libcloud/loadbalancer/drivers/rackspace.py (original)
+++ incubator/libcloud/trunk/libcloud/loadbalancer/drivers/rackspace.py Sat May 14 15:26:51 2011
@@ -80,6 +80,10 @@ class RackspaceLBDriver(Driver):
}
_ALGORITHM_TO_VALUE_MAP = reverse_dict(_VALUE_TO_ALGORITHM_MAP)
+ def list_protocols(self):
+ return self._to_protocols(
+ self.connection.request('/loadbalancers/protocols').object)
+
def list_balancers(self):
return self._to_balancers(
self.connection.request('/loadbalancers').object)
@@ -141,6 +145,12 @@ class RackspaceLBDriver(Driver):
return self._to_members(
self.connection.request(uri).object)
+ def _to_protocols(self, object):
+ protocols = []
+ for item in object["protocols"]:
+ protocols.append(item['name'].lower())
+ return protocols
+
def _to_balancers(self, object):
return [ self._to_balancer(el) for el in object["loadBalancers"] ]
Modified: incubator/libcloud/trunk/test/loadbalancer/test_rackspace.py
URL: http://svn.apache.org/viewvc/incubator/libcloud/trunk/test/loadbalancer/test_rackspace.py?rev=1103136&r1=1103135&r2=1103136&view=diff
==============================================================================
--- incubator/libcloud/trunk/test/loadbalancer/test_rackspace.py (original)
+++ incubator/libcloud/trunk/test/loadbalancer/test_rackspace.py Sat May 14 15:26:51 2011
@@ -17,6 +17,12 @@ class RackspaceLBTests(unittest.TestCase
RackspaceLBMockHttp.type = None
self.driver = RackspaceLBDriver('user', 'key')
+ def test_list_protocols(self):
+ protocols = self.driver.list_protocols()
+
+ self.assertEqual(len(protocols), 10)
+ self.assertTrue('http' in protocols)
+
def test_list_balancers(self):
balancers = self.driver.list_balancers()
@@ -83,6 +89,11 @@ class RackspaceLBMockHttp(MockHttp):
'x-storage-url': 'https://storage4.clouddrive.com/v1/MossoCloudFS_FE011C19-CF86-4F87-BE5D-9229145D7A06'}
return (httplib.NO_CONTENT, "", headers, httplib.responses[httplib.NO_CONTENT])
+ def _v1_0_slug_loadbalancers_protocols(self, method, url, body, headers):
+ body = self.fixtures.load('v1_slug_loadbalancers_protocols.json')
+ return (httplib.ACCEPTED, body, {},
+ httplib.responses[httplib.ACCEPTED])
+
def _v1_0_slug_loadbalancers(self, method, url, body, headers):
if method == "GET":
body = self.fixtures.load('v1_slug_loadbalancers.json')