libcloud-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From to...@apache.org
Subject svn commit: r1440820 - in /libcloud/branches/0.12.x: ./ libcloud/common/ libcloud/dns/ libcloud/dns/drivers/ libcloud/test/ libcloud/test/common/ libcloud/test/compute/ libcloud/test/dns/ libcloud/test/dns/fixtures/gandi/
Date Thu, 31 Jan 2013 02:44:28 GMT
Author: tomaz
Date: Thu Jan 31 02:44:27 2013
New Revision: 1440820

URL: http://svn.apache.org/viewvc?rev=1440820&view=rev
Log:
Backport commit 1440817 from trunk:

Add new DNS driver for Gandi.net provider.

Also perform pep8 cleanup on the existing compute driver tests.

Contributed by John Carr, part of LIBCLOUD-281.

Added:
    libcloud/branches/0.12.x/libcloud/dns/drivers/gandi.py
      - copied unchanged from r1440817, libcloud/trunk/libcloud/dns/drivers/gandi.py
    libcloud/branches/0.12.x/libcloud/test/common/test_gandi.py
      - copied unchanged from r1440817, libcloud/trunk/libcloud/test/common/test_gandi.py
    libcloud/branches/0.12.x/libcloud/test/dns/fixtures/gandi/
      - copied from r1440817, libcloud/trunk/libcloud/test/dns/fixtures/gandi/
    libcloud/branches/0.12.x/libcloud/test/dns/fixtures/gandi/create_record.xml
      - copied unchanged from r1440817, libcloud/trunk/libcloud/test/dns/fixtures/gandi/create_record.xml
    libcloud/branches/0.12.x/libcloud/test/dns/fixtures/gandi/create_zone.xml
      - copied unchanged from r1440817, libcloud/trunk/libcloud/test/dns/fixtures/gandi/create_zone.xml
    libcloud/branches/0.12.x/libcloud/test/dns/fixtures/gandi/delete_record.xml
      - copied unchanged from r1440817, libcloud/trunk/libcloud/test/dns/fixtures/gandi/delete_record.xml
    libcloud/branches/0.12.x/libcloud/test/dns/fixtures/gandi/delete_record_doesnotexist.xml
      - copied unchanged from r1440817, libcloud/trunk/libcloud/test/dns/fixtures/gandi/delete_record_doesnotexist.xml
    libcloud/branches/0.12.x/libcloud/test/dns/fixtures/gandi/delete_zone.xml
      - copied unchanged from r1440817, libcloud/trunk/libcloud/test/dns/fixtures/gandi/delete_zone.xml
    libcloud/branches/0.12.x/libcloud/test/dns/fixtures/gandi/delete_zone_fail.xml
      - copied unchanged from r1440817, libcloud/trunk/libcloud/test/dns/fixtures/gandi/delete_zone_fail.xml
    libcloud/branches/0.12.x/libcloud/test/dns/fixtures/gandi/get_zone.xml
      - copied unchanged from r1440817, libcloud/trunk/libcloud/test/dns/fixtures/gandi/get_zone.xml
    libcloud/branches/0.12.x/libcloud/test/dns/fixtures/gandi/list_records.xml
      - copied unchanged from r1440817, libcloud/trunk/libcloud/test/dns/fixtures/gandi/list_records.xml
    libcloud/branches/0.12.x/libcloud/test/dns/fixtures/gandi/list_records_empty.xml
      - copied unchanged from r1440817, libcloud/trunk/libcloud/test/dns/fixtures/gandi/list_records_empty.xml
    libcloud/branches/0.12.x/libcloud/test/dns/fixtures/gandi/list_zones.xml
      - copied unchanged from r1440817, libcloud/trunk/libcloud/test/dns/fixtures/gandi/list_zones.xml
    libcloud/branches/0.12.x/libcloud/test/dns/fixtures/gandi/new_version.xml
      - copied unchanged from r1440817, libcloud/trunk/libcloud/test/dns/fixtures/gandi/new_version.xml
    libcloud/branches/0.12.x/libcloud/test/dns/test_gandi.py
      - copied unchanged from r1440817, libcloud/trunk/libcloud/test/dns/test_gandi.py
Modified:
    libcloud/branches/0.12.x/   (props changed)
    libcloud/branches/0.12.x/CHANGES
    libcloud/branches/0.12.x/libcloud/common/gandi.py
    libcloud/branches/0.12.x/libcloud/dns/providers.py
    libcloud/branches/0.12.x/libcloud/dns/types.py
    libcloud/branches/0.12.x/libcloud/test/compute/test_gandi.py
    libcloud/branches/0.12.x/libcloud/test/secrets.py-dist

Propchange: libcloud/branches/0.12.x/
------------------------------------------------------------------------------
  Merged /libcloud/trunk:r1440817

Modified: libcloud/branches/0.12.x/CHANGES
URL: http://svn.apache.org/viewvc/libcloud/branches/0.12.x/CHANGES?rev=1440820&r1=1440819&r2=1440820&view=diff
==============================================================================
--- libcloud/branches/0.12.x/CHANGES (original)
+++ libcloud/branches/0.12.x/CHANGES Thu Jan 31 02:44:27 2013
@@ -154,6 +154,9 @@ Changes with Apache Libcloud 0.12.0:
     - Finish Amazon Route53 driver. (LIBCLOUD-132)
       [John Carr]
 
+    - Add new driver for Gandi provider (https://www.gandi.net). (LIBCLOUD-281)
+      [John Carr]
+
   *) Load-Balancer
 
     - Add new driver for AWS Elastic Load Balancing service. (LIBCLOUD-169)

Modified: libcloud/branches/0.12.x/libcloud/common/gandi.py
URL: http://svn.apache.org/viewvc/libcloud/branches/0.12.x/libcloud/common/gandi.py?rev=1440820&r1=1440819&r2=1440820&view=diff
==============================================================================
--- libcloud/branches/0.12.x/libcloud/common/gandi.py (original)
+++ libcloud/branches/0.12.x/libcloud/common/gandi.py Thu Jan 31 02:44:27 2013
@@ -93,7 +93,15 @@ class GandiConnection(ConnectionKey):
             return getattr(self._proxy, method)(self.key, *args)
         except xmlrpclib.Fault:
             e = sys.exc_info()[1]
-            raise GandiException(1001, e)
+            self.parse_error(e.faultCode, e.faultString)
+            raise GandiException(1001, e.faultString)
+
+    def parse_error(self, code, message):
+        """
+        This hook allows you to inspect any xmlrpclib errors and
+        potentially raise a more useful and specific exception.
+        """
+        pass
 
 
 class BaseGandiDriver(object):
@@ -121,8 +129,8 @@ class BaseGandiDriver(object):
         self.connection.driver = self
 
     # Specific methods for gandi
-    def _wait_operation(self, id, \
-        timeout=DEFAULT_TIMEOUT, check_interval=DEFAULT_INTERVAL):
+    def _wait_operation(self, id, timeout=DEFAULT_TIMEOUT,
+                        check_interval=DEFAULT_INTERVAL):
         """ Wait for an operation to succeed"""
 
         for i in range(0, timeout, check_interval):
@@ -131,7 +139,7 @@ class BaseGandiDriver(object):
 
                 if op['step'] == 'DONE':
                     return True
-                if op['step'] in  ['ERROR', 'CANCEL']:
+                if op['step'] in ['ERROR', 'CANCEL']:
                     return False
             except (KeyError, IndexError):
                 pass
@@ -172,8 +180,9 @@ class BaseObject(object):
         Note, for example, that this example will always produce the
         same UUID!
         """
-        return hashlib.sha1(b("%s:%s:%s" % \
-            (self.uuid_prefix, self.id, self.driver.type))).hexdigest()
+        hashstring = "%s:%s:%s" % \
+            (self.uuid_prefix, self.id, self.driver.type)
+        return hashlib.sha1(b(hashstring)).hexdigest()
 
 
 class IPAddress(BaseObject):
@@ -202,7 +211,7 @@ class NetworkInterface(BaseObject):
     uuid_prefix = 'if:'
 
     def __init__(self, id, state, mac_address, driver,
-            ips=None, node_id=None, extra=None):
+                 ips=None, node_id=None, extra=None):
         super(NetworkInterface, self).__init__(id, state, driver)
         self.mac = mac_address
         self.ips = ips or {}
@@ -225,5 +234,6 @@ class Disk(BaseObject):
         self.extra = extra or {}
 
     def __repr__(self):
-        return (('<Disk: id=%s, name=%s, state=%s, size=%s, driver=%s ...>')
+        return (
+            ('<Disk: id=%s, name=%s, state=%s, size=%s, driver=%s ...>')
             % (self.id, self.name, self.state, self.size, self.driver.name))

Modified: libcloud/branches/0.12.x/libcloud/dns/providers.py
URL: http://svn.apache.org/viewvc/libcloud/branches/0.12.x/libcloud/dns/providers.py?rev=1440820&r1=1440819&r2=1440820&view=diff
==============================================================================
--- libcloud/branches/0.12.x/libcloud/dns/providers.py (original)
+++ libcloud/branches/0.12.x/libcloud/dns/providers.py Thu Jan 31 02:44:27 2013
@@ -32,6 +32,8 @@ DRIVERS = {
         ('libcloud.dns.drivers.hostvirtual', 'HostVirtualDNSDriver'),
     Provider.ROUTE53:
         ('libcloud.dns.drivers.route53', 'Route53DNSDriver'),
+    Provider.GANDI:
+        ('libcloud.dns.drivers.gandi', 'GandiDNSDriver')
 }
 
 

Modified: libcloud/branches/0.12.x/libcloud/dns/types.py
URL: http://svn.apache.org/viewvc/libcloud/branches/0.12.x/libcloud/dns/types.py?rev=1440820&r1=1440819&r2=1440820&view=diff
==============================================================================
--- libcloud/branches/0.12.x/libcloud/dns/types.py (original)
+++ libcloud/branches/0.12.x/libcloud/dns/types.py Thu Jan 31 02:44:27 2013
@@ -35,6 +35,7 @@ class Provider(object):
     RACKSPACE_UK = 'rackspace_uk'
     ROUTE53 = 'route53'
     HOSTVIRTUAL = 'hostvirtual'
+    GANDI = 'gandi'
 
 
 class RecordType(object):
@@ -57,6 +58,8 @@ class RecordType(object):
     REDIRECT = 13
     GEO = 14
     URL = 15
+    WKS = 16
+    LOC = 17
 
     @classmethod
     def __repr__(self, value):
@@ -67,7 +70,7 @@ class RecordType(object):
 class ZoneError(LibcloudError):
     error_type = 'ZoneError'
     kwargs = ('zone_id', )
-    
+
     def __init__(self, value, driver, zone_id):
         self.zone_id = zone_id
         super(ZoneError, self).__init__(value=value, driver=driver)

Modified: libcloud/branches/0.12.x/libcloud/test/compute/test_gandi.py
URL: http://svn.apache.org/viewvc/libcloud/branches/0.12.x/libcloud/test/compute/test_gandi.py?rev=1440820&r1=1440819&r2=1440820&view=diff
==============================================================================
--- libcloud/branches/0.12.x/libcloud/test/compute/test_gandi.py (original)
+++ libcloud/branches/0.12.x/libcloud/test/compute/test_gandi.py Thu Jan 31 02:44:27 2013
@@ -21,7 +21,7 @@ import string
 from libcloud.utils.py3 import httplib
 from libcloud.utils.py3 import xmlrpclib
 
-from libcloud.compute.drivers.gandi import GandiNodeDriver as Gandi
+from libcloud.compute.drivers.gandi import GandiNodeDriver
 from libcloud.compute.base import StorageVolume
 from libcloud.common.gandi import GandiException
 from libcloud.compute.types import NodeState
@@ -30,32 +30,113 @@ from xml.etree import ElementTree as ET
 from libcloud.test import MockHttp
 from libcloud.test.file_fixtures import ComputeFileFixtures
 from libcloud.test.secrets import GANDI_PARAMS
+from libcloud.test.common.test_gandi import MockGandiTransport, BaseGandiTests
 
 
-class MockGandiTransport(xmlrpclib.Transport):
+class GandiMockHttp(MockHttp):
 
-    def request(self, host, handler, request_body, verbose=0):
-        self.verbose = 0
-        method = ET.XML(request_body).find('methodName').text
-        mock = GandiMockHttp(host, 80)
-        mock.request('POST', "%s/%s" % (handler, method))
-        resp = mock.getresponse()
-
-        if sys.version[0] == '2' and sys.version[2] == '7':
-            response = self.parse_response(resp)
-        else:
-            response = self.parse_response(resp.body)
-        return response
+    fixtures = ComputeFileFixtures('gandi')
 
+    def _xmlrpc__datacenter_list(self, method, url, body, headers):
+        body = self.fixtures.load('datacenter_list.xml')
+        return (httplib.OK, body, {}, httplib.responses[httplib.OK])
 
-class GandiTests(unittest.TestCase):
+    def _xmlrpc__image_list(self, method, url, body, headers):
+        body = self.fixtures.load('image_list_dc0.xml')
+        return (httplib.OK, body, {}, httplib.responses[httplib.OK])
 
-    node_name = 'test2'
+    def _xmlrpc__vm_list(self, method, url, body, headers):
+        body = self.fixtures.load('vm_list.xml')
+        return (httplib.OK, body, {}, httplib.responses[httplib.OK])
+
+    def _xmlrpc__ip_list(self, method, url, body, headers):
+        body = self.fixtures.load('ip_list.xml')
+        return (httplib.OK, body, {}, httplib.responses[httplib.OK])
+
+    def _xmlrpc__account_info(self, method, url, body, headers):
+        body = self.fixtures.load('account_info.xml')
+        return (httplib.OK, body, {}, httplib.responses[httplib.OK])
+
+    def _xmlrpc__vm_info(self, method, url, body, headers):
+        body = self.fixtures.load('vm_info.xml')
+        return (httplib.OK, body, {}, httplib.responses[httplib.OK])
+
+    def _xmlrpc__vm_delete(self, method, url, body, headers):
+        body = self.fixtures.load('vm_delete.xml')
+        return (httplib.OK, body, {}, httplib.responses[httplib.OK])
+
+    def _xmlrpc__operation_info(self, method, url, body, headers):
+        body = self.fixtures.load('operation_info.xml')
+        return (httplib.OK, body, {}, httplib.responses[httplib.OK])
+
+    def _xmlrpc__vm_create_from(self, method, url, body, headers):
+        body = self.fixtures.load('vm_create_from.xml')
+        return (httplib.OK, body, {}, httplib.responses[httplib.OK])
+
+    def _xmlrpc__vm_reboot(self, method, url, body, headers):
+        body = self.fixtures.load('vm_reboot.xml')
+        return (httplib.OK, body, {}, httplib.responses[httplib.OK])
+
+    def _xmlrpc__vm_stop(self, method, url, body, headers):
+        body = self.fixtures.load('vm_stop.xml')
+        return (httplib.OK, body, {}, httplib.responses[httplib.OK])
+
+    def _xmlrpc__iface_list(self, method, url, body, headers):
+        body = self.fixtures.load('iface_list.xml')
+        return (httplib.OK, body, {}, httplib.responses[httplib.OK])
+
+    def _xmlrpc__disk_list(self, method, url, body, headers):
+        body = self.fixtures.load('disk_list.xml')
+        return (httplib.OK, body, {}, httplib.responses[httplib.OK])
+
+    def _xmlrpc__vm_iface_attach(self, method, url, body, headers):
+        body = self.fixtures.load('iface_attach.xml')
+        return (httplib.OK, body, {}, httplib.responses[httplib.OK])
+
+    def _xmlrpc__vm_iface_detach(self, method, url, body, headers):
+        body = self.fixtures.load('iface_detach.xml')
+        return (httplib.OK, body, {}, httplib.responses[httplib.OK])
+
+    def _xmlrpc__vm_disk_attach(self, method, url, body, headers):
+        body = self.fixtures.load('disk_attach.xml')
+        return (httplib.OK, body, {}, httplib.responses[httplib.OK])
+
+    def _xmlrpc__vm_disk_detach(self, method, url, body, headers):
+        body = self.fixtures.load('disk_detach.xml')
+        return (httplib.OK, body, {}, httplib.responses[httplib.OK])
 
-    def setUp(self):
-        Gandi.connectionCls.proxyCls.transportCls = \
-            [MockGandiTransport, MockGandiTransport]
-        self.driver = Gandi(*GANDI_PARAMS)
+    def _xmlrpc__disk_create(self, method, url, body, headers):
+        body = self.fixtures.load('disk_create.xml')
+        return (httplib.OK, body, {}, httplib.responses[httplib.OK])
+
+    def _xmlrpc__disk_create_from(self, method, url, body, headers):
+        body = self.fixtures.load('disk_create_from.xml')
+        return (httplib.OK, body, {}, httplib.responses[httplib.OK])
+
+    def _xmlrpc__disk_info(self, method, url, body, headers):
+        body = self.fixtures.load('disk_info.xml')
+        return (httplib.OK, body, {}, httplib.responses[httplib.OK])
+
+    def _xmlrpc__disk_update(self, method, url, body, headers):
+        body = self.fixtures.load('disk_update.xml')
+        return (httplib.OK, body, {}, httplib.responses[httplib.OK])
+
+    def _xmlrpc__disk_delete(self, method, url, body, headers):
+        body = self.fixtures.load('disk_delete.xml')
+        return (httplib.OK, body, {}, httplib.responses[httplib.OK])
+
+
+class DummyTransport(MockGandiTransport):
+    mockCls = GandiMockHttp
+
+
+class GandiTests(BaseGandiTests):
+
+    driverCls = GandiNodeDriver
+    transportCls = DummyTransport
+    params = GANDI_PARAMS
+
+    node_name = 'test2'
 
     def test_list_nodes(self):
         nodes = self.driver.list_nodes()
@@ -64,12 +145,12 @@ class GandiTests(unittest.TestCase):
 
     def test_list_locations(self):
         loc = list(filter(lambda x: 'france' in x.country.lower(),
-            self.driver.list_locations()))[0]
+                          self.driver.list_locations()))[0]
         self.assertEqual(loc.country, 'France')
 
     def test_list_images(self):
         loc = list(filter(lambda x: 'france' in x.country.lower(),
-            self.driver.list_locations()))[0]
+                          self.driver.list_locations()))[0]
         images = self.driver.list_images(loc)
         self.assertTrue(len(images) > 2)
 
@@ -79,7 +160,8 @@ class GandiTests(unittest.TestCase):
 
     def test_destroy_node_running(self):
         nodes = self.driver.list_nodes()
-        test_node = list(filter(lambda x: x.state == NodeState.RUNNING, nodes))[0]
+        test_node = list(filter(lambda x: x.state == NodeState.RUNNING,
+                                nodes))[0]
         self.assertTrue(self.driver.destroy_node(test_node))
 
     def test_destroy_node_halted(self):
@@ -90,29 +172,34 @@ class GandiTests(unittest.TestCase):
 
     def test_reboot_node(self):
         nodes = self.driver.list_nodes()
-        test_node = list(filter(lambda x: x.state == NodeState.RUNNING, nodes))[0]
+        test_node = list(filter(lambda x: x.state == NodeState.RUNNING,
+                                nodes))[0]
         self.assertTrue(self.driver.reboot_node(test_node))
 
     def test_create_node(self):
         login = 'libcloud'
         passwd = ''.join(random.choice(string.ascii_letters)
-            for i in range(10))
+                         for i in range(10))
+
         # Get france datacenter
         loc = list(filter(lambda x: 'france' in x.country.lower(),
-            self.driver.list_locations()))[0]
+                          self.driver.list_locations()))[0]
+
         # Get a debian image
         images = self.driver.list_images(loc)
         images = [x for x in images if x.name.lower().startswith('debian')]
         img = list(filter(lambda x: '5' in x.name, images))[0]
+
         # Get a configuration size
         size = self.driver.list_sizes()[0]
         node = self.driver.create_node(name=self.node_name, login=login,
-            password=passwd, image=img, location=loc, size=size)
+                                       password=passwd, image=img,
+                                       location=loc, size=size)
         self.assertEqual(node.name, self.node_name)
 
     def test_create_volume(self):
         loc = list(filter(lambda x: 'france' in x.country.lower(),
-            self.driver.list_locations()))[0]
+                          self.driver.list_locations()))[0]
         volume = self.driver.create_volume(
             size=1024, name='libcloud', location=loc)
         self.assertEqual(volume.name, 'libcloud')
@@ -125,7 +212,7 @@ class GandiTests(unittest.TestCase):
     def test_destroy_volume(self):
         volumes = self.driver.list_volumes()
         test_vol = list(filter(lambda x: x.name == 'test_disk',
-                                volumes))[0]
+                               volumes))[0]
         self.assertTrue(self.driver.destroy_volume(test_vol))
 
     def test_attach_volume(self):
@@ -160,104 +247,12 @@ class GandiTests(unittest.TestCase):
         disks = self.driver.list_volumes()
         self.assertTrue(self.driver.ex_snapshot_disk(disks[2]))
         self.assertRaises(GandiException,
-            self.driver.ex_snapshot_disk, disks[0])
+                          self.driver.ex_snapshot_disk, disks[0])
 
     def test_ex_update_disk(self):
         disks = self.driver.list_volumes()
         self.assertTrue(self.driver.ex_update_disk(disks[0], new_size=4096))
 
 
-class GandiMockHttp(MockHttp):
-
-    fixtures = ComputeFileFixtures('gandi')
-
-    def _xmlrpc__datacenter_list(self, method, url, body, headers):
-        body = self.fixtures.load('datacenter_list.xml')
-        return (httplib.OK, body, {}, httplib.responses[httplib.OK])
-
-    def _xmlrpc__image_list(self, method, url, body, headers):
-        body = self.fixtures.load('image_list_dc0.xml')
-        return (httplib.OK, body, {}, httplib.responses[httplib.OK])
-
-    def _xmlrpc__vm_list(self, method, url, body, headers):
-        body = self.fixtures.load('vm_list.xml')
-        return (httplib.OK, body, {}, httplib.responses[httplib.OK])
-
-    def _xmlrpc__ip_list(self, method, url, body, headers):
-        body = self.fixtures.load('ip_list.xml')
-        return (httplib.OK, body, {}, httplib.responses[httplib.OK])
-
-    def _xmlrpc__account_info(self, method, url, body, headers):
-        body = self.fixtures.load('account_info.xml')
-        return (httplib.OK, body, {}, httplib.responses[httplib.OK])
-
-    def _xmlrpc__vm_info(self, method, url, body, headers):
-        body = self.fixtures.load('vm_info.xml')
-        return (httplib.OK, body, {}, httplib.responses[httplib.OK])
-
-    def _xmlrpc__vm_delete(self, method, url, body, headers):
-        body = self.fixtures.load('vm_delete.xml')
-        return (httplib.OK, body, {}, httplib.responses[httplib.OK])
-
-    def _xmlrpc__operation_info(self, method, url, body, headers):
-        body = self.fixtures.load('operation_info.xml')
-        return (httplib.OK, body, {}, httplib.responses[httplib.OK])
-
-    def _xmlrpc__vm_create_from(self, method, url, body, headers):
-        body = self.fixtures.load('vm_create_from.xml')
-        return (httplib.OK, body, {}, httplib.responses[httplib.OK])
-
-    def _xmlrpc__vm_reboot(self, method, url, body, headers):
-        body = self.fixtures.load('vm_reboot.xml')
-        return (httplib.OK, body, {}, httplib.responses[httplib.OK])
-
-    def _xmlrpc__vm_stop(self, method, url, body, headers):
-        body = self.fixtures.load('vm_stop.xml')
-        return (httplib.OK, body, {}, httplib.responses[httplib.OK])
-
-    def _xmlrpc__iface_list(self, method, url, body, headers):
-        body = self.fixtures.load('iface_list.xml')
-        return (httplib.OK, body, {}, httplib.responses[httplib.OK])
-
-    def _xmlrpc__disk_list(self, method, url, body, headers):
-        body = self.fixtures.load('disk_list.xml')
-        return (httplib.OK, body, {}, httplib.responses[httplib.OK])
-
-    def _xmlrpc__vm_iface_attach(self, method, url, body, headers):
-        body = self.fixtures.load('iface_attach.xml')
-        return (httplib.OK, body, {}, httplib.responses[httplib.OK])
-
-    def _xmlrpc__vm_iface_detach(self, method, url, body, headers):
-        body = self.fixtures.load('iface_detach.xml')
-        return (httplib.OK, body, {}, httplib.responses[httplib.OK])
-
-    def _xmlrpc__vm_disk_attach(self, method, url, body, headers):
-        body = self.fixtures.load('disk_attach.xml')
-        return (httplib.OK, body, {}, httplib.responses[httplib.OK])
-
-    def _xmlrpc__vm_disk_detach(self, method, url, body, headers):
-        body = self.fixtures.load('disk_detach.xml')
-        return (httplib.OK, body, {}, httplib.responses[httplib.OK])
-
-    def _xmlrpc__disk_create(self, method, url, body, headers):
-        body = self.fixtures.load('disk_create.xml')
-        return (httplib.OK, body, {}, httplib.responses[httplib.OK])
-
-    def _xmlrpc__disk_create_from(self, method, url, body, headers):
-        body = self.fixtures.load('disk_create_from.xml')
-        return (httplib.OK, body, {}, httplib.responses[httplib.OK])
-
-    def _xmlrpc__disk_info(self, method, url, body, headers):
-        body = self.fixtures.load('disk_info.xml')
-        return (httplib.OK, body, {}, httplib.responses[httplib.OK])
-
-    def _xmlrpc__disk_update(self, method, url, body, headers):
-        body = self.fixtures.load('disk_update.xml')
-        return (httplib.OK, body, {}, httplib.responses[httplib.OK])
-
-    def _xmlrpc__disk_delete(self, method, url, body, headers):
-            body = self.fixtures.load('disk_delete.xml')
-            return (httplib.OK, body, {}, httplib.responses[httplib.OK])
-
 if __name__ == '__main__':
     sys.exit(unittest.main())

Modified: libcloud/branches/0.12.x/libcloud/test/secrets.py-dist
URL: http://svn.apache.org/viewvc/libcloud/branches/0.12.x/libcloud/test/secrets.py-dist?rev=1440820&r1=1440819&r2=1440820&view=diff
==============================================================================
--- libcloud/branches/0.12.x/libcloud/test/secrets.py-dist (original)
+++ libcloud/branches/0.12.x/libcloud/test/secrets.py-dist Thu Jan 31 02:44:27 2013
@@ -54,3 +54,4 @@ DNS_PARAMS_ZERIGO = ('email', 'api token
 DNS_PARAMS_RACKSPACE = ('user', 'key')
 DNS_PARAMS_HOSTVIRTUAL = ('key',)
 DNS_PARAMS_ROUTE53 = ('access_id', 'secret')
+DNS_GANDI = ('user', )



Mime
View raw message