Merge "Add API sample tests to os-network"

This commit is contained in:
Jenkins 2013-02-06 17:43:01 +00:00 committed by Gerrit Code Review
commit d052a664c8
25 changed files with 591 additions and 1 deletions

View File

@ -0,0 +1 @@
{"id": "1"}

View File

@ -0,0 +1 @@
<id>1</id>

View File

@ -0,0 +1,6 @@
{
"network": {
"label": "new net 111",
"cidr": "10.20.105.0/24"
}
}

View File

@ -0,0 +1,4 @@
<network>
<label>new net 111</label>
<cidr>10.20.105.0/24</cidr>
</network>

View File

@ -0,0 +1,32 @@
{
"network": {
"bridge": null,
"bridge_interface": null,
"broadcast": "10.20.105.255",
"cidr": "10.20.105.0/24",
"cidr_v6": null,
"created_at": null,
"deleted": null,
"deleted_at": null,
"dhcp_start": "10.20.105.2",
"dns1": null,
"dns2": null,
"gateway": "10.20.105.1",
"gateway_v6": null,
"host": null,
"id": "668687f9-d724-4976-a6f4-a6fd3ad83da3",
"injected": null,
"label": "new net 111",
"multi_host": null,
"netmask": "255.255.255.0",
"netmask_v6": null,
"priority": null,
"project_id": null,
"rxtx_base": null,
"updated_at": null,
"vlan": null,
"vpn_private_address": null,
"vpn_public_address": null,
"vpn_public_port": null
}
}

View File

@ -0,0 +1,31 @@
<?xml version='1.0' encoding='UTF-8'?>
<network>
<bridge>None</bridge>
<vpn_public_port>None</vpn_public_port>
<dhcp_start>10.20.105.2</dhcp_start>
<bridge_interface>None</bridge_interface>
<updated_at>None</updated_at>
<id>1bbbed2b-0daa-47a1-b869-1981c29150b1</id>
<cidr_v6>None</cidr_v6>
<deleted_at>None</deleted_at>
<gateway>10.20.105.1</gateway>
<rxtx_base>None</rxtx_base>
<label>new net 111</label>
<priority>None</priority>
<project_id>None</project_id>
<vpn_private_address>None</vpn_private_address>
<deleted>False</deleted>
<vlan>None</vlan>
<broadcast>10.20.105.255</broadcast>
<netmask>255.255.255.0</netmask>
<injected>None</injected>
<cidr>10.20.105.0/24</cidr>
<vpn_public_address>None</vpn_public_address>
<multi_host>None</multi_host>
<dns2>None</dns2>
<created_at>None</created_at>
<host>None</host>
<gateway_v6>None</gateway_v6>
<netmask_v6>None</netmask_v6>
<dns1>None</dns1>
</network>

View File

@ -0,0 +1,32 @@
{
"network": {
"bridge": "br100",
"bridge_interface": "eth0",
"broadcast": "10.0.0.7",
"cidr": "10.0.0.0/29",
"cidr_v6": null,
"created_at": "2011-08-15 06:19:19.387525",
"deleted": false,
"deleted_at": null,
"dhcp_start": "10.0.0.3",
"dns1": null,
"dns2": null,
"gateway": "10.0.0.1",
"gateway_v6": null,
"host": "nsokolov-desktop",
"id": "20c8acc0-f747-4d71-a389-46d078ebf047",
"injected": false,
"label": "mynet_0",
"multi_host": false,
"netmask": "255.255.255.248",
"netmask_v6": null,
"priority": null,
"project_id": "1234",
"rxtx_base": null,
"updated_at": "2011-08-16 09:26:13.048257",
"vlan": 100,
"vpn_private_address": "10.0.0.2",
"vpn_public_address": "127.0.0.1",
"vpn_public_port": 1000
}
}

View File

@ -0,0 +1,31 @@
<?xml version='1.0' encoding='UTF-8'?>
<network>
<bridge>br100</bridge>
<vpn_public_port>1000</vpn_public_port>
<dhcp_start>10.0.0.3</dhcp_start>
<bridge_interface>eth0</bridge_interface>
<updated_at>2011-08-16 09:26:13.048257</updated_at>
<id>20c8acc0-f747-4d71-a389-46d078ebf047</id>
<cidr_v6>None</cidr_v6>
<deleted_at>None</deleted_at>
<gateway>10.0.0.1</gateway>
<rxtx_base>None</rxtx_base>
<label>mynet_0</label>
<priority>None</priority>
<project_id>1234</project_id>
<vpn_private_address>10.0.0.2</vpn_private_address>
<deleted>False</deleted>
<vlan>100</vlan>
<broadcast>10.0.0.7</broadcast>
<netmask>255.255.255.248</netmask>
<injected>False</injected>
<cidr>10.0.0.0/29</cidr>
<vpn_public_address>127.0.0.1</vpn_public_address>
<multi_host>False</multi_host>
<dns2>None</dns2>
<created_at>2011-08-15 06:19:19.387525</created_at>
<host>nsokolov-desktop</host>
<gateway_v6>None</gateway_v6>
<netmask_v6>None</netmask_v6>
<dns1>None</dns1>
</network>

View File

@ -0,0 +1 @@
{"disassociate": null}

View File

@ -0,0 +1 @@
<disassociate>None</disassociate>

View File

@ -0,0 +1,64 @@
{
"networks": [
{
"bridge": "br100",
"bridge_interface": "eth0",
"broadcast": "10.0.0.7",
"cidr": "10.0.0.0/29",
"cidr_v6": null,
"created_at": "2011-08-15 06:19:19.387525",
"deleted": false,
"deleted_at": null,
"dhcp_start": "10.0.0.3",
"dns1": null,
"dns2": null,
"gateway": "10.0.0.1",
"gateway_v6": null,
"host": "nsokolov-desktop",
"id": "20c8acc0-f747-4d71-a389-46d078ebf047",
"injected": false,
"label": "mynet_0",
"multi_host": false,
"netmask": "255.255.255.248",
"netmask_v6": null,
"priority": null,
"project_id": "1234",
"rxtx_base": null,
"updated_at": "2011-08-16 09:26:13.048257",
"vlan": 100,
"vpn_private_address": "10.0.0.2",
"vpn_public_address": "127.0.0.1",
"vpn_public_port": 1000
},
{
"bridge": "br101",
"bridge_interface": "eth0",
"broadcast": "10.0.0.15",
"cidr": "10.0.0.10/29",
"cidr_v6": null,
"created_at": "2011-08-15 06:19:19.885495",
"deleted": false,
"deleted_at": null,
"dhcp_start": "10.0.0.11",
"dns1": null,
"dns2": null,
"gateway": "10.0.0.9",
"gateway_v6": null,
"host": null,
"id": "20c8acc0-f747-4d71-a389-46d078ebf000",
"injected": false,
"label": "mynet_1",
"multi_host": false,
"netmask": "255.255.255.248",
"netmask_v6": null,
"priority": null,
"project_id": null,
"rxtx_base": null,
"updated_at": null,
"vlan": 101,
"vpn_private_address": "10.0.0.10",
"vpn_public_address": null,
"vpn_public_port": 1001
}
]
}

View File

@ -0,0 +1,63 @@
<?xml version='1.0' encoding='UTF-8'?>
<networks>
<network>
<bridge>br100</bridge>
<vpn_public_port>1000</vpn_public_port>
<dhcp_start>10.0.0.3</dhcp_start>
<bridge_interface>eth0</bridge_interface>
<updated_at>2011-08-16 09:26:13.048257</updated_at>
<id>20c8acc0-f747-4d71-a389-46d078ebf047</id>
<cidr_v6>None</cidr_v6>
<deleted_at>None</deleted_at>
<gateway>10.0.0.1</gateway>
<rxtx_base>None</rxtx_base>
<label>mynet_0</label>
<priority>None</priority>
<project_id>1234</project_id>
<vpn_private_address>10.0.0.2</vpn_private_address>
<deleted>False</deleted>
<vlan>100</vlan>
<broadcast>10.0.0.7</broadcast>
<netmask>255.255.255.248</netmask>
<injected>False</injected>
<cidr>10.0.0.0/29</cidr>
<vpn_public_address>127.0.0.1</vpn_public_address>
<multi_host>False</multi_host>
<dns2>None</dns2>
<created_at>2011-08-15 06:19:19.387525</created_at>
<host>nsokolov-desktop</host>
<gateway_v6>None</gateway_v6>
<netmask_v6>None</netmask_v6>
<dns1>None</dns1>
</network>
<network>
<bridge>br101</bridge>
<vpn_public_port>1001</vpn_public_port>
<dhcp_start>10.0.0.11</dhcp_start>
<bridge_interface>eth0</bridge_interface>
<updated_at>None</updated_at>
<id>20c8acc0-f747-4d71-a389-46d078ebf000</id>
<cidr_v6>None</cidr_v6>
<deleted_at>None</deleted_at>
<gateway>10.0.0.9</gateway>
<rxtx_base>None</rxtx_base>
<label>mynet_1</label>
<priority>None</priority>
<project_id>None</project_id>
<vpn_private_address>10.0.0.10</vpn_private_address>
<deleted>False</deleted>
<vlan>101</vlan>
<broadcast>10.0.0.15</broadcast>
<netmask>255.255.255.248</netmask>
<injected>False</injected>
<cidr>10.0.0.10/29</cidr>
<vpn_public_address>None</vpn_public_address>
<multi_host>False</multi_host>
<dns2>None</dns2>
<created_at>2011-08-15 06:19:19.885495</created_at>
<host>None</host>
<gateway_v6>None</gateway_v6>
<netmask_v6>None</netmask_v6>
<dns1>None</dns1>
</network>
</networks>

View File

@ -0,0 +1 @@
{"id": "1"}

View File

@ -0,0 +1 @@
<id>1</id>

View File

@ -0,0 +1,6 @@
{
"network": {
"label": "new net 111",
"cidr": "10.20.105.0/24"
}
}

View File

@ -0,0 +1,4 @@
<network>
<label>new net 111</label>
<cidr>10.20.105.0/24</cidr>
</network>

View File

@ -0,0 +1,32 @@
{
"network": {
"bridge": null,
"vpn_public_port": null,
"dhcp_start": "%(ip)s",
"bridge_interface": null,
"updated_at": null,
"id": "%(id)s",
"cidr_v6": null,
"deleted_at": null,
"gateway": "%(ip)s",
"rxtx_base": null,
"label": "new net 111",
"priority": null,
"project_id": null,
"vpn_private_address": null,
"deleted": null,
"vlan": null,
"broadcast": "%(ip)s",
"netmask": "%(ip)s",
"injected": null,
"cidr": "10.20.105.0/24",
"vpn_public_address": null,
"multi_host": null,
"dns2": null,
"created_at": null,
"host": null,
"gateway_v6": null,
"netmask_v6": null,
"dns1": null
}
}

View File

@ -0,0 +1,30 @@
<network>
<bridge>None</bridge>
<vpn_public_port>None</vpn_public_port>
<dhcp_start>%(ip)s</dhcp_start>
<bridge_interface>None</bridge_interface>
<updated_at>None</updated_at>
<id>%(id)s</id>
<cidr_v6>None</cidr_v6>
<deleted_at>None</deleted_at>
<gateway>%(ip)s</gateway>
<rxtx_base>None</rxtx_base>
<label>new net 111</label>
<priority>None</priority>
<project_id>None</project_id>
<vpn_private_address>None</vpn_private_address>
<deleted>False</deleted>
<vlan>None</vlan>
<broadcast>%(ip)s</broadcast>
<netmask>%(ip)s</netmask>
<injected>None</injected>
<cidr>10.20.105.0/24</cidr>
<vpn_public_address>None</vpn_public_address>
<multi_host>None</multi_host>
<dns2>None</dns2>
<created_at>None</created_at>
<host>None</host>
<gateway_v6>None</gateway_v6>
<netmask_v6>None</netmask_v6>
<dns1>None</dns1>
</network>

View File

@ -0,0 +1,33 @@
{
"network":
{
"bridge": "br100",
"bridge_interface": "eth0",
"broadcast": "%(ip)s",
"cidr": "10.0.0.0/29",
"cidr_v6": null,
"created_at": "%(timestamp)s",
"deleted": false,
"deleted_at": null,
"dhcp_start": "%(ip)s",
"dns1": null,
"dns2": null,
"gateway": "%(ip)s",
"gateway_v6": null,
"host": "nsokolov-desktop",
"id": "%(id)s",
"injected": false,
"label": "mynet_0",
"multi_host": false,
"netmask": "%(ip)s",
"netmask_v6": null,
"priority": null,
"project_id": "1234",
"rxtx_base": null,
"updated_at": "%(timestamp)s",
"vlan": 100,
"vpn_private_address": "%(ip)s",
"vpn_public_address": "%(ip)s",
"vpn_public_port": 1000
}
}

View File

@ -0,0 +1,31 @@
<?xml version='1.0' encoding='UTF-8'?>
<network>
<bridge>br100</bridge>
<vpn_public_port>1000</vpn_public_port>
<dhcp_start>%(ip)s</dhcp_start>
<bridge_interface>eth0</bridge_interface>
<updated_at>%(timestamp)s</updated_at>
<id>%(id)s</id>
<cidr_v6>None</cidr_v6>
<deleted_at>None</deleted_at>
<gateway>%(ip)s</gateway>
<rxtx_base>None</rxtx_base>
<label>mynet_0</label>
<priority>None</priority>
<project_id>1234</project_id>
<vpn_private_address>%(ip)s</vpn_private_address>
<deleted>False</deleted>
<vlan>100</vlan>
<broadcast>%(ip)s</broadcast>
<netmask>%(ip)s</netmask>
<injected>False</injected>
<cidr>10.0.0.0/29</cidr>
<vpn_public_address>%(ip)s</vpn_public_address>
<multi_host>False</multi_host>
<dns2>None</dns2>
<created_at>%(timestamp)s</created_at>
<host>nsokolov-desktop</host>
<gateway_v6>None</gateway_v6>
<netmask_v6>None</netmask_v6>
<dns1>None</dns1>
</network>

View File

@ -0,0 +1 @@
{"disassociate": null}

View File

@ -0,0 +1 @@
<disassociate>None</disassociate>

View File

@ -0,0 +1,64 @@
{
"networks": [
{
"bridge": "br100",
"bridge_interface": "eth0",
"broadcast": "%(ip)s",
"cidr": "10.0.0.0/29",
"cidr_v6": null,
"created_at": "%(timestamp)s",
"deleted": false,
"deleted_at": null,
"dhcp_start": "%(ip)s",
"dns1": null,
"dns2": null,
"gateway": "%(ip)s",
"gateway_v6": null,
"host": "nsokolov-desktop",
"id": "%(id)s",
"injected": false,
"label": "mynet_0",
"multi_host": false,
"netmask": "%(ip)s",
"netmask_v6": null,
"priority": null,
"project_id": "1234",
"rxtx_base": null,
"updated_at": "%(timestamp)s",
"vlan": 100,
"vpn_private_address": "%(ip)s",
"vpn_public_address": "%(ip)s",
"vpn_public_port": 1000
},
{
"bridge": "br101",
"bridge_interface": "eth0",
"broadcast": "%(ip)s",
"cidr": "10.0.0.10/29",
"cidr_v6": null,
"created_at": "%(timestamp)s",
"deleted": false,
"deleted_at": null,
"dhcp_start": "%(ip)s",
"dns1": null,
"dns2": null,
"gateway": "%(ip)s",
"gateway_v6": null,
"host": null,
"id": "%(id)s",
"injected": false,
"label": "mynet_1",
"multi_host": false,
"netmask": "%(ip)s",
"netmask_v6": null,
"priority": null,
"project_id": null,
"rxtx_base": null,
"updated_at": null,
"vlan": 101,
"vpn_private_address": "%(ip)s",
"vpn_public_address": null,
"vpn_public_port": 1001
}
]
}

View File

@ -0,0 +1,63 @@
<?xml version='1.0' encoding='UTF-8'?>
<networks>
<network>
<bridge>br100</bridge>
<vpn_public_port>1000</vpn_public_port>
<dhcp_start>%(ip)s</dhcp_start>
<bridge_interface>eth0</bridge_interface>
<updated_at>%(timestamp)s</updated_at>
<id>%(id)s</id>
<cidr_v6>None</cidr_v6>
<deleted_at>None</deleted_at>
<gateway>%(ip)s</gateway>
<rxtx_base>None</rxtx_base>
<label>mynet_0</label>
<priority>None</priority>
<project_id>1234</project_id>
<vpn_private_address>%(ip)s</vpn_private_address>
<deleted>False</deleted>
<vlan>100</vlan>
<broadcast>%(ip)s</broadcast>
<netmask>%(ip)s</netmask>
<injected>False</injected>
<cidr>10.0.0.0/29</cidr>
<vpn_public_address>%(ip)s</vpn_public_address>
<multi_host>False</multi_host>
<dns2>None</dns2>
<created_at>%(timestamp)s</created_at>
<host>nsokolov-desktop</host>
<gateway_v6>None</gateway_v6>
<netmask_v6>None</netmask_v6>
<dns1>None</dns1>
</network>
<network>
<bridge>br101</bridge>
<vpn_public_port>1001</vpn_public_port>
<dhcp_start>%(ip)s</dhcp_start>
<bridge_interface>eth0</bridge_interface>
<updated_at>None</updated_at>
<id>%(id)s</id>
<cidr_v6>None</cidr_v6>
<deleted_at>None</deleted_at>
<gateway>%(ip)s</gateway>
<rxtx_base>None</rxtx_base>
<label>mynet_1</label>
<priority>None</priority>
<project_id>None</project_id>
<vpn_private_address>%(ip)s</vpn_private_address>
<deleted>False</deleted>
<vlan>101</vlan>
<broadcast>%(ip)s</broadcast>
<netmask>%(ip)s</netmask>
<injected>False</injected>
<cidr>10.0.0.10/29</cidr>
<vpn_public_address>None</vpn_public_address>
<multi_host>False</multi_host>
<dns2>None</dns2>
<created_at>%(timestamp)s</created_at>
<host>None</host>
<gateway_v6>None</gateway_v6>
<netmask_v6>None</netmask_v6>
<dns1>None</dns1>
</network>
</networks>

View File

@ -44,6 +44,7 @@ import nova.quota
from nova.scheduler import driver from nova.scheduler import driver
from nova import test from nova import test
from nova.tests.api.openstack.compute.contrib import test_fping from nova.tests.api.openstack.compute.contrib import test_fping
from nova.tests.api.openstack.compute.contrib import test_networks
from nova.tests.baremetal.db import base as bm_db_base from nova.tests.baremetal.db import base as bm_db_base
from nova.tests import fake_network from nova.tests import fake_network
from nova.tests.image import fake from nova.tests.image import fake
@ -381,7 +382,6 @@ class ApiSamplesTrap(ApiSampleTestBase):
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-floating-ip-dns')
do_not_approve_additions.append('os-hypervisors') do_not_approve_additions.append('os-hypervisors')
do_not_approve_additions.append('os-networks')
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')
@ -2423,6 +2423,62 @@ class OsNetworksJsonTests(ApiSampleTestBase):
self.assertEqual(response.status, 202) self.assertEqual(response.status, 202)
class NetworksJsonTests(ApiSampleTestBase):
extension_name = ("nova.api.openstack.compute.contrib"
".os_networks.Os_networks")
def setUp(self):
super(NetworksJsonTests, self).setUp()
fake_network_api = test_networks.FakeNetworkAPI()
self.stubs.Set(network_api.API, "get_all",
fake_network_api.get_all)
self.stubs.Set(network_api.API, "get",
fake_network_api.get)
self.stubs.Set(network_api.API, "associate",
fake_network_api.associate)
self.stubs.Set(network_api.API, "delete",
fake_network_api.delete)
self.stubs.Set(network_api.API, "create",
fake_network_api.create)
self.stubs.Set(network_api.API, "add_network_to_project",
fake_network_api.add_network_to_project)
def test_network_list(self):
response = self._do_get('os-networks')
self.assertEqual(response.status, 200)
subs = self._get_regexes()
self._verify_response('networks-list-resp', subs, response)
def test_network_disassociate(self):
uuid = test_networks.FAKE_NETWORKS[0]['uuid']
response = self._do_post('os-networks/%s/action' % uuid,
'networks-disassociate-req', {})
self.assertEqual(response.status, 202)
def test_network_show(self):
uuid = test_networks.FAKE_NETWORKS[0]['uuid']
response = self._do_get('os-networks/%s' % uuid)
self.assertEqual(response.status, 200)
subs = self._get_regexes()
self._verify_response('network-show-resp', subs, response)
def test_network_create(self):
response = self._do_post("os-networks",
'network-create-req', {})
self.assertEqual(response.status, 200)
subs = self._get_regexes()
self._verify_response('network-create-resp', subs, response)
def test_network_add(self):
response = self._do_post("os-networks/add",
'network-add-req', {})
self.assertEqual(response.status, 202)
class NetworksXmlTests(NetworksJsonTests):
ctype = 'xml'
class NetworksAssociateJsonTests(ApiSampleTestBase): class NetworksAssociateJsonTests(ApiSampleTestBase):
extension_name = ("nova.api.openstack.compute.contrib" extension_name = ("nova.api.openstack.compute.contrib"
".networks_associate.Networks_associate") ".networks_associate.Networks_associate")