Adds API Sample tests for FloatingIPDNS extension.
Partially implements blueprint nova-api-samples Fixes bug 1070164 Change-Id: I4c3e5d406ce43c27bb49a651facaa831de646a66
This commit is contained in:
parent
f262c435f4
commit
851ea98e4e
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
'dns_entry' :
|
||||||
|
{
|
||||||
|
'ip': '192.168.53.11',
|
||||||
|
'dns_type': 'A'
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,5 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<dns_entry>
|
||||||
|
<ip>192.168.53.11</ip>
|
||||||
|
<dns_type>A</dns_type>
|
||||||
|
</dns_entry>
|
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"dns_entry": {
|
||||||
|
"domain": "domain1.example.org",
|
||||||
|
"id": null,
|
||||||
|
"ip": "192.168.1.1",
|
||||||
|
"name": "instance1",
|
||||||
|
"type": "A"
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,2 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<dns_entry ip="192.168.1.1" domain="domain1.example.org" type="A" id="None" name="instance1"/>
|
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
'domain_entry' :
|
||||||
|
{
|
||||||
|
'domain': 'domain1.example.org',
|
||||||
|
'scope': 'public',
|
||||||
|
'project': 'project1'
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,6 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<domain_entry>
|
||||||
|
<domain>domain1.example.org</domain>
|
||||||
|
<scope>public</scope>
|
||||||
|
<project>project1</project>
|
||||||
|
</domain_entry>
|
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"domain_entry": {
|
||||||
|
"availability_zone": null,
|
||||||
|
"domain": "domain1.example.org",
|
||||||
|
"project": "project1",
|
||||||
|
"scope": "public"
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,2 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<domain_entry project="project1" scope="public" domain="domain1.example.org" availability_zone="None"/>
|
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"dns_entry": {
|
||||||
|
"domain": "domain1.example.org",
|
||||||
|
"id": null,
|
||||||
|
"ip": "192.168.1.1",
|
||||||
|
"name": "instance1",
|
||||||
|
"type": null
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,2 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<dns_entry ip="192.168.1.1" domain="domain1.example.org" type="None" id="None" name="instance1"/>
|
@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"dns_entries": [
|
||||||
|
{
|
||||||
|
"domain": "domain1.example.org",
|
||||||
|
"id": null,
|
||||||
|
"ip": "192.168.1.1",
|
||||||
|
"name": "instance1",
|
||||||
|
"type": null
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,4 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<dns_entries>
|
||||||
|
<dns_entry ip="192.168.1.1" domain="domain1.example.org" type="None" id="None" name="instance1"/>
|
||||||
|
</dns_entries>
|
@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"domain_entries": [
|
||||||
|
{
|
||||||
|
"availability_zone": null,
|
||||||
|
"domain": "domain1.example.org",
|
||||||
|
"project": "project1",
|
||||||
|
"scope": "public"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,4 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<domain_entries>
|
||||||
|
<domain_entry project="project1" scope="public" domain="domain1.example.org" availability_zone="None"/>
|
||||||
|
</domain_entries>
|
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"dns_entry" :
|
||||||
|
{
|
||||||
|
"ip": "%(ip)s",
|
||||||
|
"dns_type": "%(dns_type)s"
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,5 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<dns_entry>
|
||||||
|
<ip>%(ip)s</ip>
|
||||||
|
<dns_type>%(dns_type)s</dns_type>
|
||||||
|
</dns_entry>
|
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"dns_entry": {
|
||||||
|
"domain": "%(domain)s",
|
||||||
|
"id": null,
|
||||||
|
"ip": "%(ip)s",
|
||||||
|
"name": "%(name)s",
|
||||||
|
"type": "%(dns_type)s"
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,2 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<dns_entry ip="%(ip)s" domain="%(domain)s" type="%(dns_type)s" id="None" name="%(name)s"/>
|
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"domain_entry" :
|
||||||
|
{
|
||||||
|
"domain": "%(domain)s",
|
||||||
|
"scope": "%(scope)s",
|
||||||
|
"project": "%(project)s"
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,6 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<domain_entry>
|
||||||
|
<domain>%(domain)s</domain>
|
||||||
|
<scope>%(scope)s</scope>
|
||||||
|
<project>%(project)s</project>
|
||||||
|
</domain_entry>
|
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"domain_entry": {
|
||||||
|
"availability_zone": null,
|
||||||
|
"domain": "%(domain)s",
|
||||||
|
"project": "%(project)s",
|
||||||
|
"scope": "%(scope)s"
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,2 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<domain_entry project="%(project)s" scope="%(scope)s" domain="%(domain)s" availability_zone="None"/>
|
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"dns_entry": {
|
||||||
|
"domain": "%(domain)s",
|
||||||
|
"id": null,
|
||||||
|
"ip": "%(ip)s",
|
||||||
|
"name": "%(name)s",
|
||||||
|
"type": null
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,2 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<dns_entry ip="%(ip)s" domain="%(domain)s" type="None" id="None" name="%(name)s"/>
|
@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"dns_entries": [
|
||||||
|
{
|
||||||
|
"domain": "%(domain)s",
|
||||||
|
"id": null,
|
||||||
|
"ip": "%(ip)s",
|
||||||
|
"name": "%(name)s",
|
||||||
|
"type": null
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,4 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<dns_entries>
|
||||||
|
<dns_entry ip="%(ip)s" domain="%(domain)s" type="None" id="None" name="%(name)s"/>
|
||||||
|
</dns_entries>
|
@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"domain_entries": [
|
||||||
|
{
|
||||||
|
"availability_zone": null,
|
||||||
|
"domain": "%(domain)s",
|
||||||
|
"project": "%(project)s",
|
||||||
|
"scope": "%(scope)s"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,4 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<domain_entries>
|
||||||
|
<domain_entry project="%(project)s" scope="%(scope)s" domain="%(domain)s" availability_zone="None"/>
|
||||||
|
</domain_entries>
|
@ -380,7 +380,6 @@ class ApiSamplesTrap(ApiSampleTestBase):
|
|||||||
do_not_approve_additions.append('os-config-drive')
|
do_not_approve_additions.append('os-config-drive')
|
||||||
do_not_approve_additions.append('os-create-server-ext')
|
do_not_approve_additions.append('os-create-server-ext')
|
||||||
do_not_approve_additions.append('os-flavor-access')
|
do_not_approve_additions.append('os-flavor-access')
|
||||||
do_not_approve_additions.append('os-floating-ip-dns')
|
|
||||||
do_not_approve_additions.append('os-hypervisors')
|
do_not_approve_additions.append('os-hypervisors')
|
||||||
do_not_approve_additions.append('os-services')
|
do_not_approve_additions.append('os-services')
|
||||||
do_not_approve_additions.append('os-volumes')
|
do_not_approve_additions.append('os-volumes')
|
||||||
@ -2938,3 +2937,89 @@ class EvacuateJsonTest(ServersSampleBase):
|
|||||||
|
|
||||||
class EvacuateXmlTest(EvacuateJsonTest):
|
class EvacuateXmlTest(EvacuateJsonTest):
|
||||||
ctype = 'xml'
|
ctype = 'xml'
|
||||||
|
|
||||||
|
|
||||||
|
class FloatingIpDNSJsonTest(ApiSampleTestBase):
|
||||||
|
extension_name = ("nova.api.openstack.compute.contrib.floating_ip_dns."
|
||||||
|
"Floating_ip_dns")
|
||||||
|
|
||||||
|
domain = 'domain1.example.org'
|
||||||
|
name = 'instance1'
|
||||||
|
scope = 'public'
|
||||||
|
project = 'project1'
|
||||||
|
dns_type = 'A'
|
||||||
|
ip = '192.168.1.1'
|
||||||
|
|
||||||
|
def _create_or_update(self):
|
||||||
|
subs = {'domain': self.domain,
|
||||||
|
'project': self.project,
|
||||||
|
'scope': self.scope}
|
||||||
|
response = self._do_put('os-floating-ip-dns/%s' % self.domain,
|
||||||
|
'floating-ip-dns-create-or-update-req', subs)
|
||||||
|
self.assertEqual(response.status, 200)
|
||||||
|
self._verify_response('floating-ip-dns-create-or-update-resp', subs,
|
||||||
|
response)
|
||||||
|
|
||||||
|
def _create_or_update_entry(self):
|
||||||
|
subs = {'ip': self.ip, 'dns_type': self.dns_type}
|
||||||
|
response = self._do_put('os-floating-ip-dns/%s/entries/%s'
|
||||||
|
% (self.domain, self.name),
|
||||||
|
'floating-ip-dns-create-or-update-entry-req',
|
||||||
|
subs)
|
||||||
|
self.assertEqual(response.status, 200)
|
||||||
|
subs.update({'name': self.name, 'domain': self.domain})
|
||||||
|
self._verify_response('floating-ip-dns-create-or-update-entry-resp',
|
||||||
|
subs, response)
|
||||||
|
|
||||||
|
def test_floating_ip_dns_list(self):
|
||||||
|
self._create_or_update()
|
||||||
|
response = self._do_get('os-floating-ip-dns')
|
||||||
|
self.assertEqual(response.status, 200)
|
||||||
|
subs = {'domain': self.domain,
|
||||||
|
'project': self.project,
|
||||||
|
'scope': self.scope}
|
||||||
|
return self._verify_response('floating-ip-dns-list-resp', subs,
|
||||||
|
response)
|
||||||
|
|
||||||
|
def test_floating_ip_dns_create_or_update(self):
|
||||||
|
self._create_or_update()
|
||||||
|
|
||||||
|
def test_floating_ip_dns_delete(self):
|
||||||
|
self._create_or_update()
|
||||||
|
response = self._do_delete('os-floating-ip-dns/%s' % self.domain)
|
||||||
|
self.assertEqual(response.status, 202)
|
||||||
|
|
||||||
|
def test_floating_ip_dns_create_or_update_entry(self):
|
||||||
|
self._create_or_update_entry()
|
||||||
|
|
||||||
|
def test_floating_ip_dns_entry_get(self):
|
||||||
|
self._create_or_update_entry()
|
||||||
|
response = self._do_get('os-floating-ip-dns/%s/entries/%s'
|
||||||
|
% (self.domain, self.name))
|
||||||
|
self.assertEqual(response.status, 200)
|
||||||
|
subs = {'domain': self.domain,
|
||||||
|
'ip': self.ip,
|
||||||
|
'name': self.name}
|
||||||
|
return self._verify_response('floating-ip-dns-entry-get-resp', subs,
|
||||||
|
response)
|
||||||
|
|
||||||
|
def test_floating_ip_dns_entry_delete(self):
|
||||||
|
self._create_or_update_entry()
|
||||||
|
response = self._do_delete('os-floating-ip-dns/%s/entries/%s'
|
||||||
|
% (self.domain, self.name))
|
||||||
|
self.assertEqual(response.status, 202)
|
||||||
|
|
||||||
|
def test_floating_ip_dns_entry_list(self):
|
||||||
|
self._create_or_update_entry()
|
||||||
|
response = self._do_get('os-floating-ip-dns/%s/entries/%s'
|
||||||
|
% (self.domain, self.ip))
|
||||||
|
self.assertEqual(response.status, 200)
|
||||||
|
subs = {'domain': self.domain,
|
||||||
|
'ip': self.ip,
|
||||||
|
'name': self.name}
|
||||||
|
return self._verify_response('floating-ip-dns-entry-list-resp', subs,
|
||||||
|
response)
|
||||||
|
|
||||||
|
|
||||||
|
class FloatingIpDNSXmlTest(FloatingIpDNSJsonTest):
|
||||||
|
ctype = 'xml'
|
||||||
|
Loading…
x
Reference in New Issue
Block a user