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/09/24 00:53:38 UTC
svn commit: r1175064 - in /libcloud/trunk/test/dns: ./ fixtures/linode/
Author: tomaz
Date: Fri Sep 23 22:53:37 2011
New Revision: 1175064
URL: http://svn.apache.org/viewvc?rev=1175064&view=rev
Log:
Add missing test for Linode DNS driver.
Added:
libcloud/trunk/test/dns/fixtures/linode/create_resource.json
libcloud/trunk/test/dns/fixtures/linode/delete_domain.json
libcloud/trunk/test/dns/fixtures/linode/delete_domain_does_not_exist.json
libcloud/trunk/test/dns/fixtures/linode/delete_resource.json
libcloud/trunk/test/dns/fixtures/linode/delete_resource_does_not_exist.json
libcloud/trunk/test/dns/fixtures/linode/resource_list_does_not_exist.json
libcloud/trunk/test/dns/fixtures/linode/update_resource.json
Modified:
libcloud/trunk/test/dns/test_linode.py
Added: libcloud/trunk/test/dns/fixtures/linode/create_resource.json
URL: http://svn.apache.org/viewvc/libcloud/trunk/test/dns/fixtures/linode/create_resource.json?rev=1175064&view=auto
==============================================================================
--- libcloud/trunk/test/dns/fixtures/linode/create_resource.json (added)
+++ libcloud/trunk/test/dns/fixtures/linode/create_resource.json Fri Sep 23 22:53:37 2011
@@ -0,0 +1,7 @@
+{
+ "ERRORARRAY":[],
+ "ACTION":"domain.resource.create",
+ "DATA":{
+ "ResourceID":28537
+ }
+}
Added: libcloud/trunk/test/dns/fixtures/linode/delete_domain.json
URL: http://svn.apache.org/viewvc/libcloud/trunk/test/dns/fixtures/linode/delete_domain.json?rev=1175064&view=auto
==============================================================================
--- libcloud/trunk/test/dns/fixtures/linode/delete_domain.json (added)
+++ libcloud/trunk/test/dns/fixtures/linode/delete_domain.json Fri Sep 23 22:53:37 2011
@@ -0,0 +1,7 @@
+{
+ "ERRORARRAY":[],
+ "ACTION":"domain.delete",
+ "DATA":{
+ "DomainID":5123
+ }
+}
Added: libcloud/trunk/test/dns/fixtures/linode/delete_domain_does_not_exist.json
URL: http://svn.apache.org/viewvc/libcloud/trunk/test/dns/fixtures/linode/delete_domain_does_not_exist.json?rev=1175064&view=auto
==============================================================================
--- libcloud/trunk/test/dns/fixtures/linode/delete_domain_does_not_exist.json (added)
+++ libcloud/trunk/test/dns/fixtures/linode/delete_domain_does_not_exist.json Fri Sep 23 22:53:37 2011
@@ -0,0 +1 @@
+{"ERRORARRAY":[{"ERRORCODE":5,"ERRORMESSAGE":"Object not found"}],"DATA":{},"ACTION":"domain.delete"}
Added: libcloud/trunk/test/dns/fixtures/linode/delete_resource.json
URL: http://svn.apache.org/viewvc/libcloud/trunk/test/dns/fixtures/linode/delete_resource.json?rev=1175064&view=auto
==============================================================================
--- libcloud/trunk/test/dns/fixtures/linode/delete_resource.json (added)
+++ libcloud/trunk/test/dns/fixtures/linode/delete_resource.json Fri Sep 23 22:53:37 2011
@@ -0,0 +1,7 @@
+{
+ "ERRORARRAY":[],
+ "ACTION":"domain.delete",
+ "DATA":{
+ "ResourceID":5123
+ }
+}
Added: libcloud/trunk/test/dns/fixtures/linode/delete_resource_does_not_exist.json
URL: http://svn.apache.org/viewvc/libcloud/trunk/test/dns/fixtures/linode/delete_resource_does_not_exist.json?rev=1175064&view=auto
==============================================================================
--- libcloud/trunk/test/dns/fixtures/linode/delete_resource_does_not_exist.json (added)
+++ libcloud/trunk/test/dns/fixtures/linode/delete_resource_does_not_exist.json Fri Sep 23 22:53:37 2011
@@ -0,0 +1 @@
+{"ERRORARRAY":[{"ERRORCODE":5,"ERRORMESSAGE":"Object not found"}],"DATA":{},"ACTION":"domain.resource.delete"}
Added: libcloud/trunk/test/dns/fixtures/linode/resource_list_does_not_exist.json
URL: http://svn.apache.org/viewvc/libcloud/trunk/test/dns/fixtures/linode/resource_list_does_not_exist.json?rev=1175064&view=auto
==============================================================================
--- libcloud/trunk/test/dns/fixtures/linode/resource_list_does_not_exist.json (added)
+++ libcloud/trunk/test/dns/fixtures/linode/resource_list_does_not_exist.json Fri Sep 23 22:53:37 2011
@@ -0,0 +1 @@
+{"ERRORARRAY":[{"ERRORCODE":5,"ERRORMESSAGE":"Object not found"}],"DATA":{},"ACTION":"domain.resource.list"}
Added: libcloud/trunk/test/dns/fixtures/linode/update_resource.json
URL: http://svn.apache.org/viewvc/libcloud/trunk/test/dns/fixtures/linode/update_resource.json?rev=1175064&view=auto
==============================================================================
--- libcloud/trunk/test/dns/fixtures/linode/update_resource.json (added)
+++ libcloud/trunk/test/dns/fixtures/linode/update_resource.json Fri Sep 23 22:53:37 2011
@@ -0,0 +1,7 @@
+{
+ "ERRORARRAY":[],
+ "ACTION":"domain.resource.update",
+ "DATA":{
+ "ResourceID":28537
+ }
+}
Modified: libcloud/trunk/test/dns/test_linode.py
URL: http://svn.apache.org/viewvc/libcloud/trunk/test/dns/test_linode.py?rev=1175064&r1=1175063&r2=1175064&view=diff
==============================================================================
--- libcloud/trunk/test/dns/test_linode.py (original)
+++ libcloud/trunk/test/dns/test_linode.py Fri Sep 23 22:53:37 2011
@@ -18,13 +18,13 @@ import unittest
from libcloud.common.linode import LinodeException
from libcloud.dns.types import RecordType, ZoneDoesNotExistError
+from libcloud.dns.types import RecordDoesNotExistError
from libcloud.dns.drivers.linode import LinodeDNSDriver
-from test import MockHttp # pylint: disable-msg=E0611
-from test.file_fixtures import DNSFileFixtures # pylint: disable-msg=E0611
+from test import MockHttp
+from test.file_fixtures import DNSFileFixtures
from test.secrets import DNS_PARAMS_LINODE
-DOES_NOT_EXIST_ERROR = '{"ERRORARRAY":[{"ERRORCODE":5,"ERRORMESSAGE":"Object not found"}],"DATA":{},"ACTION":"domain.resource.list"}'
class LinodeTests(unittest.TestCase):
def setUp(self):
@@ -60,7 +60,8 @@ class LinodeTests(unittest.TestCase):
self.assertEqual(record.name, 'www')
self.assertEqual(record.type, RecordType.A)
self.assertEqual(record.data, '75.127.96.245')
- self.assertHasKeys(record.extra, ['protocol', 'ttl_sec', 'port', 'weight'])
+ self.assertHasKeys(record.extra, ['protocol', 'ttl_sec', 'port',
+ 'weight'])
def test_list_records_zone_does_not_exist(self):
zone = self.driver.list_zones()[0]
@@ -100,7 +101,8 @@ class LinodeTests(unittest.TestCase):
self.assertEqual(record.name, 'www')
self.assertEqual(record.type, RecordType.A)
self.assertEqual(record.data, '75.127.96.245')
- self.assertHasKeys(record.extra, ['protocol', 'ttl_sec', 'port', 'weight'])
+ self.assertHasKeys(record.extra, ['protocol', 'ttl_sec', 'port',
+ 'weight'])
def test_get_record_zone_does_not_exist(self):
LinodeMockHttp.type = 'GET_RECORD_ZONE_DOES_NOT_EXIST'
@@ -140,22 +142,63 @@ class LinodeTests(unittest.TestCase):
self.fail('Exception was not thrown')
def test_create_record_success(self):
- pass
+ zone = self.driver.list_zones()[0]
+ record = self.driver.create_record(name='www', zone=zone,
+ type=RecordType.A, data='127.0.0.1')
+
+ self.assertEqual(record.id, '28537')
+ self.assertEqual(record.name, 'www')
+ self.assertEqual(record.zone, zone)
+ self.assertEqual(record.type, RecordType.A)
+ self.assertEqual(record.data, '127.0.0.1')
def test_update_record_success(self):
- pass
+ zone = self.driver.list_zones()[0]
+ record = self.driver.list_records(zone=zone)[0]
+ record2 = self.driver.update_record(record=record, name='www',
+ type=RecordType.AAAA, data='::1')
+
+ self.assertEqual(record2.id, '28537')
+ self.assertEqual(record2.name, 'www')
+ self.assertEqual(record2.zone, record.zone)
+ self.assertEqual(record2.type, RecordType.AAAA)
+ self.assertEqual(record2.data, '::1')
+
+ def test_delete_zone_success(self):
+ zone = self.driver.list_zones()[0]
+ status = self.driver.delete_zone(zone=zone)
+ self.assertTrue(status)
+
+ def test_delete_zone_does_not_exist(self):
+ zone = self.driver.list_zones()[0]
+
+ LinodeMockHttp.type = 'ZONE_DOES_NOT_EXIST'
+
+ try:
+ self.driver.delete_zone(zone=zone)
+ except ZoneDoesNotExistError, e:
+ self.assertEqual(e.zone_id, zone.id)
+ else:
+ self.fail('Exception was not thrown')
def test_delete_record_success(self):
- pass
+ zone = self.driver.list_zones()[0]
+ record = self.driver.list_records(zone=zone)[0]
+ status = self.driver.delete_record(record=record)
+ self.assertTrue(status)
def test_delete_record_does_not_exist(self):
- pass
+ zone = self.driver.list_zones()[0]
+ record = self.driver.list_records(zone=zone)[0]
- def test_delete_zone_success(self):
- pass
+ LinodeMockHttp.type = 'RECORD_DOES_NOT_EXIST'
- def test_delete_zone_does_not_exist(self):
- pass
+ try:
+ self.driver.delete_record(record=record)
+ except RecordDoesNotExistError, e:
+ self.assertEqual(e.record_id, record.id)
+ else:
+ self.fail('Exception was not thrown')
class LinodeMockHttp(MockHttp):
@@ -169,15 +212,17 @@ class LinodeMockHttp(MockHttp):
body = self.fixtures.load('resource_list.json')
return (httplib.OK, body, {}, httplib.responses[httplib.OK])
- def _ZONE_DOES_NOT_EXIST_domain_resource_list(self, method, url, body, headers):
- body = DOES_NOT_EXIST_ERROR
+ def _ZONE_DOES_NOT_EXIST_domain_resource_list(self, method, url, body,
+ headers):
+ body = self.fixtures.load('resource_list_does_not_exist.json')
return (httplib.OK, body, {}, httplib.responses[httplib.OK])
def _GET_ZONE_domain_list(self, method, url, body, headers):
body = self.fixtures.load('get_zone.json')
return (httplib.OK, body, {}, httplib.responses[httplib.OK])
- def _GET_ZONE_DOES_NOT_EXIST_domain_list(self, method, url, body, headers):
+ def _GET_ZONE_DOES_NOT_EXIST_domain_list(self, method, url, body,
+ headers):
body = self.fixtures.load('get_zone_does_not_exist.json')
return (httplib.OK, body, {}, httplib.responses[httplib.OK])
@@ -189,11 +234,13 @@ class LinodeMockHttp(MockHttp):
body = self.fixtures.load('get_record.json')
return (httplib.OK, body, {}, httplib.responses[httplib.OK])
- def _GET_RECORD_ZONE_DOES_NOT_EXIST_domain_list(self, method, url, body, headers):
+ def _GET_RECORD_ZONE_DOES_NOT_EXIST_domain_list(self, method, url, body,
+ headers):
body = self.fixtures.load('get_zone_does_not_exist.json')
return (httplib.OK, body, {}, httplib.responses[httplib.OK])
- def _GET_RECORD_RECORD_DOES_NOT_EXIST_domain_list(self, method, url, body, headers):
+ def _GET_RECORD_RECORD_DOES_NOT_EXIST_domain_list(self, method, url, body,
+ headers):
body = self.fixtures.load('get_record_does_not_exist.json')
return (httplib.OK, body, {}, httplib.responses[httplib.OK])
@@ -205,6 +252,31 @@ class LinodeMockHttp(MockHttp):
body = self.fixtures.load('create_domain_validation_error.json')
return (httplib.OK, body, {}, httplib.responses[httplib.OK])
+ def _domain_resource_create(self, method, url, body, headers):
+ body = self.fixtures.load('create_resource.json')
+ return (httplib.OK, body, {}, httplib.responses[httplib.OK])
+
+ def _domain_resource_update(self, method, url, body, headers):
+ body = self.fixtures.load('update_resource.json')
+ return (httplib.OK, body, {}, httplib.responses[httplib.OK])
+
+ def _domain_delete(self, method, url, body, headers):
+ body = self.fixtures.load('delete_domain.json')
+ return (httplib.OK, body, {}, httplib.responses[httplib.OK])
+
+ def _ZONE_DOES_NOT_EXIST_domain_delete(self, method, url, body, headers):
+ body = self.fixtures.load('delete_domain_does_not_exist.json')
+ return (httplib.OK, body, {}, httplib.responses[httplib.OK])
+
+ def _domain_resource_delete(self, method, url, body, headers):
+ body = self.fixtures.load('delete_resource.json')
+ return (httplib.OK, body, {}, httplib.responses[httplib.OK])
+
+ def _RECORD_DOES_NOT_EXIST_domain_resource_delete(self, method, url, body,
+ headers):
+ body = self.fixtures.load('delete_resource_does_not_exist.json')
+ return (httplib.OK, body, {}, httplib.responses[httplib.OK])
+
if __name__ == '__main__':
sys.exit(unittest.main())