Merge "Fixes Hyper-V basic scenario volume partition name"
diff --git a/etc/tempest.conf.sample b/etc/tempest.conf.sample
index 247f6d1..29f80bd 100644
--- a/etc/tempest.conf.sample
+++ b/etc/tempest.conf.sample
@@ -933,8 +933,15 @@
# Directory containing image files (string value)
#img_dir=/opt/stack/new/devstack/files/images/cirros-0.3.1-x86_64-uec
-# QCOW2 image file name (string value)
-#qcow2_img_file=cirros-0.3.1-x86_64-disk.img
+# Image file name (string value)
+# Deprecated group/name - [DEFAULT]/qcow2_img_file
+#img_file=cirros-0.3.1-x86_64-disk.img
+
+# Image disk format (string value)
+#img_disk_format=qcow2
+
+# Image container format (string value)
+#img_container_format=bare
# AMI image file name (string value)
#ami_img_file=cirros-0.3.1-x86_64-blank.img
diff --git a/tempest/api/database/flavors/test_flavors.py b/tempest/api/database/flavors/test_flavors.py
index 64d71b9..7d30f26 100644
--- a/tempest/api/database/flavors/test_flavors.py
+++ b/tempest/api/database/flavors/test_flavors.py
@@ -55,6 +55,7 @@
self.assertNotIn(name, db_flavor)
@test.attr(type='smoke')
+ @test.services('compute')
def test_compare_db_flavors_with_os(self):
resp, db_flavors = self.client.list_db_flavors()
self.assertEqual(200, resp.status)
diff --git a/tempest/api/network/admin/test_agent_management.py b/tempest/api/network/admin/test_agent_management.py
index b848994..f8782ad 100644
--- a/tempest/api/network/admin/test_agent_management.py
+++ b/tempest/api/network/admin/test_agent_management.py
@@ -32,8 +32,7 @@
@test.attr(type='smoke')
def test_list_agent(self):
- resp, body = self.admin_client.list_agents()
- self.assertEqual('200', resp['status'])
+ _, body = self.admin_client.list_agents()
agents = body['agents']
# Hearthbeats must be excluded from comparison
self.agent.pop('heartbeat_timestamp', None)
@@ -45,15 +44,13 @@
@test.attr(type=['smoke'])
def test_list_agents_non_admin(self):
- resp, body = self.client.list_agents()
- self.assertEqual('200', resp['status'])
+ _, body = self.client.list_agents()
self.assertEqual(len(body["agents"]), 0)
@test.attr(type='smoke')
def test_show_agent(self):
- resp, body = self.admin_client.show_agent(self.agent['id'])
+ _, body = self.admin_client.show_agent(self.agent['id'])
agent = body['agent']
- self.assertEqual('200', resp['status'])
self.assertEqual(agent['id'], self.agent['id'])
@test.attr(type='smoke')
@@ -62,10 +59,9 @@
# Try to update the 'admin_state_up' to the original
# one to avoid the negative effect.
agent_status = {'admin_state_up': origin_status}
- resp, body = self.admin_client.update_agent(agent_id=self.agent['id'],
- agent_info=agent_status)
+ _, body = self.admin_client.update_agent(agent_id=self.agent['id'],
+ agent_info=agent_status)
updated_status = body['agent']['admin_state_up']
- self.assertEqual('200', resp['status'])
self.assertEqual(origin_status, updated_status)
@test.attr(type='smoke')
@@ -73,10 +69,8 @@
self.useFixture(fixtures.LockFixture('agent_description'))
description = 'description for update agent.'
agent_description = {'description': description}
- resp, body = self.admin_client.update_agent(
- agent_id=self.agent['id'],
- agent_info=agent_description)
- self.assertEqual('200', resp['status'])
+ _, body = self.admin_client.update_agent(agent_id=self.agent['id'],
+ agent_info=agent_description)
self.addCleanup(self._restore_agent)
updated_description = body['agent']['description']
self.assertEqual(updated_description, description)
diff --git a/tempest/api/network/admin/test_dhcp_agent_scheduler.py b/tempest/api/network/admin/test_dhcp_agent_scheduler.py
index 25e1cc0..c84d1a7 100644
--- a/tempest/api/network/admin/test_dhcp_agent_scheduler.py
+++ b/tempest/api/network/admin/test_dhcp_agent_scheduler.py
@@ -35,9 +35,8 @@
@test.attr(type='smoke')
def test_list_dhcp_agent_hosting_network(self):
- resp, body = self.admin_client.list_dhcp_agent_hosting_network(
+ _, body = self.admin_client.list_dhcp_agent_hosting_network(
self.network['id'])
- self.assertEqual(resp['status'], '200')
@test.attr(type='smoke')
def test_list_networks_hosted_by_one_dhcp(self):
@@ -51,9 +50,8 @@
def _check_network_in_dhcp_agent(self, network_id, agent):
network_ids = []
- resp, body = self.admin_client.list_networks_hosted_by_one_dhcp_agent(
+ _, body = self.admin_client.list_networks_hosted_by_one_dhcp_agent(
agent['id'])
- self.assertEqual(resp['status'], '200')
networks = body['networks']
for network in networks:
network_ids.append(network['id'])
@@ -85,17 +83,15 @@
self._remove_network_from_dhcp_agent(network_id, agent)
def _remove_network_from_dhcp_agent(self, network_id, agent):
- resp, body = self.admin_client.remove_network_from_dhcp_agent(
+ _, body = self.admin_client.remove_network_from_dhcp_agent(
agent_id=agent['id'],
network_id=network_id)
- self.assertEqual(resp['status'], '204')
self.assertFalse(self._check_network_in_dhcp_agent(
network_id, agent))
def _add_dhcp_agent_to_network(self, network_id, agent):
- resp, body = self.admin_client.add_dhcp_agent_to_network(
- agent['id'], network_id)
- self.assertEqual(resp['status'], '201')
+ _, body = self.admin_client.add_dhcp_agent_to_network(agent['id'],
+ network_id)
self.assertTrue(self._check_network_in_dhcp_agent(
network_id, agent))
diff --git a/tempest/api/network/admin/test_external_network_extension.py b/tempest/api/network/admin/test_external_network_extension.py
index c7fde77..710c669 100644
--- a/tempest/api/network/admin/test_external_network_extension.py
+++ b/tempest/api/network/admin/test_external_network_extension.py
@@ -26,9 +26,8 @@
post_body = {'name': data_utils.rand_name('network-')}
if external:
post_body['router:external'] = external
- resp, body = self.admin_client.create_network(**post_body)
+ _, body = self.admin_client.create_network(**post_body)
network = body['network']
- self.assertEqual('201', resp['status'])
self.addCleanup(self.admin_client.delete_network, network['id'])
return network
@@ -46,9 +45,8 @@
network = self._create_network(external=False)
self.assertFalse(network.get('router:external', False))
update_body = {'router:external': True}
- resp, body = self.admin_client.update_network(network['id'],
- **update_body)
- self.assertEqual('200', resp['status'])
+ _, body = self.admin_client.update_network(network['id'],
+ **update_body)
updated_network = body['network']
# Verify that router:external parameter was updated
self.assertTrue(updated_network['router:external'])
@@ -59,8 +57,7 @@
# List networks as a normal user and confirm the external
# network extension attribute is returned for those networks
# that were created as external
- resp, body = self.client.list_networks()
- self.assertEqual('200', resp['status'])
+ _, body = self.client.list_networks()
networks_list = [net['id'] for net in body['networks']]
self.assertIn(external_network['id'], networks_list)
self.assertIn(self.network['id'], networks_list)
@@ -75,14 +72,12 @@
external_network = self._create_network()
# Show an external network as a normal user and confirm the
# external network extension attribute is returned.
- resp, body = self.client.show_network(external_network['id'])
- self.assertEqual('200', resp['status'])
+ _, body = self.client.show_network(external_network['id'])
show_ext_net = body['network']
self.assertEqual(external_network['name'], show_ext_net['name'])
self.assertEqual(external_network['id'], show_ext_net['id'])
self.assertTrue(show_ext_net['router:external'])
- resp, body = self.client.show_network(self.network['id'])
- self.assertEqual('200', resp['status'])
+ _, body = self.client.show_network(self.network['id'])
show_net = body['network']
# Verify with show that router:external is False for network
self.assertEqual(self.network['name'], show_net['name'])
diff --git a/tempest/api/network/admin/test_floating_ips_admin_actions.py b/tempest/api/network/admin/test_floating_ips_admin_actions.py
index 5728432..3718cb5 100644
--- a/tempest/api/network/admin/test_floating_ips_admin_actions.py
+++ b/tempest/api/network/admin/test_floating_ips_admin_actions.py
@@ -36,21 +36,18 @@
@test.attr(type='smoke')
def test_list_floating_ips_from_admin_and_nonadmin(self):
# Create floating ip from admin user
- resp, floating_ip_admin = self.admin_client.create_floatingip(
+ _, floating_ip_admin = self.admin_client.create_floatingip(
floating_network_id=self.ext_net_id)
- self.assertEqual('201', resp['status'])
self.addCleanup(self.admin_client.delete_floatingip,
floating_ip_admin['floatingip']['id'])
# Create floating ip from alt user
- resp, body = self.alt_client.create_floatingip(
+ _, body = self.alt_client.create_floatingip(
floating_network_id=self.ext_net_id)
- self.assertEqual('201', resp['status'])
floating_ip_alt = body['floatingip']
self.addCleanup(self.alt_client.delete_floatingip,
floating_ip_alt['id'])
# List floating ips from admin
- resp, body = self.admin_client.list_floatingips()
- self.assertEqual('200', resp['status'])
+ _, body = self.admin_client.list_floatingips()
floating_ip_ids_admin = [f['id'] for f in body['floatingips']]
# Check that admin sees all floating ips
self.assertIn(self.floating_ip['id'], floating_ip_ids_admin)
diff --git a/tempest/api/network/admin/test_l3_agent_scheduler.py b/tempest/api/network/admin/test_l3_agent_scheduler.py
index 3b05f42..d7de73b 100644
--- a/tempest/api/network/admin/test_l3_agent_scheduler.py
+++ b/tempest/api/network/admin/test_l3_agent_scheduler.py
@@ -52,9 +52,7 @@
@test.attr(type='smoke')
def test_list_routers_on_l3_agent(self):
- resp, body = self.admin_client.list_routers_on_l3_agent(
- self.agent['id'])
- self.assertEqual('200', resp['status'])
+ _, body = self.admin_client.list_routers_on_l3_agent(self.agent['id'])
@test.attr(type='smoke')
def test_add_list_remove_router_on_l3_agent(self):
@@ -62,21 +60,20 @@
name = data_utils.rand_name('router1-')
resp, router = self.client.create_router(name)
self.addCleanup(self.client.delete_router, router['router']['id'])
- resp, body = self.admin_client.add_router_to_l3_agent(
- self.agent['id'], router['router']['id'])
- self.assertEqual('201', resp['status'])
- resp, body = self.admin_client.list_l3_agents_hosting_router(
+ _, body = self.admin_client.add_router_to_l3_agent(
+ self.agent['id'],
router['router']['id'])
- self.assertEqual('200', resp['status'])
+ _, body = self.admin_client.list_l3_agents_hosting_router(
+ router['router']['id'])
for agent in body['agents']:
l3_agent_ids.append(agent['id'])
self.assertIn('agent_type', agent)
self.assertEqual('L3 agent', agent['agent_type'])
self.assertIn(self.agent['id'], l3_agent_ids)
del l3_agent_ids[:]
- resp, body = self.admin_client.remove_router_from_l3_agent(
- self.agent['id'], router['router']['id'])
- self.assertEqual('204', resp['status'])
+ _, body = self.admin_client.remove_router_from_l3_agent(
+ self.agent['id'],
+ router['router']['id'])
# NOTE(afazekas): The deletion not asserted, because neutron
# is not forbidden to reschedule the router to the same agent
diff --git a/tempest/api/network/admin/test_lbaas_agent_scheduler.py b/tempest/api/network/admin/test_lbaas_agent_scheduler.py
index 675c62d..d0c31b3 100644
--- a/tempest/api/network/admin/test_lbaas_agent_scheduler.py
+++ b/tempest/api/network/admin/test_lbaas_agent_scheduler.py
@@ -50,17 +50,15 @@
@test.attr(type='smoke')
def test_list_pools_on_lbaas_agent(self):
found = False
- resp, body = self.admin_client.list_agents(
+ _, body = self.admin_client.list_agents(
agent_type="Loadbalancer agent")
- self.assertEqual('200', resp['status'])
agents = body['agents']
for a in agents:
msg = 'Load Balancer agent expected'
self.assertEqual(a['agent_type'], 'Loadbalancer agent', msg)
- resp, body = (
+ _, body = (
self.admin_client.list_pools_hosted_by_one_lbaas_agent(
a['id']))
- self.assertEqual('200', resp['status'])
pools = body['pools']
if self.pool['id'] in [p['id'] for p in pools]:
found = True
@@ -69,9 +67,8 @@
@test.attr(type='smoke')
def test_show_lbaas_agent_hosting_pool(self):
- resp, body = self.admin_client.show_lbaas_agent_hosting_pool(
+ _, body = self.admin_client.show_lbaas_agent_hosting_pool(
self.pool['id'])
- self.assertEqual('200', resp['status'])
self.assertEqual('Loadbalancer agent', body['agent']['agent_type'])
diff --git a/tempest/api/network/admin/test_load_balancer_admin_actions.py b/tempest/api/network/admin/test_load_balancer_admin_actions.py
index fe4fc60..a97d275 100644
--- a/tempest/api/network/admin/test_load_balancer_admin_actions.py
+++ b/tempest/api/network/admin/test_load_balancer_admin_actions.py
@@ -47,56 +47,54 @@
@test.attr(type='smoke')
def test_create_vip_as_admin_for_another_tenant(self):
name = data_utils.rand_name('vip-')
- resp, body = self.admin_client.create_pool(
- name=data_utils.rand_name('pool-'), lb_method="ROUND_ROBIN",
- protocol="HTTP", subnet_id=self.subnet['id'],
+ _, body = self.admin_client.create_pool(
+ name=data_utils.rand_name('pool-'),
+ lb_method="ROUND_ROBIN",
+ protocol="HTTP",
+ subnet_id=self.subnet['id'],
tenant_id=self.tenant_id)
- self.assertEqual('201', resp['status'])
pool = body['pool']
self.addCleanup(self.admin_client.delete_pool, pool['id'])
- resp, body = self.admin_client.create_vip(name=name,
- protocol="HTTP",
- protocol_port=80,
- subnet_id=self.subnet['id'],
- pool_id=pool['id'],
- tenant_id=self.tenant_id)
- self.assertEqual('201', resp['status'])
+ _, body = self.admin_client.create_vip(name=name,
+ protocol="HTTP",
+ protocol_port=80,
+ subnet_id=self.subnet['id'],
+ pool_id=pool['id'],
+ tenant_id=self.tenant_id)
vip = body['vip']
self.addCleanup(self.admin_client.delete_vip, vip['id'])
self.assertIsNotNone(vip['id'])
self.assertEqual(self.tenant_id, vip['tenant_id'])
- resp, body = self.client.show_vip(vip['id'])
- self.assertEqual('200', resp['status'])
+ _, body = self.client.show_vip(vip['id'])
show_vip = body['vip']
self.assertEqual(vip['id'], show_vip['id'])
self.assertEqual(vip['name'], show_vip['name'])
@test.attr(type='smoke')
def test_create_health_monitor_as_admin_for_another_tenant(self):
- resp, body = (
+ _, body = (
self.admin_client.create_health_monitor(delay=4,
max_retries=3,
type="TCP",
timeout=1,
tenant_id=self.tenant_id))
- self.assertEqual('201', resp['status'])
health_monitor = body['health_monitor']
self.addCleanup(self.admin_client.delete_health_monitor,
health_monitor['id'])
self.assertIsNotNone(health_monitor['id'])
self.assertEqual(self.tenant_id, health_monitor['tenant_id'])
- resp, body = self.client.show_health_monitor(health_monitor['id'])
- self.assertEqual('200', resp['status'])
+ _, body = self.client.show_health_monitor(health_monitor['id'])
show_health_monitor = body['health_monitor']
self.assertEqual(health_monitor['id'], show_health_monitor['id'])
@test.attr(type='smoke')
def test_create_pool_from_admin_user_other_tenant(self):
- resp, body = self.admin_client.create_pool(
- name=data_utils.rand_name('pool-'), lb_method="ROUND_ROBIN",
- protocol="HTTP", subnet_id=self.subnet['id'],
+ _, body = self.admin_client.create_pool(
+ name=data_utils.rand_name('pool-'),
+ lb_method="ROUND_ROBIN",
+ protocol="HTTP",
+ subnet_id=self.subnet['id'],
tenant_id=self.tenant_id)
- self.assertEqual('201', resp['status'])
pool = body['pool']
self.addCleanup(self.admin_client.delete_pool, pool['id'])
self.assertIsNotNone(pool['id'])
@@ -104,10 +102,10 @@
@test.attr(type='smoke')
def test_create_member_from_admin_user_other_tenant(self):
- resp, body = self.admin_client.create_member(
- address="10.0.9.47", protocol_port=80, pool_id=self.pool['id'],
- tenant_id=self.tenant_id)
- self.assertEqual('201', resp['status'])
+ _, body = self.admin_client.create_member(address="10.0.9.47",
+ protocol_port=80,
+ pool_id=self.pool['id'],
+ tenant_id=self.tenant_id)
member = body['member']
self.addCleanup(self.admin_client.delete_member, member['id'])
self.assertIsNotNone(member['id'])
diff --git a/tempest/api/network/admin/test_quotas.py b/tempest/api/network/admin/test_quotas.py
index 9fa54b1..9ac97f9 100644
--- a/tempest/api/network/admin/test_quotas.py
+++ b/tempest/api/network/admin/test_quotas.py
@@ -57,16 +57,14 @@
self.addCleanup(self.identity_admin_client.delete_tenant, tenant_id)
# Change quotas for tenant
- resp, quota_set = self.admin_client.update_quotas(tenant_id,
- **new_quotas)
- self.assertEqual('200', resp['status'])
+ _, quota_set = self.admin_client.update_quotas(tenant_id,
+ **new_quotas)
self.addCleanup(self.admin_client.reset_quotas, tenant_id)
for key, value in new_quotas.iteritems():
self.assertEqual(value, quota_set[key])
# Confirm our tenant is listed among tenants with non default quotas
- resp, non_default_quotas = self.admin_client.list_quotas()
- self.assertEqual('200', resp['status'])
+ _, non_default_quotas = self.admin_client.list_quotas()
found = False
for qs in non_default_quotas['quotas']:
if qs['tenant_id'] == tenant_id:
@@ -74,17 +72,14 @@
self.assertTrue(found)
# Confirm from API quotas were changed as requested for tenant
- resp, quota_set = self.admin_client.show_quotas(tenant_id)
+ _, quota_set = self.admin_client.show_quotas(tenant_id)
quota_set = quota_set['quota']
- self.assertEqual('200', resp['status'])
for key, value in new_quotas.iteritems():
self.assertEqual(value, quota_set[key])
# Reset quotas to default and confirm
- resp, body = self.admin_client.reset_quotas(tenant_id)
- self.assertEqual('204', resp['status'])
- resp, non_default_quotas = self.admin_client.list_quotas()
- self.assertEqual('200', resp['status'])
+ _, body = self.admin_client.reset_quotas(tenant_id)
+ _, non_default_quotas = self.admin_client.list_quotas()
for q in non_default_quotas['quotas']:
self.assertNotEqual(tenant_id, q['tenant_id'])
diff --git a/tempest/api/network/base_routers.py b/tempest/api/network/base_routers.py
index 1303bcf..f69e6fd 100644
--- a/tempest/api/network/base_routers.py
+++ b/tempest/api/network/base_routers.py
@@ -26,34 +26,29 @@
super(BaseRouterTest, cls).setUpClass()
def _delete_router(self, router_id):
- resp, _ = self.client.delete_router(router_id)
- self.assertEqual(204, resp.status)
+ self.client.delete_router(router_id)
# Asserting that the router is not found in the list
# after deletion
- resp, list_body = self.client.list_routers()
- self.assertEqual('200', resp['status'])
+ _, list_body = self.client.list_routers()
routers_list = list()
for router in list_body['routers']:
routers_list.append(router['id'])
self.assertNotIn(router_id, routers_list)
def _add_router_interface_with_subnet_id(self, router_id, subnet_id):
- resp, interface = self.client.add_router_interface_with_subnet_id(
+ _, interface = self.client.add_router_interface_with_subnet_id(
router_id, subnet_id)
- self.assertEqual('200', resp['status'])
self.addCleanup(self._remove_router_interface_with_subnet_id,
router_id, subnet_id)
self.assertEqual(subnet_id, interface['subnet_id'])
return interface
def _remove_router_interface_with_subnet_id(self, router_id, subnet_id):
- resp, body = self.client.remove_router_interface_with_subnet_id(
+ _, body = self.client.remove_router_interface_with_subnet_id(
router_id, subnet_id)
- self.assertEqual('200', resp['status'])
self.assertEqual(subnet_id, body['subnet_id'])
def _remove_router_interface_with_port_id(self, router_id, port_id):
- resp, body = self.client.remove_router_interface_with_port_id(
- router_id, port_id)
- self.assertEqual('200', resp['status'])
+ _, body = self.client.remove_router_interface_with_port_id(router_id,
+ port_id)
self.assertEqual(port_id, body['port_id'])
diff --git a/tempest/api/network/base_security_groups.py b/tempest/api/network/base_security_groups.py
index 90be454..c2af2f2 100644
--- a/tempest/api/network/base_security_groups.py
+++ b/tempest/api/network/base_security_groups.py
@@ -26,32 +26,27 @@
def _create_security_group(self):
# Create a security group
name = data_utils.rand_name('secgroup-')
- resp, group_create_body = self.client.create_security_group(name=name)
- self.assertEqual('201', resp['status'])
+ _, group_create_body = self.client.create_security_group(name=name)
self.addCleanup(self._delete_security_group,
group_create_body['security_group']['id'])
self.assertEqual(group_create_body['security_group']['name'], name)
return group_create_body, name
def _delete_security_group(self, secgroup_id):
- resp, _ = self.client.delete_security_group(secgroup_id)
- self.assertEqual(204, resp.status)
+ self.client.delete_security_group(secgroup_id)
# Asserting that the security group is not found in the list
# after deletion
- resp, list_body = self.client.list_security_groups()
- self.assertEqual('200', resp['status'])
+ _, list_body = self.client.list_security_groups()
secgroup_list = list()
for secgroup in list_body['security_groups']:
secgroup_list.append(secgroup['id'])
self.assertNotIn(secgroup_id, secgroup_list)
def _delete_security_group_rule(self, rule_id):
- resp, _ = self.client.delete_security_group_rule(rule_id)
- self.assertEqual(204, resp.status)
+ self.client.delete_security_group_rule(rule_id)
# Asserting that the security group is not found in the list
# after deletion
- resp, list_body = self.client.list_security_group_rules()
- self.assertEqual('200', resp['status'])
+ _, list_body = self.client.list_security_group_rules()
rules_list = list()
for rule in list_body['security_group_rules']:
rules_list.append(rule['id'])
diff --git a/tempest/api/network/test_allowed_address_pair.py b/tempest/api/network/test_allowed_address_pair.py
index 8d984d1..86acc71 100644
--- a/tempest/api/network/test_allowed_address_pair.py
+++ b/tempest/api/network/test_allowed_address_pair.py
@@ -54,16 +54,14 @@
# Create port with allowed address pair attribute
allowed_address_pairs = [{'ip_address': self.ip_address,
'mac_address': self.mac_address}]
- resp, body = self.client.create_port(
+ _, body = self.client.create_port(
network_id=self.network['id'],
allowed_address_pairs=allowed_address_pairs)
- self.assertEqual('201', resp['status'])
port_id = body['port']['id']
self.addCleanup(self.client.delete_port, port_id)
# Confirm port was created with allowed address pair attribute
- resp, body = self.client.list_ports()
- self.assertEqual('200', resp['status'])
+ _, body = self.client.list_ports()
ports = body['ports']
port = [p for p in ports if p['id'] == port_id]
msg = 'Created port not found in list of ports returned by Neutron'
@@ -73,21 +71,18 @@
@test.attr(type='smoke')
def test_update_port_with_address_pair(self):
# Create a port without allowed address pair
- resp, body = self.client.create_port(network_id=self.network['id'])
- self.assertEqual('201', resp['status'])
+ _, body = self.client.create_port(network_id=self.network['id'])
port_id = body['port']['id']
self.addCleanup(self.client.delete_port, port_id)
# Confirm port is created
- resp, body = self.client.show_port(port_id)
- self.assertEqual('200', resp['status'])
+ _, body = self.client.show_port(port_id)
# Update allowed address pair attribute of port
allowed_address_pairs = [{'ip_address': self.ip_address,
'mac_address': self.mac_address}]
- resp, body = self.client.update_port(
+ _, body = self.client.update_port(
port_id, allowed_address_pairs=allowed_address_pairs)
- self.assertEqual('200', resp['status'])
newport = body['port']
self._confirm_allowed_address_pair(newport, self.ip_address)
diff --git a/tempest/api/network/test_extensions.py b/tempest/api/network/test_extensions.py
index 529f8e9..c3607c8 100644
--- a/tempest/api/network/test_extensions.py
+++ b/tempest/api/network/test_extensions.py
@@ -47,16 +47,14 @@
expected_alias = [ext for ext in expected_alias if
test.is_extension_enabled(ext, 'network')]
actual_alias = list()
- resp, extensions = self.client.list_extensions()
- self.assertEqual('200', resp['status'])
+ _, extensions = self.client.list_extensions()
list_extensions = extensions['extensions']
# Show and verify the details of the available extensions
for ext in list_extensions:
ext_name = ext['name']
ext_alias = ext['alias']
actual_alias.append(ext['alias'])
- resp, ext_details = self.client.show_extension(ext_alias)
- self.assertEqual('200', resp['status'])
+ _, ext_details = self.client.show_extension(ext_alias)
ext_details = ext_details['extension']
self.assertIsNotNone(ext_details)
diff --git a/tempest/api/network/test_extra_dhcp_options.py b/tempest/api/network/test_extra_dhcp_options.py
index 371c651..82ebc5a 100644
--- a/tempest/api/network/test_extra_dhcp_options.py
+++ b/tempest/api/network/test_extra_dhcp_options.py
@@ -54,16 +54,13 @@
{'opt_value': '123.123.123.123', 'opt_name': 'tftp-server'},
{'opt_value': '123.123.123.45', 'opt_name': 'server-ip-address'}
]
- resp, body = self.client.create_port(
- network_id=self.network['id'],
- extra_dhcp_opts=extra_dhcp_opts)
- self.assertEqual('201', resp['status'])
+ _, body = self.client.create_port(network_id=self.network['id'],
+ extra_dhcp_opts=extra_dhcp_opts)
port_id = body['port']['id']
self.addCleanup(self.client.delete_port, port_id)
# Confirm port created has Extra DHCP Options
- resp, body = self.client.list_ports()
- self.assertEqual('200', resp['status'])
+ _, body = self.client.list_ports()
ports = body['ports']
port = [p for p in ports if p['id'] == port_id]
self.assertTrue(port)
@@ -78,13 +75,11 @@
{'opt_value': '123.123.123.45', 'opt_name': 'server-ip-address'}
]
name = data_utils.rand_name('new-port-name')
- resp, body = self.client.update_port(
- self.port['id'], name=name, extra_dhcp_opts=extra_dhcp_opts)
- self.assertEqual('200', resp['status'])
+ _, body = self.client.update_port(self.port['id'], name=name,
+ extra_dhcp_opts=extra_dhcp_opts)
# Confirm extra dhcp options were added to the port
- resp, body = self.client.show_port(self.port['id'])
- self.assertEqual('200', resp['status'])
+ _, body = self.client.show_port(self.port['id'])
self._confirm_extra_dhcp_options(body['port'], extra_dhcp_opts)
def _confirm_extra_dhcp_options(self, port, extra_dhcp_opts):
diff --git a/tempest/api/network/test_floating_ips.py b/tempest/api/network/test_floating_ips.py
index 2463654..8b42a9e 100644
--- a/tempest/api/network/test_floating_ips.py
+++ b/tempest/api/network/test_floating_ips.py
@@ -68,9 +68,9 @@
@test.attr(type='smoke')
def test_create_list_show_update_delete_floating_ip(self):
# Creates a floating IP
- resp, body = self.client.create_floatingip(
- floating_network_id=self.ext_net_id, port_id=self.ports[0]['id'])
- self.assertEqual('201', resp['status'])
+ _, body = self.client.create_floatingip(
+ floating_network_id=self.ext_net_id,
+ port_id=self.ports[0]['id'])
created_floating_ip = body['floatingip']
self.addCleanup(self.client.delete_floatingip,
created_floating_ip['id'])
@@ -83,9 +83,7 @@
self.assertIn(created_floating_ip['fixed_ip_address'],
[ip['ip_address'] for ip in self.ports[0]['fixed_ips']])
# Verifies the details of a floating_ip
- resp, floating_ip = self.client.show_floatingip(
- created_floating_ip['id'])
- self.assertEqual('200', resp['status'])
+ _, floating_ip = self.client.show_floatingip(created_floating_ip['id'])
shown_floating_ip = floating_ip['floatingip']
self.assertEqual(shown_floating_ip['id'], created_floating_ip['id'])
self.assertEqual(shown_floating_ip['floating_network_id'],
@@ -97,16 +95,15 @@
self.assertEqual(shown_floating_ip['port_id'], self.ports[0]['id'])
# Verify the floating ip exists in the list of all floating_ips
- resp, floating_ips = self.client.list_floatingips()
- self.assertEqual('200', resp['status'])
+ _, floating_ips = self.client.list_floatingips()
floatingip_id_list = list()
for f in floating_ips['floatingips']:
floatingip_id_list.append(f['id'])
self.assertIn(created_floating_ip['id'], floatingip_id_list)
# Associate floating IP to the other port
- resp, floating_ip = self.client.update_floatingip(
- created_floating_ip['id'], port_id=self.ports[1]['id'])
- self.assertEqual('200', resp['status'])
+ _, floating_ip = self.client.update_floatingip(
+ created_floating_ip['id'],
+ port_id=self.ports[1]['id'])
updated_floating_ip = floating_ip['floatingip']
self.assertEqual(updated_floating_ip['port_id'], self.ports[1]['id'])
self.assertEqual(updated_floating_ip['fixed_ip_address'],
@@ -114,9 +111,9 @@
self.assertEqual(updated_floating_ip['router_id'], self.router['id'])
# Disassociate floating IP from the port
- resp, floating_ip = self.client.update_floatingip(
- created_floating_ip['id'], port_id=None)
- self.assertEqual('200', resp['status'])
+ _, floating_ip = self.client.update_floatingip(
+ created_floating_ip['id'],
+ port_id=None)
updated_floating_ip = floating_ip['floatingip']
self.assertIsNone(updated_floating_ip['port_id'])
self.assertIsNone(updated_floating_ip['fixed_ip_address'])
@@ -125,24 +122,21 @@
@test.attr(type='smoke')
def test_floating_ip_delete_port(self):
# Create a floating IP
- resp, body = self.client.create_floatingip(
+ _, body = self.client.create_floatingip(
floating_network_id=self.ext_net_id)
- self.assertEqual('201', resp['status'])
created_floating_ip = body['floatingip']
self.addCleanup(self.client.delete_floatingip,
created_floating_ip['id'])
# Create a port
resp, port = self.client.create_port(network_id=self.network['id'])
created_port = port['port']
- resp, floating_ip = self.client.update_floatingip(
- created_floating_ip['id'], port_id=created_port['id'])
- self.assertEqual('200', resp['status'])
+ _, floating_ip = self.client.update_floatingip(
+ created_floating_ip['id'],
+ port_id=created_port['id'])
# Delete port
self.client.delete_port(created_port['id'])
# Verifies the details of the floating_ip
- resp, floating_ip = self.client.show_floatingip(
- created_floating_ip['id'])
- self.assertEqual('200', resp['status'])
+ _, floating_ip = self.client.show_floatingip(created_floating_ip['id'])
shown_floating_ip = floating_ip['floatingip']
# Confirm the fields are back to None
self.assertEqual(shown_floating_ip['id'], created_floating_ip['id'])
@@ -153,9 +147,9 @@
@test.attr(type='smoke')
def test_floating_ip_update_different_router(self):
# Associate a floating IP to a port on a router
- resp, body = self.client.create_floatingip(
- floating_network_id=self.ext_net_id, port_id=self.ports[1]['id'])
- self.assertEqual('201', resp['status'])
+ _, body = self.client.create_floatingip(
+ floating_network_id=self.ext_net_id,
+ port_id=self.ports[1]['id'])
created_floating_ip = body['floatingip']
self.addCleanup(self.client.delete_floatingip,
created_floating_ip['id'])
@@ -167,9 +161,9 @@
self.create_router_interface(router2['id'], subnet2['id'])
port_other_router = self.create_port(network2)
# Associate floating IP to the other port on another router
- resp, floating_ip = self.client.update_floatingip(
- created_floating_ip['id'], port_id=port_other_router['id'])
- self.assertEqual('200', resp['status'])
+ _, floating_ip = self.client.update_floatingip(
+ created_floating_ip['id'],
+ port_id=port_other_router['id'])
updated_floating_ip = floating_ip['floatingip']
self.assertEqual(updated_floating_ip['router_id'], router2['id'])
self.assertEqual(updated_floating_ip['port_id'],
@@ -178,20 +172,19 @@
@test.attr(type='smoke')
def test_create_floating_ip_specifying_a_fixed_ip_address(self):
- resp, body = self.client.create_floatingip(
+ _, body = self.client.create_floatingip(
floating_network_id=self.ext_net_id,
port_id=self.ports[1]['id'],
fixed_ip_address=self.ports[1]['fixed_ips'][0]['ip_address'])
- self.assertEqual('201', resp['status'])
created_floating_ip = body['floatingip']
self.addCleanup(self.client.delete_floatingip,
created_floating_ip['id'])
self.assertIsNotNone(created_floating_ip['id'])
self.assertEqual(created_floating_ip['fixed_ip_address'],
self.ports[1]['fixed_ips'][0]['ip_address'])
- resp, floating_ip = self.client.update_floatingip(
- created_floating_ip['id'], port_id=None)
- self.assertEqual('200', resp['status'])
+ _, floating_ip = self.client.update_floatingip(
+ created_floating_ip['id'],
+ port_id=None)
self.assertIsNone(floating_ip['floatingip']['port_id'])
@test.attr(type='smoke')
@@ -201,25 +194,23 @@
list_ips = [str(ip) for ip in ips[-3:-1]]
fixed_ips = [{'ip_address': list_ips[0]}, {'ip_address': list_ips[1]}]
# Create port
- resp, body = self.client.create_port(network_id=self.network['id'],
- fixed_ips=fixed_ips)
- self.assertEqual('201', resp['status'])
+ _, body = self.client.create_port(network_id=self.network['id'],
+ fixed_ips=fixed_ips)
port = body['port']
self.addCleanup(self.client.delete_port, port['id'])
# Create floating ip
- resp, body = self.client.create_floatingip(
- floating_network_id=self.ext_net_id, port_id=port['id'],
+ _, body = self.client.create_floatingip(
+ floating_network_id=self.ext_net_id,
+ port_id=port['id'],
fixed_ip_address=list_ips[0])
- self.assertEqual('201', resp['status'])
floating_ip = body['floatingip']
self.addCleanup(self.client.delete_floatingip, floating_ip['id'])
self.assertIsNotNone(floating_ip['id'])
self.assertEqual(floating_ip['fixed_ip_address'], list_ips[0])
# Update floating ip
- resp, body = self.client.update_floatingip(
- floating_ip['id'], port_id=port['id'],
- fixed_ip_address=list_ips[1])
- self.assertEqual('200', resp['status'])
+ _, body = self.client.update_floatingip(floating_ip['id'],
+ port_id=port['id'],
+ fixed_ip_address=list_ips[1])
update_floating_ip = body['floatingip']
self.assertEqual(update_floating_ip['fixed_ip_address'],
list_ips[1])
diff --git a/tempest/api/network/test_fwaas_extensions.py b/tempest/api/network/test_fwaas_extensions.py
index 555cbda..6eec79e 100644
--- a/tempest/api/network/test_fwaas_extensions.py
+++ b/tempest/api/network/test_fwaas_extensions.py
@@ -74,8 +74,7 @@
def _wait_for_active(self, fw_id):
def _wait():
- resp, firewall = self.client.show_firewall(fw_id)
- self.assertEqual('200', resp['status'])
+ _, firewall = self.client.show_firewall(fw_id)
firewall = firewall['firewall']
return firewall['status'] == 'ACTIVE'
@@ -87,8 +86,7 @@
@test.attr(type='smoke')
def test_list_firewall_rules(self):
# List firewall rules
- resp, fw_rules = self.client.list_firewall_rules()
- self.assertEqual('200', resp['status'])
+ _, fw_rules = self.client.list_firewall_rules()
fw_rules = fw_rules['firewall_rules']
self.assertIn((self.fw_rule['id'],
self.fw_rule['name'],
@@ -106,22 +104,19 @@
@test.attr(type='smoke')
def test_create_update_delete_firewall_rule(self):
# Create firewall rule
- resp, body = self.client.create_firewall_rule(
+ _, body = self.client.create_firewall_rule(
name=data_utils.rand_name("fw-rule"),
action="allow",
protocol="tcp")
- self.assertEqual('201', resp['status'])
fw_rule_id = body['firewall_rule']['id']
# Update firewall rule
- resp, body = self.client.update_firewall_rule(fw_rule_id,
- shared=True)
- self.assertEqual('200', resp['status'])
+ _, body = self.client.update_firewall_rule(fw_rule_id,
+ shared=True)
self.assertTrue(body["firewall_rule"]['shared'])
# Delete firewall rule
- resp, _ = self.client.delete_firewall_rule(fw_rule_id)
- self.assertEqual('204', resp['status'])
+ self.client.delete_firewall_rule(fw_rule_id)
# Confirm deletion
resp, fw_rules = self.client.list_firewall_rules()
self.assertNotIn(fw_rule_id,
@@ -130,15 +125,13 @@
@test.attr(type='smoke')
def test_show_firewall_rule(self):
# show a created firewall rule
- resp, fw_rule = self.client.show_firewall_rule(self.fw_rule['id'])
- self.assertEqual('200', resp['status'])
+ _, fw_rule = self.client.show_firewall_rule(self.fw_rule['id'])
for key, value in fw_rule['firewall_rule'].iteritems():
self.assertEqual(self.fw_rule[key], value)
@test.attr(type='smoke')
def test_list_firewall_policies(self):
- resp, fw_policies = self.client.list_firewall_policies()
- self.assertEqual('200', resp['status'])
+ _, fw_policies = self.client.list_firewall_policies()
fw_policies = fw_policies['firewall_policies']
self.assertIn((self.fw_policy['id'],
self.fw_policy['name'],
@@ -150,24 +143,21 @@
@test.attr(type='smoke')
def test_create_update_delete_firewall_policy(self):
# Create firewall policy
- resp, body = self.client.create_firewall_policy(
+ _, body = self.client.create_firewall_policy(
name=data_utils.rand_name("fw-policy"))
- self.assertEqual('201', resp['status'])
fw_policy_id = body['firewall_policy']['id']
self.addCleanup(self._try_delete_policy, fw_policy_id)
# Update firewall policy
- resp, body = self.client.update_firewall_policy(fw_policy_id,
- shared=True,
- name="updated_policy")
- self.assertEqual('200', resp['status'])
+ _, body = self.client.update_firewall_policy(fw_policy_id,
+ shared=True,
+ name="updated_policy")
updated_fw_policy = body["firewall_policy"]
self.assertTrue(updated_fw_policy['shared'])
self.assertEqual("updated_policy", updated_fw_policy['name'])
# Delete firewall policy
- resp, _ = self.client.delete_firewall_policy(fw_policy_id)
- self.assertEqual('204', resp['status'])
+ self.client.delete_firewall_policy(fw_policy_id)
# Confirm deletion
resp, fw_policies = self.client.list_firewall_policies()
fw_policies = fw_policies['firewall_policies']
@@ -176,9 +166,7 @@
@test.attr(type='smoke')
def test_show_firewall_policy(self):
# show a created firewall policy
- resp, fw_policy = self.client.show_firewall_policy(
- self.fw_policy['id'])
- self.assertEqual('200', resp['status'])
+ _, fw_policy = self.client.show_firewall_policy(self.fw_policy['id'])
fw_policy = fw_policy['firewall_policy']
for key, value in fw_policy.iteritems():
self.assertEqual(self.fw_policy[key], value)
@@ -195,10 +183,9 @@
router['id'], subnet['id'])
# Create firewall
- resp, body = self.client.create_firewall(
+ _, body = self.client.create_firewall(
name=data_utils.rand_name("firewall"),
firewall_policy_id=self.fw_policy['id'])
- self.assertEqual('201', resp['status'])
created_firewall = body['firewall']
firewall_id = created_firewall['id']
self.addCleanup(self._try_delete_firewall, firewall_id)
@@ -206,8 +193,7 @@
self._wait_for_active(firewall_id)
# show a created firewall
- resp, firewall = self.client.show_firewall(firewall_id)
- self.assertEqual('200', resp['status'])
+ _, firewall = self.client.show_firewall(firewall_id)
firewall = firewall['firewall']
for key, value in firewall.iteritems():
@@ -216,8 +202,7 @@
self.assertEqual(created_firewall[key], value)
# list firewall
- resp, firewalls = self.client.list_firewalls()
- self.assertEqual('200', resp['status'])
+ _, firewalls = self.client.list_firewalls()
firewalls = firewalls['firewalls']
self.assertIn((created_firewall['id'],
created_firewall['name'],
@@ -227,8 +212,7 @@
m['firewall_policy_id']) for m in firewalls])
# Delete firewall
- resp, _ = self.client.delete_firewall(firewall_id)
- self.assertEqual('204', resp['status'])
+ self.client.delete_firewall(firewall_id)
class FWaaSExtensionTestXML(FWaaSExtensionTestJSON):
diff --git a/tempest/api/network/test_load_balancer.py b/tempest/api/network/test_load_balancer.py
index 7a12ef6..e3109ea 100644
--- a/tempest/api/network/test_load_balancer.py
+++ b/tempest/api/network/test_load_balancer.py
@@ -67,34 +67,31 @@
delete_obj = getattr(self.client, 'delete_' + obj_name)
list_objs = getattr(self.client, 'list_' + obj_name + 's')
- resp, body = create_obj(**kwargs)
- self.assertEqual('201', resp['status'])
+ _, body = create_obj(**kwargs)
obj = body[obj_name]
self.addCleanup(delete_obj, obj['id'])
for key, value in obj.iteritems():
# It is not relevant to filter by all arguments. That is why
# there is a list of attr to except
if key not in attr_exceptions:
- resp, body = list_objs(**{key: value})
- self.assertEqual('200', resp['status'])
+ _, body = list_objs(**{key: value})
objs = [v[key] for v in body[obj_name + 's']]
self.assertIn(value, objs)
@test.attr(type='smoke')
def test_list_vips(self):
# Verify the vIP exists in the list of all vIPs
- resp, body = self.client.list_vips()
- self.assertEqual('200', resp['status'])
+ _, body = self.client.list_vips()
vips = body['vips']
self.assertIn(self.vip['id'], [v['id'] for v in vips])
@test.attr(type='smoke')
def test_list_vips_with_filter(self):
name = data_utils.rand_name('vip-')
- resp, body = self.client.create_pool(
- name=data_utils.rand_name("pool-"), lb_method="ROUND_ROBIN",
- protocol="HTTPS", subnet_id=self.subnet['id'])
- self.assertEqual('201', resp['status'])
+ _, body = self.client.create_pool(name=data_utils.rand_name("pool-"),
+ lb_method="ROUND_ROBIN",
+ protocol="HTTPS",
+ subnet_id=self.subnet['id'])
pool = body['pool']
self.addCleanup(self.client.delete_pool, pool['id'])
attr_exceptions = ['status', 'session_persistence',
@@ -116,18 +113,16 @@
protocol='HTTP',
subnet_id=self.subnet['id'])
pool = body['pool']
- resp, body = self.client.create_vip(name=name,
- protocol="HTTP",
- protocol_port=80,
- subnet_id=self.subnet['id'],
- pool_id=pool['id'],
- address=address)
- self.assertEqual('201', resp['status'])
+ _, body = self.client.create_vip(name=name,
+ protocol="HTTP",
+ protocol_port=80,
+ subnet_id=self.subnet['id'],
+ pool_id=pool['id'],
+ address=address)
vip = body['vip']
vip_id = vip['id']
# Confirm VIP's address correctness with a show
- resp, body = self.client.show_vip(vip_id)
- self.assertEqual('200', resp['status'])
+ _, body = self.client.show_vip(vip_id)
vip = body['vip']
self.assertEqual(address, vip['address'])
# Verification of vip update
@@ -136,13 +131,12 @@
persistence_type = "HTTP_COOKIE"
update_data = {"session_persistence": {
"type": persistence_type}}
- resp, body = self.client.update_vip(vip_id,
- name=new_name,
- description=new_description,
- connection_limit=10,
- admin_state_up=False,
- **update_data)
- self.assertEqual('200', resp['status'])
+ _, body = self.client.update_vip(vip_id,
+ name=new_name,
+ description=new_description,
+ connection_limit=10,
+ admin_state_up=False,
+ **update_data)
updated_vip = body['vip']
self.assertEqual(new_name, updated_vip['name'])
self.assertEqual(new_description, updated_vip['description'])
@@ -150,30 +144,24 @@
self.assertFalse(updated_vip['admin_state_up'])
self.assertEqual(persistence_type,
updated_vip['session_persistence']['type'])
- # Verification of vip delete
- resp, body = self.client.delete_vip(vip['id'])
- self.assertEqual('204', resp['status'])
+ self.client.delete_vip(vip['id'])
self.client.wait_for_resource_deletion('vip', vip['id'])
# Verification of pool update
new_name = "New_pool"
- resp, body = self.client.update_pool(pool['id'],
- name=new_name,
- description="new_description",
- lb_method='LEAST_CONNECTIONS')
- self.assertEqual('200', resp['status'])
+ _, body = self.client.update_pool(pool['id'],
+ name=new_name,
+ description="new_description",
+ lb_method='LEAST_CONNECTIONS')
updated_pool = body['pool']
self.assertEqual(new_name, updated_pool['name'])
self.assertEqual('new_description', updated_pool['description'])
self.assertEqual('LEAST_CONNECTIONS', updated_pool['lb_method'])
- # Verification of pool delete
- resp, body = self.client.delete_pool(pool['id'])
- self.assertEqual('204', resp['status'])
+ self.client.delete_pool(pool['id'])
@test.attr(type='smoke')
def test_show_vip(self):
# Verifies the details of a vip
- resp, body = self.client.show_vip(self.vip['id'])
- self.assertEqual('200', resp['status'])
+ _, body = self.client.show_vip(self.vip['id'])
vip = body['vip']
for key, value in vip.iteritems():
# 'status' should not be confirmed in api tests
@@ -183,17 +171,14 @@
@test.attr(type='smoke')
def test_show_pool(self):
# Here we need to new pool without any dependence with vips
- resp, body = self.client.create_pool(
- name=data_utils.rand_name("pool-"),
- lb_method='ROUND_ROBIN',
- protocol='HTTP',
- subnet_id=self.subnet['id'])
- self.assertEqual('201', resp['status'])
+ _, body = self.client.create_pool(name=data_utils.rand_name("pool-"),
+ lb_method='ROUND_ROBIN',
+ protocol='HTTP',
+ subnet_id=self.subnet['id'])
pool = body['pool']
self.addCleanup(self.client.delete_pool, pool['id'])
# Verifies the details of a pool
- resp, body = self.client.show_pool(pool['id'])
- self.assertEqual('200', resp['status'])
+ _, body = self.client.show_pool(pool['id'])
shown_pool = body['pool']
for key, value in pool.iteritems():
# 'status' should not be confirmed in api tests
@@ -203,8 +188,7 @@
@test.attr(type='smoke')
def test_list_pools(self):
# Verify the pool exists in the list of all pools
- resp, body = self.client.list_pools()
- self.assertEqual('200', resp['status'])
+ _, body = self.client.list_pools()
pools = body['pools']
self.assertIn(self.pool['id'], [p['id'] for p in pools])
@@ -222,8 +206,7 @@
@test.attr(type='smoke')
def test_list_members(self):
# Verify the member exists in the list of all members
- resp, body = self.client.list_members()
- self.assertEqual('200', resp['status'])
+ _, body = self.client.list_members()
members = body['members']
self.assertIn(self.member['id'], [m['id'] for m in members])
@@ -237,26 +220,22 @@
@test.attr(type='smoke')
def test_create_update_delete_member(self):
# Creates a member
- resp, body = self.client.create_member(address="10.0.9.47",
- protocol_port=80,
- pool_id=self.pool['id'])
- self.assertEqual('201', resp['status'])
+ _, body = self.client.create_member(address="10.0.9.47",
+ protocol_port=80,
+ pool_id=self.pool['id'])
member = body['member']
# Verification of member update
- resp, body = self.client.update_member(member['id'],
- admin_state_up=False)
- self.assertEqual('200', resp['status'])
+ _, body = self.client.update_member(member['id'],
+ admin_state_up=False)
updated_member = body['member']
self.assertFalse(updated_member['admin_state_up'])
# Verification of member delete
- resp, body = self.client.delete_member(member['id'])
- self.assertEqual('204', resp['status'])
+ self.client.delete_member(member['id'])
@test.attr(type='smoke')
def test_show_member(self):
# Verifies the details of a member
- resp, body = self.client.show_member(self.member['id'])
- self.assertEqual('200', resp['status'])
+ _, body = self.client.show_member(self.member['id'])
member = body['member']
for key, value in member.iteritems():
# 'status' should not be confirmed in api tests
@@ -266,8 +245,7 @@
@test.attr(type='smoke')
def test_list_health_monitors(self):
# Verify the health monitor exists in the list of all health monitors
- resp, body = self.client.list_health_monitors()
- self.assertEqual('200', resp['status'])
+ _, body = self.client.list_health_monitors()
health_monitors = body['health_monitors']
self.assertIn(self.health_monitor['id'],
[h['id'] for h in health_monitors])
@@ -282,31 +260,27 @@
@test.attr(type='smoke')
def test_create_update_delete_health_monitor(self):
# Creates a health_monitor
- resp, body = self.client.create_health_monitor(delay=4,
- max_retries=3,
- type="TCP",
- timeout=1)
- self.assertEqual('201', resp['status'])
+ _, body = self.client.create_health_monitor(delay=4,
+ max_retries=3,
+ type="TCP",
+ timeout=1)
health_monitor = body['health_monitor']
# Verification of health_monitor update
- resp, body = (self.client.update_health_monitor
- (health_monitor['id'],
- admin_state_up=False))
- self.assertEqual('200', resp['status'])
+ _, body = (self.client.update_health_monitor
+ (health_monitor['id'],
+ admin_state_up=False))
updated_health_monitor = body['health_monitor']
self.assertFalse(updated_health_monitor['admin_state_up'])
# Verification of health_monitor delete
- resp, body = self.client.delete_health_monitor(health_monitor['id'])
- self.assertEqual('204', resp['status'])
+ _, body = self.client.delete_health_monitor(health_monitor['id'])
@test.attr(type='smoke')
def test_create_health_monitor_http_type(self):
hm_type = "HTTP"
- resp, body = self.client.create_health_monitor(delay=4,
- max_retries=3,
- type=hm_type,
- timeout=1)
- self.assertEqual('201', resp['status'])
+ _, body = self.client.create_health_monitor(delay=4,
+ max_retries=3,
+ type=hm_type,
+ timeout=1)
health_monitor = body['health_monitor']
self.addCleanup(self.client.delete_health_monitor,
health_monitor['id'])
@@ -314,20 +288,18 @@
@test.attr(type='smoke')
def test_update_health_monitor_http_method(self):
- resp, body = self.client.create_health_monitor(delay=4,
- max_retries=3,
- type="HTTP",
- timeout=1)
- self.assertEqual('201', resp['status'])
+ _, body = self.client.create_health_monitor(delay=4,
+ max_retries=3,
+ type="HTTP",
+ timeout=1)
health_monitor = body['health_monitor']
self.addCleanup(self.client.delete_health_monitor,
health_monitor['id'])
- resp, body = (self.client.update_health_monitor
- (health_monitor['id'],
- http_method="POST",
- url_path="/home/user",
- expected_codes="290"))
- self.assertEqual('200', resp['status'])
+ _, body = (self.client.update_health_monitor
+ (health_monitor['id'],
+ http_method="POST",
+ url_path="/home/user",
+ expected_codes="290"))
updated_health_monitor = body['health_monitor']
self.assertEqual("POST", updated_health_monitor['http_method'])
self.assertEqual("/home/user", updated_health_monitor['url_path'])
@@ -336,8 +308,7 @@
@test.attr(type='smoke')
def test_show_health_monitor(self):
# Verifies the details of a health_monitor
- resp, body = self.client.show_health_monitor(self.health_monitor['id'])
- self.assertEqual('200', resp['status'])
+ _, body = self.client.show_health_monitor(self.health_monitor['id'])
health_monitor = body['health_monitor']
for key, value in health_monitor.iteritems():
# 'status' should not be confirmed in api tests
@@ -347,9 +318,8 @@
@test.attr(type='smoke')
def test_associate_disassociate_health_monitor_with_pool(self):
# Verify that a health monitor can be associated with a pool
- resp, body = (self.client.associate_health_monitor_with_pool
- (self.health_monitor['id'], self.pool['id']))
- self.assertEqual('201', resp['status'])
+ _, body = (self.client.associate_health_monitor_with_pool
+ (self.health_monitor['id'], self.pool['id']))
resp, body = self.client.show_health_monitor(
self.health_monitor['id'])
health_monitor = body['health_monitor']
@@ -359,10 +329,9 @@
[p['pool_id'] for p in health_monitor['pools']])
self.assertIn(health_monitor['id'], pool['health_monitors'])
# Verify that a health monitor can be disassociated from a pool
- resp, body = (self.client.disassociate_health_monitor_with_pool
- (self.health_monitor['id'], self.pool['id']))
- self.assertEqual('204', resp['status'])
- resp, body = self.client.show_pool(self.pool['id'])
+ (self.client.disassociate_health_monitor_with_pool
+ (self.health_monitor['id'], self.pool['id']))
+ _, body = self.client.show_pool(self.pool['id'])
pool = body['pool']
resp, body = self.client.show_health_monitor(
self.health_monitor['id'])
@@ -374,8 +343,7 @@
@test.attr(type='smoke')
def test_get_lb_pool_stats(self):
# Verify the details of pool stats
- resp, body = self.client.list_lb_pool_stats(self.pool['id'])
- self.assertEqual('200', resp['status'])
+ _, body = self.client.list_lb_pool_stats(self.pool['id'])
stats = body['stats']
self.assertIn("bytes_in", stats)
self.assertIn("total_connections", stats)
@@ -384,52 +352,41 @@
@test.attr(type='smoke')
def test_update_list_of_health_monitors_associated_with_pool(self):
- resp, _ = (self.client.associate_health_monitor_with_pool
- (self.health_monitor['id'], self.pool['id']))
- self.assertEqual('201', resp['status'])
- resp, _ = self.client.update_health_monitor(
+ (self.client.associate_health_monitor_with_pool
+ (self.health_monitor['id'], self.pool['id']))
+ self.client.update_health_monitor(
self.health_monitor['id'], admin_state_up=False)
- self.assertEqual('200', resp['status'])
- resp, body = self.client.show_pool(self.pool['id'])
- self.assertEqual('200', resp['status'])
+ _, body = self.client.show_pool(self.pool['id'])
health_monitors = body['pool']['health_monitors']
for health_monitor_id in health_monitors:
- resp, body = self.client.show_health_monitor(health_monitor_id)
- self.assertEqual('200', resp['status'])
+ _, body = self.client.show_health_monitor(health_monitor_id)
self.assertFalse(body['health_monitor']['admin_state_up'])
- resp, _ = (self.client.disassociate_health_monitor_with_pool
- (self.health_monitor['id'], self.pool['id']))
- self.assertEqual('204', resp['status'])
+ (self.client.disassociate_health_monitor_with_pool
+ (self.health_monitor['id'], self.pool['id']))
@test.attr(type='smoke')
def test_update_admin_state_up_of_pool(self):
- resp, _ = self.client.update_pool(self.pool['id'],
- admin_state_up=False)
- self.assertEqual('200', resp['status'])
- resp, body = self.client.show_pool(self.pool['id'])
- self.assertEqual('200', resp['status'])
+ self.client.update_pool(self.pool['id'],
+ admin_state_up=False)
+ _, body = self.client.show_pool(self.pool['id'])
pool = body['pool']
self.assertFalse(pool['admin_state_up'])
@test.attr(type='smoke')
def test_show_vip_associated_with_pool(self):
- resp, body = self.client.show_pool(self.pool['id'])
- self.assertEqual('200', resp['status'])
+ _, body = self.client.show_pool(self.pool['id'])
pool = body['pool']
- resp, body = self.client.show_vip(pool['vip_id'])
- self.assertEqual('200', resp['status'])
+ _, body = self.client.show_vip(pool['vip_id'])
vip = body['vip']
self.assertEqual(self.vip['name'], vip['name'])
self.assertEqual(self.vip['id'], vip['id'])
@test.attr(type='smoke')
def test_show_members_associated_with_pool(self):
- resp, body = self.client.show_pool(self.pool['id'])
- self.assertEqual('200', resp['status'])
+ _, body = self.client.show_pool(self.pool['id'])
members = body['pool']['members']
for member_id in members:
- resp, body = self.client.show_member(member_id)
- self.assertEqual('200', resp['status'])
+ _, body = self.client.show_member(member_id)
self.assertIsNotNone(body['member']['status'])
self.assertEqual(member_id, body['member']['id'])
self.assertIsNotNone(body['member']['admin_state_up'])
@@ -437,34 +394,28 @@
@test.attr(type='smoke')
def test_update_pool_related_to_member(self):
# Create new pool
- resp, body = self.client.create_pool(
- name=data_utils.rand_name("pool-"),
- lb_method='ROUND_ROBIN',
- protocol='HTTP',
- subnet_id=self.subnet['id'])
- self.assertEqual('201', resp['status'])
+ _, body = self.client.create_pool(name=data_utils.rand_name("pool-"),
+ lb_method='ROUND_ROBIN',
+ protocol='HTTP',
+ subnet_id=self.subnet['id'])
new_pool = body['pool']
self.addCleanup(self.client.delete_pool, new_pool['id'])
# Update member with new pool's id
- resp, body = self.client.update_member(self.member['id'],
- pool_id=new_pool['id'])
- self.assertEqual('200', resp['status'])
+ _, body = self.client.update_member(self.member['id'],
+ pool_id=new_pool['id'])
# Confirm with show that pool_id change
resp, body = self.client.show_member(self.member['id'])
member = body['member']
self.assertEqual(member['pool_id'], new_pool['id'])
# Update member with old pool id, this is needed for clean up
- resp, body = self.client.update_member(self.member['id'],
- pool_id=self.pool['id'])
- self.assertEqual('200', resp['status'])
+ _, body = self.client.update_member(self.member['id'],
+ pool_id=self.pool['id'])
@test.attr(type='smoke')
def test_update_member_weight(self):
- resp, _ = self.client.update_member(self.member['id'],
- weight=2)
- self.assertEqual('200', resp['status'])
- resp, body = self.client.show_member(self.member['id'])
- self.assertEqual('200', resp['status'])
+ self.client.update_member(self.member['id'],
+ weight=2)
+ _, body = self.client.show_member(self.member['id'])
member = body['member']
self.assertEqual(2, member['weight'])
diff --git a/tempest/api/network/test_metering_extensions.py b/tempest/api/network/test_metering_extensions.py
index 08ccbfe..5b8db43 100644
--- a/tempest/api/network/test_metering_extensions.py
+++ b/tempest/api/network/test_metering_extensions.py
@@ -56,8 +56,7 @@
def _delete_metering_label(self, metering_label_id):
# Deletes a label and verifies if it is deleted or not
- resp, body = self.admin_client.delete_metering_label(metering_label_id)
- self.assertEqual(204, resp.status)
+ _, body = self.admin_client.delete_metering_label(metering_label_id)
# Asserting that the label is not found in list after deletion
resp, labels = (self.admin_client.list_metering_labels(
id=metering_label_id))
@@ -65,9 +64,8 @@
def _delete_metering_label_rule(self, metering_label_rule_id):
# Deletes a rule and verifies if it is deleted or not
- resp, body = (self.admin_client.delete_metering_label_rule(
- metering_label_rule_id))
- self.assertEqual(204, resp.status)
+ _, body = (self.admin_client.delete_metering_label_rule(
+ metering_label_rule_id))
# Asserting that the rule is not found in list after deletion
resp, rules = (self.admin_client.list_metering_label_rules(
id=metering_label_rule_id))
@@ -76,8 +74,7 @@
@test.attr(type='smoke')
def test_list_metering_labels(self):
# Verify label filtering
- resp, body = self.admin_client.list_metering_labels(id=33)
- self.assertEqual('200', resp['status'])
+ _, body = self.admin_client.list_metering_labels(id=33)
metering_labels = body['metering_labels']
self.assertEqual(0, len(metering_labels))
@@ -86,9 +83,8 @@
# Creates a label
name = data_utils.rand_name('metering-label-')
description = "label created by tempest"
- resp, body = (self.admin_client.create_metering_label(name=name,
- description=description))
- self.assertEqual('201', resp['status'])
+ _, body = (self.admin_client.create_metering_label(name=name,
+ description=description))
metering_label = body['metering_label']
self.addCleanup(self._delete_metering_label,
metering_label['id'])
@@ -101,9 +97,8 @@
@test.attr(type='smoke')
def test_show_metering_label(self):
# Verifies the details of a label
- resp, body = (self.admin_client.show_metering_label(
- self.metering_label['id']))
- self.assertEqual('200', resp['status'])
+ _, body = (self.admin_client.show_metering_label(
+ self.metering_label['id']))
metering_label = body['metering_label']
self.assertEqual(self.metering_label['id'], metering_label['id'])
self.assertEqual(self.metering_label['tenant_id'],
@@ -115,19 +110,17 @@
@test.attr(type='smoke')
def test_list_metering_label_rules(self):
# Verify rule filtering
- resp, body = self.admin_client.list_metering_label_rules(id=33)
- self.assertEqual('200', resp['status'])
+ _, body = self.admin_client.list_metering_label_rules(id=33)
metering_label_rules = body['metering_label_rules']
self.assertEqual(0, len(metering_label_rules))
@test.attr(type='smoke')
def test_create_delete_metering_label_rule_with_filters(self):
# Creates a rule
- resp, body = (self.admin_client.create_metering_label_rule(
- remote_ip_prefix="10.0.1.0/24",
- direction="ingress",
- metering_label_id=self.metering_label['id']))
- self.assertEqual('201', resp['status'])
+ _, body = (self.admin_client.create_metering_label_rule(
+ remote_ip_prefix="10.0.1.0/24",
+ direction="ingress",
+ metering_label_id=self.metering_label['id']))
metering_label_rule = body['metering_label_rule']
self.addCleanup(self._delete_metering_label_rule,
metering_label_rule['id'])
@@ -140,9 +133,8 @@
@test.attr(type='smoke')
def test_show_metering_label_rule(self):
# Verifies the details of a rule
- resp, body = (self.admin_client.show_metering_label_rule(
- self.metering_label_rule['id']))
- self.assertEqual('200', resp['status'])
+ _, body = (self.admin_client.show_metering_label_rule(
+ self.metering_label_rule['id']))
metering_label_rule = body['metering_label_rule']
self.assertEqual(self.metering_label_rule['id'],
metering_label_rule['id'])
diff --git a/tempest/api/network/test_networks.py b/tempest/api/network/test_networks.py
index ac3a072..206f37b 100644
--- a/tempest/api/network/test_networks.py
+++ b/tempest/api/network/test_networks.py
@@ -71,14 +71,13 @@
def test_create_update_delete_network_subnet(self):
# Create a network
name = data_utils.rand_name('network-')
- resp, body = self.client.create_network(name=name)
- self.assertEqual('201', resp['status'])
+ _, body = self.client.create_network(name=name)
network = body['network']
net_id = network['id']
+ self.assertEqual('ACTIVE', network['status'])
# Verify network update
new_name = "New_network"
- resp, body = self.client.update_network(net_id, name=new_name)
- self.assertEqual('200', resp['status'])
+ _, body = self.client.update_network(net_id, name=new_name)
updated_net = body['network']
self.assertEqual(updated_net['name'], new_name)
# Find a cidr that is not in use yet and create a subnet with it
@@ -86,23 +85,19 @@
subnet_id = subnet['id']
# Verify subnet update
new_name = "New_subnet"
- resp, body = self.client.update_subnet(subnet_id, name=new_name)
- self.assertEqual('200', resp['status'])
+ _, body = self.client.update_subnet(subnet_id, name=new_name)
updated_subnet = body['subnet']
self.assertEqual(updated_subnet['name'], new_name)
# Delete subnet and network
- resp, body = self.client.delete_subnet(subnet_id)
- self.assertEqual('204', resp['status'])
+ _, body = self.client.delete_subnet(subnet_id)
# Remove subnet from cleanup list
self.subnets.pop()
- resp, body = self.client.delete_network(net_id)
- self.assertEqual('204', resp['status'])
+ _, body = self.client.delete_network(net_id)
@test.attr(type='smoke')
def test_show_network(self):
# Verify the details of a network
- resp, body = self.client.show_network(self.network['id'])
- self.assertEqual('200', resp['status'])
+ _, body = self.client.show_network(self.network['id'])
network = body['network']
for key in ['id', 'name']:
self.assertEqual(network[key], self.network[key])
@@ -111,9 +106,8 @@
def test_show_network_fields(self):
# Verify specific fields of a network
fields = ['id', 'name']
- resp, body = self.client.show_network(self.network['id'],
- fields=fields)
- self.assertEqual('200', resp['status'])
+ _, body = self.client.show_network(self.network['id'],
+ fields=fields)
network = body['network']
self.assertEqual(sorted(network.keys()), sorted(fields))
for field_name in fields:
@@ -122,8 +116,7 @@
@test.attr(type='smoke')
def test_list_networks(self):
# Verify the network exists in the list of all networks
- resp, body = self.client.list_networks()
- self.assertEqual('200', resp['status'])
+ _, body = self.client.list_networks()
networks = [network['id'] for network in body['networks']
if network['id'] == self.network['id']]
self.assertNotEmpty(networks, "Created network not found in the list")
@@ -132,8 +125,7 @@
def test_list_networks_fields(self):
# Verify specific fields of the networks
fields = ['id', 'name']
- resp, body = self.client.list_networks(fields=fields)
- self.assertEqual('200', resp['status'])
+ _, body = self.client.list_networks(fields=fields)
networks = body['networks']
self.assertNotEmpty(networks, "Network list returned is empty")
for network in networks:
@@ -142,8 +134,7 @@
@test.attr(type='smoke')
def test_show_subnet(self):
# Verify the details of a subnet
- resp, body = self.client.show_subnet(self.subnet['id'])
- self.assertEqual('200', resp['status'])
+ _, body = self.client.show_subnet(self.subnet['id'])
subnet = body['subnet']
self.assertNotEmpty(subnet, "Subnet returned has no fields")
for key in ['id', 'cidr']:
@@ -154,9 +145,8 @@
def test_show_subnet_fields(self):
# Verify specific fields of a subnet
fields = ['id', 'network_id']
- resp, body = self.client.show_subnet(self.subnet['id'],
- fields=fields)
- self.assertEqual('200', resp['status'])
+ _, body = self.client.show_subnet(self.subnet['id'],
+ fields=fields)
subnet = body['subnet']
self.assertEqual(sorted(subnet.keys()), sorted(fields))
for field_name in fields:
@@ -165,8 +155,7 @@
@test.attr(type='smoke')
def test_list_subnets(self):
# Verify the subnet exists in the list of all subnets
- resp, body = self.client.list_subnets()
- self.assertEqual('200', resp['status'])
+ _, body = self.client.list_subnets()
subnets = [subnet['id'] for subnet in body['subnets']
if subnet['id'] == self.subnet['id']]
self.assertNotEmpty(subnets, "Created subnet not found in the list")
@@ -175,8 +164,7 @@
def test_list_subnets_fields(self):
# Verify specific fields of subnets
fields = ['id', 'network_id']
- resp, body = self.client.list_subnets(fields=fields)
- self.assertEqual('200', resp['status'])
+ _, body = self.client.list_subnets(fields=fields)
subnets = body['subnets']
self.assertNotEmpty(subnets, "Subnet list returned is empty")
for subnet in subnets:
@@ -194,8 +182,7 @@
def test_delete_network_with_subnet(self):
# Creates a network
name = data_utils.rand_name('network-')
- resp, body = self.client.create_network(name=name)
- self.assertEqual('201', resp['status'])
+ _, body = self.client.create_network(name=name)
network = body['network']
net_id = network['id']
self.addCleanup(self._try_delete_network, net_id)
@@ -205,8 +192,7 @@
subnet_id = subnet['id']
# Delete network while the subnet still exists
- resp, body = self.client.delete_network(net_id)
- self.assertEqual('204', resp['status'])
+ _, body = self.client.delete_network(net_id)
# Verify that the subnet got automatically deleted.
self.assertRaises(exceptions.NotFound, self.client.show_subnet,
@@ -221,16 +207,14 @@
def test_create_delete_subnet_with_gw(self):
gateway = '10.100.0.13'
name = data_utils.rand_name('network-')
- resp, body = self.client.create_network(name=name)
- self.assertEqual('201', resp['status'])
+ _, body = self.client.create_network(name=name)
network = body['network']
net_id = network['id']
subnet = self.create_subnet(network, gateway)
# Verifies Subnet GW in IPv4
self.assertEqual(subnet['gateway_ip'], gateway)
# Delete network and subnet
- resp, body = self.client.delete_network(net_id)
- self.assertEqual('204', resp['status'])
+ self.client.delete_network(net_id)
self.subnets.pop()
@test.attr(type='smoke')
@@ -238,16 +222,14 @@
net = netaddr.IPNetwork(CONF.network.tenant_network_cidr)
gateway_ip = str(netaddr.IPAddress(net.first + 1))
name = data_utils.rand_name('network-')
- resp, body = self.client.create_network(name=name)
- self.assertEqual('201', resp['status'])
+ _, body = self.client.create_network(name=name)
network = body['network']
net_id = network['id']
subnet = self.create_subnet(network)
# Verifies Subnet GW in IPv4
self.assertEqual(subnet['gateway_ip'], gateway_ip)
# Delete network and subnet
- resp, body = self.client.delete_network(net_id)
- self.assertEqual('204', resp['status'])
+ self.client.delete_network(net_id)
self.subnets.pop()
@@ -279,8 +261,7 @@
def _delete_networks(self, created_networks):
for n in created_networks:
- resp, body = self.client.delete_network(n['id'])
- self.assertEqual(204, resp.status)
+ self.client.delete_network(n['id'])
# Asserting that the networks are not found in the list after deletion
resp, body = self.client.list_networks()
networks_list = [network['id'] for network in body['networks']]
@@ -289,8 +270,7 @@
def _delete_subnets(self, created_subnets):
for n in created_subnets:
- resp, body = self.client.delete_subnet(n['id'])
- self.assertEqual(204, resp.status)
+ self.client.delete_subnet(n['id'])
# Asserting that the subnets are not found in the list after deletion
resp, body = self.client.list_subnets()
subnets_list = [subnet['id'] for subnet in body['subnets']]
@@ -299,8 +279,7 @@
def _delete_ports(self, created_ports):
for n in created_ports:
- resp, body = self.client.delete_port(n['id'])
- self.assertEqual(204, resp.status)
+ self.client.delete_port(n['id'])
# Asserting that the ports are not found in the list after deletion
resp, body = self.client.list_ports()
ports_list = [port['id'] for port in body['ports']]
@@ -312,9 +291,8 @@
# Creates 2 networks in one request
network_names = [data_utils.rand_name('network-'),
data_utils.rand_name('network-')]
- resp, body = self.client.create_bulk_network(2, network_names)
+ _, body = self.client.create_bulk_network(network_names)
created_networks = body['networks']
- self.assertEqual('201', resp['status'])
self.addCleanup(self._delete_networks, created_networks)
# Asserting that the networks are found in the list after creation
resp, body = self.client.list_networks()
@@ -344,10 +322,9 @@
}
subnets_list.append(p1)
del subnets_list[1]['name']
- resp, body = self.client.create_bulk_subnet(subnets_list)
+ _, body = self.client.create_bulk_subnet(subnets_list)
created_subnets = body['subnets']
self.addCleanup(self._delete_subnets, created_subnets)
- self.assertEqual('201', resp['status'])
# Asserting that the subnets are found in the list after creation
resp, body = self.client.list_subnets()
subnets_list = [subnet['id'] for subnet in body['subnets']]
@@ -370,10 +347,9 @@
}
port_list.append(p1)
del port_list[1]['name']
- resp, body = self.client.create_bulk_port(port_list)
+ _, body = self.client.create_bulk_port(port_list)
created_ports = body['ports']
self.addCleanup(self._delete_ports, created_ports)
- self.assertEqual('201', resp['status'])
# Asserting that the ports are found in the list after creation
resp, body = self.client.list_ports()
ports_list = [port['id'] for port in body['ports']]
@@ -400,31 +376,27 @@
def test_create_delete_subnet_with_gw(self):
gateway = '2003::2'
name = data_utils.rand_name('network-')
- resp, body = self.client.create_network(name=name)
- self.assertEqual('201', resp['status'])
+ _, body = self.client.create_network(name=name)
network = body['network']
net_id = network['id']
subnet = self.create_subnet(network, gateway)
# Verifies Subnet GW in IPv6
self.assertEqual(subnet['gateway_ip'], gateway)
# Delete network and subnet
- resp, body = self.client.delete_network(net_id)
- self.assertEqual('204', resp['status'])
+ self.client.delete_network(net_id)
self.subnets.pop()
@test.attr(type='smoke')
def test_create_delete_subnet_without_gw(self):
name = data_utils.rand_name('network-')
- resp, body = self.client.create_network(name=name)
- self.assertEqual('201', resp['status'])
+ _, body = self.client.create_network(name=name)
network = body['network']
net_id = network['id']
subnet = self.create_subnet(network)
# Verifies Subnet GW in IPv6
self.assertEqual(subnet['gateway_ip'], '2003::1')
# Delete network and subnet
- resp, body = self.client.delete_network(net_id)
- self.assertEqual('204', resp['status'])
+ _, body = self.client.delete_network(net_id)
self.subnets.pop()
@testtools.skipUnless(CONF.network_feature_enabled.ipv6_subnet_attributes,
@@ -433,8 +405,7 @@
@test.attr(type='smoke')
def test_create_delete_subnet_with_v6_attributes(self):
name = data_utils.rand_name('network-')
- resp, body = self.client.create_network(name=name)
- self.assertEqual('201', resp['status'])
+ _, body = self.client.create_network(name=name)
network = body['network']
net_id = network['id']
subnet = self.create_subnet(network,
@@ -446,8 +417,7 @@
self.assertEqual(subnet['ipv6_ra_mode'], 'slaac')
self.assertEqual(subnet['ipv6_address_mode'], 'slaac')
# Delete network and subnet
- resp, body = self.client.delete_network(net_id)
- self.assertEqual('204', resp['status'])
+ self.client.delete_network(net_id)
self.subnets.pop()
diff --git a/tempest/api/network/test_ports.py b/tempest/api/network/test_ports.py
index e6e6ea1..f06d17c 100644
--- a/tempest/api/network/test_ports.py
+++ b/tempest/api/network/test_ports.py
@@ -44,29 +44,24 @@
cls.port = cls.create_port(cls.network)
def _delete_port(self, port_id):
- resp, body = self.client.delete_port(port_id)
- self.assertEqual('204', resp['status'])
- resp, body = self.client.list_ports()
- self.assertEqual('200', resp['status'])
+ self.client.delete_port(port_id)
+ _, body = self.client.list_ports()
ports_list = body['ports']
self.assertFalse(port_id in [n['id'] for n in ports_list])
@test.attr(type='smoke')
def test_create_update_delete_port(self):
# Verify port creation
- resp, body = self.client.create_port(network_id=self.network['id'])
- self.assertEqual('201', resp['status'])
+ _, body = self.client.create_port(network_id=self.network['id'])
port = body['port']
# Schedule port deletion with verification upon test completion
self.addCleanup(self._delete_port, port['id'])
self.assertTrue(port['admin_state_up'])
# Verify port update
new_name = "New_Port"
- resp, body = self.client.update_port(
- port['id'],
- name=new_name,
- admin_state_up=False)
- self.assertEqual('200', resp['status'])
+ _, body = self.client.update_port(port['id'],
+ name=new_name,
+ admin_state_up=False)
updated_port = body['port']
self.assertEqual(updated_port['name'], new_name)
self.assertFalse(updated_port['admin_state_up'])
@@ -74,8 +69,7 @@
@test.attr(type='smoke')
def test_show_port(self):
# Verify the details of port
- resp, body = self.client.show_port(self.port['id'])
- self.assertEqual('200', resp['status'])
+ _, body = self.client.show_port(self.port['id'])
port = body['port']
self.assertIn('id', port)
self.assertEqual(port['id'], self.port['id'])
@@ -95,9 +89,8 @@
def test_show_port_fields(self):
# Verify specific fields of a port
fields = ['id', 'mac_address']
- resp, body = self.client.show_port(self.port['id'],
- fields=fields)
- self.assertEqual('200', resp['status'])
+ _, body = self.client.show_port(self.port['id'],
+ fields=fields)
port = body['port']
self.assertEqual(sorted(port.keys()), sorted(fields))
for field_name in fields:
@@ -106,8 +99,7 @@
@test.attr(type='smoke')
def test_list_ports(self):
# Verify the port exists in the list of all ports
- resp, body = self.client.list_ports()
- self.assertEqual('200', resp['status'])
+ _, body = self.client.list_ports()
ports = [port['id'] for port in body['ports']
if port['id'] == self.port['id']]
self.assertNotEmpty(ports, "Created port not found in the list")
@@ -125,9 +117,7 @@
self.addCleanup(self.client.remove_router_interface_with_port_id,
router['id'], port['port']['id'])
# List ports filtered by router_id
- resp, port_list = self.client.list_ports(
- device_id=router['id'])
- self.assertEqual('200', resp['status'])
+ _, port_list = self.client.list_ports(device_id=router['id'])
ports = port_list['ports']
self.assertEqual(len(ports), 1)
self.assertEqual(ports[0]['id'], port['port']['id'])
@@ -137,8 +127,7 @@
def test_list_ports_fields(self):
# Verify specific fields of ports
fields = ['id', 'mac_address']
- resp, body = self.client.list_ports(fields=fields)
- self.assertEqual('200', resp['status'])
+ _, body = self.client.list_ports(fields=fields)
ports = body['ports']
self.assertNotEmpty(ports, "Port list returned is empty")
# Asserting the fields returned are correct
@@ -190,8 +179,7 @@
def test_create_port_binding_ext_attr(self):
post_body = {"network_id": self.network['id'],
"binding:host_id": self.host_id}
- resp, body = self.admin_client.create_port(**post_body)
- self.assertEqual('201', resp['status'])
+ _, body = self.admin_client.create_port(**post_body)
port = body['port']
self.addCleanup(self.admin_client.delete_port, port['id'])
host_id = port['binding:host_id']
@@ -201,13 +189,11 @@
@test.attr(type='smoke')
def test_update_port_binding_ext_attr(self):
post_body = {"network_id": self.network['id']}
- resp, body = self.admin_client.create_port(**post_body)
- self.assertEqual('201', resp['status'])
+ _, body = self.admin_client.create_port(**post_body)
port = body['port']
self.addCleanup(self.admin_client.delete_port, port['id'])
update_body = {"binding:host_id": self.host_id}
- resp, body = self.admin_client.update_port(port['id'], **update_body)
- self.assertEqual('200', resp['status'])
+ _, body = self.admin_client.update_port(port['id'], **update_body)
updated_port = body['port']
host_id = updated_port['binding:host_id']
self.assertIsNotNone(host_id)
@@ -217,21 +203,18 @@
def test_list_ports_binding_ext_attr(self):
# Create a new port
post_body = {"network_id": self.network['id']}
- resp, body = self.admin_client.create_port(**post_body)
- self.assertEqual('201', resp['status'])
+ _, body = self.admin_client.create_port(**post_body)
port = body['port']
self.addCleanup(self.admin_client.delete_port, port['id'])
# Update the port's binding attributes so that is now 'bound'
# to a host
update_body = {"binding:host_id": self.host_id}
- resp, _ = self.admin_client.update_port(port['id'], **update_body)
- self.assertEqual('200', resp['status'])
+ self.admin_client.update_port(port['id'], **update_body)
# List all ports, ensure new port is part of list and its binding
# attributes are set and accurate
- resp, body = self.admin_client.list_ports()
- self.assertEqual('200', resp['status'])
+ _, body = self.admin_client.list_ports()
ports_list = body['ports']
pids_list = [p['id'] for p in ports_list]
self.assertIn(port['id'], pids_list)
@@ -243,13 +226,10 @@
@test.attr(type='smoke')
def test_show_port_binding_ext_attr(self):
- resp, body = self.admin_client.create_port(
- network_id=self.network['id'])
- self.assertEqual('201', resp['status'])
+ _, body = self.admin_client.create_port(network_id=self.network['id'])
port = body['port']
self.addCleanup(self.admin_client.delete_port, port['id'])
- resp, body = self.admin_client.show_port(port['id'])
- self.assertEqual('200', resp['status'])
+ _, body = self.admin_client.show_port(port['id'])
show_port = body['port']
self.assertEqual(port['binding:host_id'],
show_port['binding:host_id'])
diff --git a/tempest/api/network/test_routers.py b/tempest/api/network/test_routers.py
index 878335d..bcd8113 100644
--- a/tempest/api/network/test_routers.py
+++ b/tempest/api/network/test_routers.py
@@ -54,11 +54,10 @@
# NOTE(salv-orlando): Do not invoke self.create_router
# as we need to check the response code
name = data_utils.rand_name('router-')
- resp, create_body = self.client.create_router(
+ _, create_body = self.client.create_router(
name, external_gateway_info={
"network_id": CONF.network.public_network_id},
admin_state_up=False)
- self.assertEqual('201', resp['status'])
self.addCleanup(self._delete_router, create_body['router']['id'])
self.assertEqual(create_body['router']['name'], name)
self.assertEqual(
@@ -66,26 +65,22 @@
CONF.network.public_network_id)
self.assertEqual(create_body['router']['admin_state_up'], False)
# Show details of the created router
- resp, show_body = self.client.show_router(
- create_body['router']['id'])
- self.assertEqual('200', resp['status'])
+ _, show_body = self.client.show_router(create_body['router']['id'])
self.assertEqual(show_body['router']['name'], name)
self.assertEqual(
show_body['router']['external_gateway_info']['network_id'],
CONF.network.public_network_id)
self.assertEqual(show_body['router']['admin_state_up'], False)
# List routers and verify if created router is there in response
- resp, list_body = self.client.list_routers()
- self.assertEqual('200', resp['status'])
+ _, list_body = self.client.list_routers()
routers_list = list()
for router in list_body['routers']:
routers_list.append(router['id'])
self.assertIn(create_body['router']['id'], routers_list)
# Update the name of router and verify if it is updated
updated_name = 'updated ' + name
- resp, update_body = self.client.update_router(
- create_body['router']['id'], name=updated_name)
- self.assertEqual('200', resp['status'])
+ _, update_body = self.client.update_router(create_body['router']['id'],
+ name=updated_name)
self.assertEqual(update_body['router']['name'], updated_name)
resp, show_body = self.client.show_router(
create_body['router']['id'])
@@ -97,15 +92,13 @@
test_tenant = data_utils.rand_name('test_tenant_')
test_description = data_utils.rand_name('desc_')
_, tenant = self.identity_admin_client.create_tenant(
- name=test_tenant,
- description=test_description)
+ name=test_tenant, description=test_description)
tenant_id = tenant['id']
self.addCleanup(self.identity_admin_client.delete_tenant, tenant_id)
name = data_utils.rand_name('router-')
- resp, create_body = self.admin_client.create_router(
- name, tenant_id=tenant_id)
- self.assertEqual('201', resp['status'])
+ _, create_body = self.admin_client.create_router(name,
+ tenant_id=tenant_id)
self.addCleanup(self.admin_client.delete_router,
create_body['router']['id'])
self.assertEqual(tenant_id, create_body['router']['tenant_id'])
@@ -131,9 +124,8 @@
external_gateway_info = {
'network_id': CONF.network.public_network_id,
'enable_snat': enable_snat}
- resp, create_body = self.admin_client.create_router(
+ _, create_body = self.admin_client.create_router(
name, external_gateway_info=external_gateway_info)
- self.assertEqual('201', resp['status'])
self.addCleanup(self.admin_client.delete_router,
create_body['router']['id'])
# Verify snat attributes after router creation
@@ -146,9 +138,8 @@
subnet = self.create_subnet(network)
router = self._create_router(data_utils.rand_name('router-'))
# Add router interface with subnet id
- resp, interface = self.client.add_router_interface_with_subnet_id(
+ _, interface = self.client.add_router_interface_with_subnet_id(
router['id'], subnet['id'])
- self.assertEqual('200', resp['status'])
self.addCleanup(self._remove_router_interface_with_subnet_id,
router['id'], subnet['id'])
self.assertIn('subnet_id', interface.keys())
@@ -167,9 +158,8 @@
resp, port_body = self.client.create_port(
network_id=network['id'])
# add router interface to port created above
- resp, interface = self.client.add_router_interface_with_port_id(
+ _, interface = self.client.add_router_interface_with_port_id(
router['id'], port_body['port']['id'])
- self.assertEqual('200', resp['status'])
self.addCleanup(self._remove_router_interface_with_port_id,
router['id'], port_body['port']['id'])
self.assertIn('subnet_id', interface.keys())
@@ -181,8 +171,7 @@
router['id'])
def _verify_router_gateway(self, router_id, exp_ext_gw_info=None):
- resp, show_body = self.admin_client.show_router(router_id)
- self.assertEqual('200', resp['status'])
+ _, show_body = self.admin_client.show_router(router_id)
actual_ext_gw_info = show_body['router']['external_gateway_info']
if exp_ext_gw_info is None:
self.assertIsNone(actual_ext_gw_info)
@@ -212,8 +201,7 @@
external_gateway_info={
'network_id': CONF.network.public_network_id})
# Verify operation - router
- resp, show_body = self.client.show_router(router['id'])
- self.assertEqual('200', resp['status'])
+ _, show_body = self.client.show_router(router['id'])
self._verify_router_gateway(
router['id'],
{'network_id': CONF.network.public_network_id})
@@ -297,16 +285,14 @@
cidr = netaddr.IPNetwork(self.subnet['cidr'])
next_hop = str(cidr[2])
destination = str(self.subnet['cidr'])
- resp, extra_route = self.client.update_extra_routes(
- self.router['id'], next_hop, destination)
- self.assertEqual('200', resp['status'])
+ _, extra_route = self.client.update_extra_routes(self.router['id'],
+ next_hop, destination)
self.assertEqual(1, len(extra_route['router']['routes']))
self.assertEqual(destination,
extra_route['router']['routes'][0]['destination'])
self.assertEqual(next_hop,
extra_route['router']['routes'][0]['nexthop'])
- resp, show_body = self.client.show_router(self.router['id'])
- self.assertEqual('200', resp['status'])
+ _, show_body = self.client.show_router(self.router['id'])
self.assertEqual(destination,
show_body['router']['routes'][0]['destination'])
self.assertEqual(next_hop,
@@ -320,12 +306,10 @@
self.router = self._create_router(data_utils.rand_name('router-'))
self.assertFalse(self.router['admin_state_up'])
# Update router admin state
- resp, update_body = self.client.update_router(self.router['id'],
- admin_state_up=True)
- self.assertEqual('200', resp['status'])
+ _, update_body = self.client.update_router(self.router['id'],
+ admin_state_up=True)
self.assertTrue(update_body['router']['admin_state_up'])
- resp, show_body = self.client.show_router(self.router['id'])
- self.assertEqual('200', resp['status'])
+ _, show_body = self.client.show_router(self.router['id'])
self.assertTrue(show_body['router']['admin_state_up'])
@test.attr(type='smoke')
@@ -348,8 +332,7 @@
interface02['port_id'])
def _verify_router_interface(self, router_id, subnet_id, port_id):
- resp, show_port_body = self.client.show_port(port_id)
- self.assertEqual('200', resp['status'])
+ _, show_port_body = self.client.show_port(port_id)
interface_port = show_port_body['port']
self.assertEqual(router_id, interface_port['device_id'])
self.assertEqual(subnet_id,
diff --git a/tempest/api/network/test_security_groups.py b/tempest/api/network/test_security_groups.py
index b98cea1..cea8344 100644
--- a/tempest/api/network/test_security_groups.py
+++ b/tempest/api/network/test_security_groups.py
@@ -33,8 +33,7 @@
@test.attr(type='smoke')
def test_list_security_groups(self):
# Verify the that security group belonging to tenant exist in list
- resp, body = self.client.list_security_groups()
- self.assertEqual('200', resp['status'])
+ _, body = self.client.list_security_groups()
security_groups = body['security_groups']
found = None
for n in security_groups:
@@ -48,8 +47,7 @@
group_create_body, name = self._create_security_group()
# List security groups and verify if created group is there in response
- resp, list_body = self.client.list_security_groups()
- self.assertEqual('200', resp['status'])
+ _, list_body = self.client.list_security_groups()
secgroup_list = list()
for secgroup in list_body['security_groups']:
secgroup_list.append(secgroup['id'])
@@ -57,12 +55,11 @@
# Update the security group
new_name = data_utils.rand_name('security-')
new_description = data_utils.rand_name('security-description')
- resp, update_body = self.client.update_security_group(
+ _, update_body = self.client.update_security_group(
group_create_body['security_group']['id'],
name=new_name,
description=new_description)
# Verify if security group is updated
- self.assertEqual('200', resp['status'])
self.assertEqual(update_body['security_group']['name'], new_name)
self.assertEqual(update_body['security_group']['description'],
new_description)
@@ -80,18 +77,16 @@
# Create rules for each protocol
protocols = ['tcp', 'udp', 'icmp']
for protocol in protocols:
- resp, rule_create_body = self.client.create_security_group_rule(
+ _, rule_create_body = self.client.create_security_group_rule(
security_group_id=group_create_body['security_group']['id'],
protocol=protocol,
direction='ingress'
)
- self.assertEqual('201', resp['status'])
# Show details of the created security rule
- resp, show_rule_body = self.client.show_security_group_rule(
+ _, show_rule_body = self.client.show_security_group_rule(
rule_create_body['security_group_rule']['id']
)
- self.assertEqual('200', resp['status'])
create_dict = rule_create_body['security_group_rule']
for key, value in six.iteritems(create_dict):
self.assertEqual(value,
@@ -99,8 +94,7 @@
"%s does not match." % key)
# List rules and verify created rule is in response
- resp, rule_list_body = self.client.list_security_group_rules()
- self.assertEqual('200', resp['status'])
+ _, rule_list_body = self.client.list_security_group_rules()
rule_list = [rule['id']
for rule in rule_list_body['security_group_rules']]
self.assertIn(rule_create_body['security_group_rule']['id'],
@@ -117,7 +111,7 @@
protocol = 'tcp'
port_range_min = 77
port_range_max = 77
- resp, rule_create_body = self.client.create_security_group_rule(
+ _, rule_create_body = self.client.create_security_group_rule(
security_group_id=group_create_body['security_group']['id'],
direction=direction,
protocol=protocol,
@@ -125,7 +119,6 @@
port_range_max=port_range_max
)
- self.assertEqual('201', resp['status'])
sec_group_rule = rule_create_body['security_group_rule']
self.assertEqual(sec_group_rule['direction'], direction)
diff --git a/tempest/api/network/test_service_type_management.py b/tempest/api/network/test_service_type_management.py
index d272c47..dbb72fb 100644
--- a/tempest/api/network/test_service_type_management.py
+++ b/tempest/api/network/test_service_type_management.py
@@ -26,8 +26,7 @@
@test.attr(type='smoke')
def test_service_provider_list(self):
- resp, body = self.client.list_service_providers()
- self.assertEqual(resp['status'], '200')
+ _, body = self.client.list_service_providers()
self.assertIsInstance(body['service_providers'], list)
diff --git a/tempest/api/network/test_vpnaas_extensions.py b/tempest/api/network/test_vpnaas_extensions.py
index 0cc3f19..09e9640 100644
--- a/tempest/api/network/test_vpnaas_extensions.py
+++ b/tempest/api/network/test_vpnaas_extensions.py
@@ -61,8 +61,7 @@
for ike in all_ike['ikepolicies']:
ike_list.append(ike['id'])
if ike_policy_id in ike_list:
- resp, _ = self.client.delete_ikepolicy(ike_policy_id)
- self.assertEqual(204, resp.status)
+ self.client.delete_ikepolicy(ike_policy_id)
# Asserting that the policy is not found in list after deletion
resp, ikepolicies = self.client.list_ikepolicies()
ike_id_list = list()
@@ -85,8 +84,7 @@
self.assertEqual(value, actual[key])
def _delete_vpn_service(self, vpn_service_id):
- resp, _ = self.client.delete_vpnservice(vpn_service_id)
- self.assertEqual('204', resp['status'])
+ self.client.delete_vpnservice(vpn_service_id)
# Asserting if vpn service is found in the list after deletion
_, body = self.client.list_vpnservices()
vpn_services = [vs['id'] for vs in body['vpnservices']]
@@ -107,9 +105,8 @@
tenant_id = self._get_tenant_id()
# Create IPSec policy for the newly created tenant
name = data_utils.rand_name('ipsec-policy')
- resp, body = (self.admin_client.
- create_ipsecpolicy(name=name, tenant_id=tenant_id))
- self.assertEqual('201', resp['status'])
+ _, body = (self.admin_client.
+ create_ipsecpolicy(name=name, tenant_id=tenant_id))
ipsecpolicy = body['ipsecpolicy']
self.assertIsNotNone(ipsecpolicy['id'])
self.addCleanup(self.admin_client.delete_ipsecpolicy,
@@ -126,13 +123,12 @@
# Create vpn service for the newly created tenant
name = data_utils.rand_name('vpn-service')
- resp, body = self.admin_client.create_vpnservice(
+ _, body = self.admin_client.create_vpnservice(
subnet_id=self.subnet['id'],
router_id=self.router['id'],
name=name,
admin_state_up=True,
tenant_id=tenant_id)
- self.assertEqual('201', resp['status'])
vpnservice = body['vpnservice']
self.assertIsNotNone(vpnservice['id'])
self.addCleanup(self.admin_client.delete_vpnservice, vpnservice['id'])
@@ -148,12 +144,11 @@
# Create IKE policy for the newly created tenant
name = data_utils.rand_name('ike-policy')
- resp, body = (self.admin_client.
- create_ikepolicy(name=name, ike_version="v1",
- encryption_algorithm="aes-128",
- auth_algorithm="sha1",
- tenant_id=tenant_id))
- self.assertEqual('201', resp['status'])
+ _, body = (self.admin_client.
+ create_ikepolicy(name=name, ike_version="v1",
+ encryption_algorithm="aes-128",
+ auth_algorithm="sha1",
+ tenant_id=tenant_id))
ikepolicy = body['ikepolicy']
self.assertIsNotNone(ikepolicy['id'])
self.addCleanup(self.admin_client.delete_ikepolicy, ikepolicy['id'])
@@ -166,8 +161,7 @@
@test.attr(type='smoke')
def test_list_vpn_services(self):
# Verify the VPN service exists in the list of all VPN services
- resp, body = self.client.list_vpnservices()
- self.assertEqual('200', resp['status'])
+ _, body = self.client.list_vpnservices()
vpnservices = body['vpnservices']
self.assertIn(self.vpnservice['id'], [v['id'] for v in vpnservices])
@@ -175,11 +169,10 @@
def test_create_update_delete_vpn_service(self):
# Creates a VPN service and sets up deletion
name = data_utils.rand_name('vpn-service')
- resp, body = self.client.create_vpnservice(subnet_id=self.subnet['id'],
- router_id=self.router['id'],
- name=name,
- admin_state_up=True)
- self.assertEqual('201', resp['status'])
+ _, body = self.client.create_vpnservice(subnet_id=self.subnet['id'],
+ router_id=self.router['id'],
+ name=name,
+ admin_state_up=True)
vpnservice = body['vpnservice']
self.addCleanup(self._delete_vpn_service, vpnservice['id'])
# Assert if created vpnservices are not found in vpnservices list
@@ -196,8 +189,7 @@
@test.attr(type='smoke')
def test_show_vpn_service(self):
# Verifies the details of a vpn service
- resp, body = self.client.show_vpnservice(self.vpnservice['id'])
- self.assertEqual('200', resp['status'])
+ _, body = self.client.show_vpnservice(self.vpnservice['id'])
vpnservice = body['vpnservice']
self.assertEqual(self.vpnservice['id'], vpnservice['id'])
self.assertEqual(self.vpnservice['name'], vpnservice['name'])
@@ -213,8 +205,7 @@
@test.attr(type='smoke')
def test_list_ike_policies(self):
# Verify the ike policy exists in the list of all IKE policies
- resp, body = self.client.list_ikepolicies()
- self.assertEqual('200', resp['status'])
+ _, body = self.client.list_ikepolicies()
ikepolicies = body['ikepolicies']
self.assertIn(self.ikepolicy['id'], [i['id'] for i in ikepolicies])
@@ -222,12 +213,11 @@
def test_create_update_delete_ike_policy(self):
# Creates a IKE policy
name = data_utils.rand_name('ike-policy')
- resp, body = (self.client.create_ikepolicy(
- name=name,
- ike_version="v1",
- encryption_algorithm="aes-128",
- auth_algorithm="sha1"))
- self.assertEqual('201', resp['status'])
+ _, body = (self.client.create_ikepolicy(
+ name=name,
+ ike_version="v1",
+ encryption_algorithm="aes-128",
+ auth_algorithm="sha1"))
ikepolicy = body['ikepolicy']
self.assertIsNotNone(ikepolicy['id'])
self.addCleanup(self._delete_ike_policy, ikepolicy['id'])
@@ -239,8 +229,7 @@
'ike_version': "v2",
'pfs': "group14",
'lifetime': {'units': "seconds", 'value': 2000}}
- resp, _ = self.client.update_ikepolicy(ikepolicy['id'], **new_ike)
- self.assertEqual('200', resp['status'])
+ self.client.update_ikepolicy(ikepolicy['id'], **new_ike)
# Confirm that update was successful by verifying using 'show'
_, body = self.client.show_ikepolicy(ikepolicy['id'])
ike_policy = body['ikepolicy']
@@ -249,8 +238,7 @@
self.assertEqual(value, ike_policy[key])
# Verification of ike policy delete
- resp, _ = self.client.delete_ikepolicy(ikepolicy['id'])
- self.assertEqual('204', resp['status'])
+ self.client.delete_ikepolicy(ikepolicy['id'])
_, body = self.client.list_ikepolicies()
ikepolicies = [ikp['id'] for ikp in body['ikepolicies']]
self.assertNotIn(ike_policy['id'], ikepolicies)
@@ -258,8 +246,7 @@
@test.attr(type='smoke')
def test_show_ike_policy(self):
# Verifies the details of a ike policy
- resp, body = self.client.show_ikepolicy(self.ikepolicy['id'])
- self.assertEqual('200', resp['status'])
+ _, body = self.client.show_ikepolicy(self.ikepolicy['id'])
ikepolicy = body['ikepolicy']
self.assertEqual(self.ikepolicy['id'], ikepolicy['id'])
self.assertEqual(self.ikepolicy['name'], ikepolicy['name'])
@@ -281,8 +268,7 @@
@test.attr(type='smoke')
def test_list_ipsec_policies(self):
# Verify the ipsec policy exists in the list of all ipsec policies
- resp, body = self.client.list_ipsecpolicies()
- self.assertEqual('200', resp['status'])
+ _, body = self.client.list_ipsecpolicies()
ipsecpolicies = body['ipsecpolicies']
self.assertIn(self.ipsecpolicy['id'], [i['id'] for i in ipsecpolicies])
@@ -293,8 +279,7 @@
'pfs': 'group5',
'encryption_algorithm': "aes-128",
'auth_algorithm': 'sha1'}
- resp, resp_body = self.client.create_ipsecpolicy(**ipsec_policy_body)
- self.assertEqual('201', resp['status'])
+ _, resp_body = self.client.create_ipsecpolicy(**ipsec_policy_body)
ipsecpolicy = resp_body['ipsecpolicy']
self.addCleanup(self._delete_ipsec_policy, ipsecpolicy['id'])
self._assertExpected(ipsec_policy_body, ipsecpolicy)
@@ -304,22 +289,19 @@
'name': data_utils.rand_name("New-IPSec"),
'encryption_algorithm': "aes-256",
'lifetime': {'units': "seconds", 'value': '2000'}}
- resp, body = self.client.update_ipsecpolicy(ipsecpolicy['id'],
- **new_ipsec)
- self.assertEqual('200', resp['status'])
+ _, body = self.client.update_ipsecpolicy(ipsecpolicy['id'],
+ **new_ipsec)
updated_ipsec_policy = body['ipsecpolicy']
self._assertExpected(new_ipsec, updated_ipsec_policy)
# Verification of ipsec policy delete
- resp, _ = self.client.delete_ipsecpolicy(ipsecpolicy['id'])
- self.assertEqual('204', resp['status'])
+ self.client.delete_ipsecpolicy(ipsecpolicy['id'])
self.assertRaises(exceptions.NotFound,
self.client.delete_ipsecpolicy, ipsecpolicy['id'])
@test.attr(type='smoke')
def test_show_ipsec_policy(self):
# Verifies the details of an ipsec policy
- resp, body = self.client.show_ipsecpolicy(self.ipsecpolicy['id'])
- self.assertEqual('200', resp['status'])
+ _, body = self.client.show_ipsecpolicy(self.ipsecpolicy['id'])
ipsecpolicy = body['ipsecpolicy']
self._assertExpected(self.ipsecpolicy, ipsecpolicy)
diff --git a/tempest/api/orchestration/base.py b/tempest/api/orchestration/base.py
index a091ce1..d0fb825 100644
--- a/tempest/api/orchestration/base.py
+++ b/tempest/api/orchestration/base.py
@@ -51,7 +51,7 @@
@classmethod
def _get_default_network(cls):
- __, networks = cls.network_client.list_networks()
+ _, networks = cls.network_client.list_networks()
for net in networks['networks']:
if net['name'] == CONF.compute.fixed_network_name:
return net
@@ -95,7 +95,7 @@
@classmethod
def _create_keypair(cls, name_start='keypair-heat-'):
kp_name = data_utils.rand_name(name_start)
- __, body = cls.keypairs_client.create_keypair(kp_name)
+ _, body = cls.keypairs_client.create_keypair(kp_name)
cls.keypairs.append(kp_name)
return body
@@ -111,9 +111,9 @@
def _create_image(cls, name_start='image-heat-', container_format='bare',
disk_format='iso'):
image_name = data_utils.rand_name(name_start)
- __, body = cls.images_v2_client.create_image(image_name,
- container_format,
- disk_format)
+ _, body = cls.images_v2_client.create_image(image_name,
+ container_format,
+ disk_format)
image_id = body['id']
cls.images.append(image_id)
return body
@@ -162,8 +162,7 @@
def list_resources(self, stack_identifier):
"""Get a dict mapping of resource names to types."""
- resp, resources = self.client.list_resources(stack_identifier)
- self.assertEqual('200', resp['status'])
+ _, resources = self.client.list_resources(stack_identifier)
self.assertIsInstance(resources, list)
for res in resources:
self.assert_fields_in_dict(res, 'logical_resource_id',
@@ -174,6 +173,5 @@
for r in resources)
def get_stack_output(self, stack_identifier, output_key):
- resp, body = self.client.get_stack(stack_identifier)
- self.assertEqual('200', resp['status'])
+ _, body = self.client.get_stack(stack_identifier)
return self.stack_output(body, output_key)
diff --git a/tempest/api/orchestration/stacks/test_neutron_resources.py b/tempest/api/orchestration/stacks/test_neutron_resources.py
index 26e3ac6..9b9dfec 100644
--- a/tempest/api/orchestration/stacks/test_neutron_resources.py
+++ b/tempest/api/orchestration/stacks/test_neutron_resources.py
@@ -71,11 +71,11 @@
# attempt to log the server console to help with debugging
# the cause of the server not signalling the waitcondition
# to heat.
- resp, body = cls.client.get_resource(cls.stack_identifier,
- 'Server')
+ _, body = cls.client.get_resource(cls.stack_identifier,
+ 'Server')
server_id = body['physical_resource_id']
LOG.debug('Console output for %s', server_id)
- resp, output = cls.servers_client.get_console_output(
+ _, output = cls.servers_client.get_console_output(
server_id, None)
LOG.debug(output)
raise e
@@ -102,8 +102,7 @@
def test_created_network(self):
"""Verifies created network."""
network_id = self.test_resources.get('Network')['physical_resource_id']
- resp, body = self.network_client.show_network(network_id)
- self.assertEqual('200', resp['status'])
+ _, body = self.network_client.show_network(network_id)
network = body['network']
self.assertIsInstance(network, dict)
self.assertEqual(network_id, network['id'])
@@ -113,8 +112,7 @@
def test_created_subnet(self):
"""Verifies created subnet."""
subnet_id = self.test_resources.get('Subnet')['physical_resource_id']
- resp, body = self.network_client.show_subnet(subnet_id)
- self.assertEqual('200', resp['status'])
+ _, body = self.network_client.show_subnet(subnet_id)
subnet = body['subnet']
network_id = self.test_resources.get('Network')['physical_resource_id']
self.assertEqual(subnet_id, subnet['id'])
@@ -129,8 +127,7 @@
def test_created_router(self):
"""Verifies created router."""
router_id = self.test_resources.get('Router')['physical_resource_id']
- resp, body = self.network_client.show_router(router_id)
- self.assertEqual('200', resp['status'])
+ _, body = self.network_client.show_router(router_id)
router = body['router']
self.assertEqual('NewRouter', router['name'])
self.assertEqual(self.external_network_id,
@@ -143,8 +140,7 @@
router_id = self.test_resources.get('Router')['physical_resource_id']
network_id = self.test_resources.get('Network')['physical_resource_id']
subnet_id = self.test_resources.get('Subnet')['physical_resource_id']
- resp, body = self.network_client.list_ports()
- self.assertEqual('200', resp['status'])
+ _, body = self.network_client.list_ports()
ports = body['ports']
router_ports = filter(lambda port: port['device_id'] ==
router_id, ports)
@@ -164,8 +160,7 @@
def test_created_server(self):
"""Verifies created sever."""
server_id = self.test_resources.get('Server')['physical_resource_id']
- resp, server = self.servers_client.get_server(server_id)
- self.assertEqual('200', resp['status'])
+ _, server = self.servers_client.get_server(server_id)
self.assertEqual(self.keypair_name, server['key_name'])
self.assertEqual('ACTIVE', server['status'])
network = server['addresses']['NewNetwork'][0]
diff --git a/tempest/api/orchestration/stacks/test_non_empty_stack.py b/tempest/api/orchestration/stacks/test_non_empty_stack.py
index a97c561..72ad5f5 100644
--- a/tempest/api/orchestration/stacks/test_non_empty_stack.py
+++ b/tempest/api/orchestration/stacks/test_non_empty_stack.py
@@ -45,8 +45,7 @@
cls.client.wait_for_stack_status(cls.stack_id, 'CREATE_COMPLETE')
def _list_stacks(self, expected_num=None, **filter_kwargs):
- resp, stacks = self.client.list_stacks(params=filter_kwargs)
- self.assertEqual('200', resp['status'])
+ _, stacks = self.client.list_stacks(params=filter_kwargs)
self.assertIsInstance(stacks, list)
if expected_num is not None:
self.assertEqual(expected_num, len(stacks))
@@ -62,8 +61,7 @@
@test.attr(type='gate')
def test_stack_show(self):
"""Getting details about created stack should be possible."""
- resp, stack = self.client.get_stack(self.stack_name)
- self.assertEqual('200', resp['status'])
+ _, stack = self.client.get_stack(self.stack_name)
self.assertIsInstance(stack, dict)
self.assert_fields_in_dict(stack, 'stack_name', 'id', 'links',
'parameters', 'outputs', 'disable_rollback',
@@ -82,12 +80,10 @@
@test.attr(type='gate')
def test_suspend_resume_stack(self):
"""Suspend and resume a stack."""
- resp, suspend_stack = self.client.suspend_stack(self.stack_identifier)
- self.assertEqual('200', resp['status'])
+ _, suspend_stack = self.client.suspend_stack(self.stack_identifier)
self.client.wait_for_stack_status(self.stack_identifier,
'SUSPEND_COMPLETE')
- resp, resume_stack = self.client.resume_stack(self.stack_identifier)
- self.assertEqual('200', resp['status'])
+ _, resume_stack = self.client.resume_stack(self.stack_identifier)
self.client.wait_for_stack_status(self.stack_identifier,
'RESUME_COMPLETE')
@@ -101,8 +97,8 @@
@test.attr(type='gate')
def test_show_resource(self):
"""Getting details about created resource should be possible."""
- resp, resource = self.client.get_resource(self.stack_identifier,
- self.resource_name)
+ _, resource = self.client.get_resource(self.stack_identifier,
+ self.resource_name)
self.assertIsInstance(resource, dict)
self.assert_fields_in_dict(resource, 'resource_name', 'description',
'links', 'logical_resource_id',
@@ -115,18 +111,16 @@
@test.attr(type='gate')
def test_resource_metadata(self):
"""Getting metadata for created resources should be possible."""
- resp, metadata = self.client.show_resource_metadata(
+ _, metadata = self.client.show_resource_metadata(
self.stack_identifier,
self.resource_name)
- self.assertEqual('200', resp['status'])
self.assertIsInstance(metadata, dict)
self.assertEqual(['Tom', 'Stinky'], metadata.get('kittens', None))
@test.attr(type='gate')
def test_list_events(self):
"""Getting list of created events for the stack should be possible."""
- resp, events = self.client.list_events(self.stack_identifier)
- self.assertEqual('200', resp['status'])
+ _, events = self.client.list_events(self.stack_identifier)
self.assertIsInstance(events, list)
for event in events:
@@ -141,14 +135,13 @@
@test.attr(type='gate')
def test_show_event(self):
"""Getting details about an event should be possible."""
- resp, events = self.client.list_resource_events(self.stack_identifier,
- self.resource_name)
+ _, events = self.client.list_resource_events(self.stack_identifier,
+ self.resource_name)
self.assertNotEqual([], events)
events.sort(key=lambda event: event['event_time'])
event_id = events[0]['id']
- resp, event = self.client.show_event(self.stack_identifier,
- self.resource_name, event_id)
- self.assertEqual('200', resp['status'])
+ _, event = self.client.show_event(self.stack_identifier,
+ self.resource_name, event_id)
self.assertIsInstance(event, dict)
self.assert_fields_in_dict(event, 'resource_name', 'event_time',
'links', 'logical_resource_id',
diff --git a/tempest/api/orchestration/stacks/test_nova_keypair_resources.py b/tempest/api/orchestration/stacks/test_nova_keypair_resources.py
index c6f880b..2f58611 100644
--- a/tempest/api/orchestration/stacks/test_nova_keypair_resources.py
+++ b/tempest/api/orchestration/stacks/test_nova_keypair_resources.py
@@ -70,8 +70,7 @@
@test.attr(type='gate')
def test_stack_keypairs_output(self):
- resp, stack = self.client.get_stack(self.stack_name)
- self.assertEqual('200', resp['status'])
+ _, stack = self.client.get_stack(self.stack_name)
self.assertIsInstance(stack, dict)
output_map = {}
diff --git a/tempest/api/orchestration/stacks/test_stacks.py b/tempest/api/orchestration/stacks/test_stacks.py
index d5e66e8..8023f2c 100644
--- a/tempest/api/orchestration/stacks/test_stacks.py
+++ b/tempest/api/orchestration/stacks/test_stacks.py
@@ -28,8 +28,7 @@
@test.attr(type='smoke')
def test_stack_list_responds(self):
- resp, stacks = self.client.list_stacks()
- self.assertEqual('200', resp['status'])
+ _, stacks = self.client.list_stacks()
self.assertIsInstance(stacks, list)
@test.attr(type='smoke')
@@ -45,23 +44,22 @@
self.client.wait_for_stack_status(stack_identifier, 'CREATE_COMPLETE')
# check for stack in list
- resp, stacks = self.client.list_stacks()
+ _, stacks = self.client.list_stacks()
list_ids = list([stack['id'] for stack in stacks])
self.assertIn(stack_id, list_ids)
# fetch the stack
- resp, stack = self.client.get_stack(stack_identifier)
+ _, stack = self.client.get_stack(stack_identifier)
self.assertEqual('CREATE_COMPLETE', stack['stack_status'])
# fetch the stack by name
- resp, stack = self.client.get_stack(stack_name)
+ _, stack = self.client.get_stack(stack_name)
self.assertEqual('CREATE_COMPLETE', stack['stack_status'])
# fetch the stack by id
- resp, stack = self.client.get_stack(stack_id)
+ _, stack = self.client.get_stack(stack_id)
self.assertEqual('CREATE_COMPLETE', stack['stack_status'])
# delete the stack
- resp = self.client.delete_stack(stack_identifier)
- self.assertEqual('204', resp[0]['status'])
+ self.client.delete_stack(stack_identifier)
self.client.wait_for_stack_status(stack_identifier, 'DELETE_COMPLETE')
diff --git a/tempest/api/orchestration/stacks/test_swift_resources.py b/tempest/api/orchestration/stacks/test_swift_resources.py
index adab8c3..b307be5 100644
--- a/tempest/api/orchestration/stacks/test_swift_resources.py
+++ b/tempest/api/orchestration/stacks/test_swift_resources.py
@@ -63,9 +63,8 @@
def test_created_containers(self):
params = {'format': 'json'}
- resp, container_list = \
+ _, container_list = \
self.account_client.list_account_containers(params=params)
- self.assertEqual('200', resp['status'])
self.assertEqual(2, len(container_list))
for cont in container_list:
self.assertTrue(cont['name'].startswith(self.stack_name))
diff --git a/tempest/api/orchestration/stacks/test_templates.py b/tempest/api/orchestration/stacks/test_templates.py
index 74950a9..0d6060d 100644
--- a/tempest/api/orchestration/stacks/test_templates.py
+++ b/tempest/api/orchestration/stacks/test_templates.py
@@ -39,15 +39,13 @@
@test.attr(type='gate')
def test_show_template(self):
"""Getting template used to create the stack."""
- resp, template = self.client.show_template(self.stack_identifier)
- self.assertEqual('200', resp['status'])
+ _, template = self.client.show_template(self.stack_identifier)
@test.attr(type='gate')
def test_validate_template(self):
"""Validating template passing it content."""
- resp, parameters = self.client.validate_template(self.template,
- self.parameters)
- self.assertEqual('200', resp['status'])
+ _, parameters = self.client.validate_template(self.template,
+ self.parameters)
class TemplateAWSTestJSON(TemplateYAMLTestJSON):
diff --git a/tempest/api/orchestration/stacks/test_update.py b/tempest/api/orchestration/stacks/test_update.py
index a9a43b6..791a19b 100644
--- a/tempest/api/orchestration/stacks/test_update.py
+++ b/tempest/api/orchestration/stacks/test_update.py
@@ -40,11 +40,10 @@
def update_stack(self, stack_identifier, template):
stack_name = stack_identifier.split('/')[0]
- resp = self.client.update_stack(
+ self.client.update_stack(
stack_identifier=stack_identifier,
name=stack_name,
template=template)
- self.assertEqual('202', resp[0]['status'])
self.client.wait_for_stack_status(stack_identifier, 'UPDATE_COMPLETE')
@test.attr(type='gate')
diff --git a/tempest/api/orchestration/stacks/test_volumes.py b/tempest/api/orchestration/stacks/test_volumes.py
index f11ac2a..ff1cfac 100644
--- a/tempest/api/orchestration/stacks/test_volumes.py
+++ b/tempest/api/orchestration/stacks/test_volumes.py
@@ -33,8 +33,7 @@
def _cinder_verify(self, volume_id, template):
self.assertIsNotNone(volume_id)
- resp, volume = self.volumes_client.get_volume(volume_id)
- self.assertEqual(200, resp.status)
+ _, volume = self.volumes_client.get_volume(volume_id)
self.assertEqual('available', volume.get('status'))
self.assertEqual(template['resources']['volume']['properties'][
'size'], volume.get('size'))
diff --git a/tempest/api/telemetry/base.py b/tempest/api/telemetry/base.py
index b5b2bb1..8c2f37b 100644
--- a/tempest/api/telemetry/base.py
+++ b/tempest/api/telemetry/base.py
@@ -29,6 +29,7 @@
def setUpClass(cls):
if not CONF.service_available.ceilometer:
raise cls.skipException("Ceilometer support is required")
+ cls.set_network_resources()
super(BaseTelemetryTest, cls).setUpClass()
os = cls.get_client_manager()
cls.telemetry_client = os.telemetry_client
diff --git a/tempest/common/xml_utils.py b/tempest/common/xml_utils.py
index b1bf789..7d460a4 100644
--- a/tempest/common/xml_utils.py
+++ b/tempest/common/xml_utils.py
@@ -14,6 +14,7 @@
# under the License.
import collections
+import copy
XMLNS_11 = "http://docs.openstack.org/compute/api/v1.1"
XMLNS_V3 = "http://docs.openstack.org/compute/api/v1.1"
@@ -78,16 +79,19 @@
class Document(Element):
def __init__(self, *args, **kwargs):
- if 'version' not in kwargs:
- kwargs['version'] = '1.0'
- if 'encoding' not in kwargs:
- kwargs['encoding'] = 'UTF-8'
Element.__init__(self, '?xml', *args, **kwargs)
def __str__(self):
- args = " ".join(['%s="%s"' %
- (k, v if v is not None else "")
- for k, v in self._attrs.items()])
+ attrs = copy.copy(self._attrs)
+ # pop the required standard attrs out and render in required
+ # order.
+ vers = attrs.pop('version', '1.0')
+ enc = attrs.pop('encoding', 'UTF-8')
+ args = 'version="%s" encoding="%s"' % (vers, enc)
+ if attrs:
+ args = " ".join([args] + ['%s="%s"' %
+ (k, v if v is not None else "")
+ for k, v in attrs.items()])
string = '<?xml %s?>\n' % args
for element in self._elements:
string += str(element)
diff --git a/tempest/config.py b/tempest/config.py
index 4836c63..af45ba5 100644
--- a/tempest/config.py
+++ b/tempest/config.py
@@ -855,9 +855,15 @@
default='/opt/stack/new/devstack/files/images/'
'cirros-0.3.1-x86_64-uec',
help='Directory containing image files'),
- cfg.StrOpt('qcow2_img_file',
+ cfg.StrOpt('img_file', deprecated_name='qcow2_img_file',
default='cirros-0.3.1-x86_64-disk.img',
- help='QCOW2 image file name'),
+ help='Image file name'),
+ cfg.StrOpt('img_disk_format',
+ default='qcow2',
+ help='Image disk format'),
+ cfg.StrOpt('img_container_format',
+ default='bare',
+ help='Image container format'),
cfg.StrOpt('ami_img_file',
default='cirros-0.3.1-x86_64-blank.img',
help='AMI image file name'),
diff --git a/tempest/scenario/manager.py b/tempest/scenario/manager.py
index 982ded6..54f0256 100644
--- a/tempest/scenario/manager.py
+++ b/tempest/scenario/manager.py
@@ -355,19 +355,22 @@
return image['id']
def glance_image_create(self):
- qcow2_img_path = (CONF.scenario.img_dir + "/" +
- CONF.scenario.qcow2_img_file)
+ img_path = CONF.scenario.img_dir + "/" + CONF.scenario.img_file
aki_img_path = CONF.scenario.img_dir + "/" + CONF.scenario.aki_img_file
ari_img_path = CONF.scenario.img_dir + "/" + CONF.scenario.ari_img_file
ami_img_path = CONF.scenario.img_dir + "/" + CONF.scenario.ami_img_file
- LOG.debug("paths: img: %s, ami: %s, ari: %s, aki: %s"
- % (qcow2_img_path, ami_img_path, ari_img_path, aki_img_path))
+ img_container_format = CONF.scenario.img_container_format
+ img_disk_format = CONF.scenario.img_disk_format
+ LOG.debug("paths: img: %s, container_fomat: %s, disk_format: %s, "
+ "ami: %s, ari: %s, aki: %s" %
+ (img_path, img_container_format, img_disk_format,
+ ami_img_path, ari_img_path, aki_img_path))
try:
self.image = self._image_create('scenario-img',
- 'bare',
- qcow2_img_path,
+ img_container_format,
+ img_path,
properties={'disk_format':
- 'qcow2'})
+ img_disk_format})
except IOError:
LOG.debug("A qcow2 image was not found. Try to get a uec image.")
kernel = self._image_create('scenario-aki', 'aki', aki_img_path)
@@ -657,11 +660,25 @@
'cidr': '0.0.0.0/0',
},
{
+ # ssh -6
+ 'ip_protocol': 'tcp',
+ 'from_port': 22,
+ 'to_port': 22,
+ 'cidr': '::/0',
+ },
+ {
# ping
'ip_protocol': 'icmp',
'from_port': -1,
'to_port': -1,
'cidr': '0.0.0.0/0',
+ },
+ {
+ # ping6
+ 'ip_protocol': 'icmp',
+ 'from_port': -1,
+ 'to_port': -1,
+ 'cidr': '::/0',
}
]
rules = list()
@@ -872,19 +889,22 @@
return image.id
def glance_image_create(self):
- qcow2_img_path = (CONF.scenario.img_dir + "/" +
- CONF.scenario.qcow2_img_file)
+ img_path = CONF.scenario.img_dir + "/" + CONF.scenario.img_file
aki_img_path = CONF.scenario.img_dir + "/" + CONF.scenario.aki_img_file
ari_img_path = CONF.scenario.img_dir + "/" + CONF.scenario.ari_img_file
ami_img_path = CONF.scenario.img_dir + "/" + CONF.scenario.ami_img_file
- LOG.debug("paths: img: %s, ami: %s, ari: %s, aki: %s"
- % (qcow2_img_path, ami_img_path, ari_img_path, aki_img_path))
+ img_container_format = CONF.scenario.img_container_format
+ img_disk_format = CONF.scenario.img_disk_format
+ LOG.debug("paths: img: %s, container_fomat: %s, disk_format: %s, "
+ "ami: %s, ari: %s, aki: %s" %
+ (img_path, img_container_format, img_disk_format,
+ ami_img_path, ari_img_path, aki_img_path))
try:
self.image = self._image_create('scenario-img',
- 'bare',
- qcow2_img_path,
+ img_container_format,
+ img_path,
properties={'disk_format':
- 'qcow2'})
+ img_disk_format})
except IOError:
LOG.debug("A qcow2 image was not found. Try to get a uec image.")
kernel = self._image_create('scenario-aki', 'aki', aki_img_path)
diff --git a/tempest/scenario/test_swift_basic_ops.py b/tempest/scenario/test_swift_basic_ops.py
index b5f3a07..3fa6d2c 100644
--- a/tempest/scenario/test_swift_basic_ops.py
+++ b/tempest/scenario/test_swift_basic_ops.py
@@ -13,7 +13,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-
+from tempest.common import http
from tempest.common.utils import data_utils
from tempest import config
from tempest.openstack.common import log as logging
@@ -32,10 +32,12 @@
* create container.
* upload a file to the created container.
* list container's objects and assure that the uploaded file is present.
+ * download the object and check the content
* delete object from container.
* list container's objects and assure that the deleted file is gone.
* delete a container.
* list containers and assure that the deleted container is gone.
+ * change ACL of the container and make sure it works successfully
"""
@classmethod
@@ -71,9 +73,9 @@
def _upload_object_to_container(self, container_name, obj_name=None):
obj_name = obj_name or data_utils.rand_name('swift-scenario-object')
- self.object_client.create_object(container_name, obj_name,
- data_utils.arbitrary_string())
- return obj_name
+ obj_data = data_utils.arbitrary_string()
+ self.object_client.create_object(container_name, obj_name, obj_data)
+ return obj_name, obj_data
def _delete_object(self, container_name, filename):
self.object_client.delete_object(container_name, filename)
@@ -95,11 +97,46 @@
for obj in not_present_obj:
self.assertNotIn(obj, object_list)
+ def _change_container_acl(self, container_name, acl):
+ metadata_param = {'metadata_prefix': 'x-container-',
+ 'metadata': {'read': acl}}
+ self.container_client.update_container_metadata(container_name,
+ **metadata_param)
+ resp, _ = self.container_client.list_container_metadata(container_name)
+ self.assertEqual(resp['x-container-read'], acl)
+
+ def _download_and_verify(self, container_name, obj_name, expected_data):
+ _, obj = self.object_client.get_object(container_name, obj_name)
+ self.assertEqual(obj, expected_data)
+
@test.services('object_storage')
def test_swift_basic_ops(self):
self._get_swift_stat()
container_name = self._create_container()
- obj_name = self._upload_object_to_container(container_name)
+ obj_name, obj_data = self._upload_object_to_container(container_name)
self._list_and_check_container_objects(container_name, [obj_name])
+ self._download_and_verify(container_name, obj_name, obj_data)
+ self._delete_object(container_name, obj_name)
+ self._delete_container(container_name)
+
+ @test.services('object_storage')
+ def test_swift_acl_anonymous_download(self):
+ """This test will cover below steps:
+ 1. Create container
+ 2. Upload object to the new container
+ 3. Change the ACL of the container
+ 4. Check if the object can be download by anonymous user
+ 5. Delete the object and container
+ """
+ container_name = self._create_container()
+ obj_name, _ = self._upload_object_to_container(container_name)
+ obj_url = '%s/%s/%s' % (self.object_client.base_url,
+ container_name, obj_name)
+ http_client = http.ClosingHttp()
+ resp, _ = http_client.request(obj_url, 'GET')
+ self.assertEqual(resp.status, 401)
+ self._change_container_acl(container_name, '.r:*')
+ resp, _ = http_client.request(obj_url, 'GET')
+ self.assertEqual(resp.status, 200)
self._delete_object(container_name, obj_name)
self._delete_container(container_name)
diff --git a/tempest/services/network/json/network_client.py b/tempest/services/network/json/network_client.py
index 2e28bfe..16a4f5c 100644
--- a/tempest/services/network/json/network_client.py
+++ b/tempest/services/network/json/network_client.py
@@ -54,12 +54,14 @@
body = json.dumps(put_body)
uri = '%s/quotas/%s' % (self.uri_prefix, tenant_id)
resp, body = self.put(uri, body)
+ self.rest_client.expected_success(200, resp.status)
body = json.loads(body)
return resp, body['quota']
def reset_quotas(self, tenant_id):
uri = '%s/quotas/%s' % (self.uri_prefix, tenant_id)
resp, body = self.delete(uri)
+ self.rest_client.expected_success(204, resp.status)
return resp, body
def create_router(self, name, admin_state_up=True, **kwargs):
@@ -69,12 +71,14 @@
body = json.dumps(post_body)
uri = '%s/routers' % (self.uri_prefix)
resp, body = self.post(uri, body)
+ self.rest_client.expected_success(201, resp.status)
body = json.loads(body)
return resp, body
def _update_router(self, router_id, set_enable_snat, **kwargs):
uri = '%s/routers/%s' % (self.uri_prefix, router_id)
resp, body = self.get(uri)
+ self.rest_client.expected_success(200, resp.status)
body = json.loads(body)
update_body = {}
update_body['name'] = kwargs.get('name', body['router']['name'])
@@ -88,6 +92,7 @@
update_body = dict(router=update_body)
update_body = json.dumps(update_body)
resp, body = self.put(uri, update_body)
+ self.rest_client.expected_success(200, resp.status)
body = json.loads(body)
return resp, body
@@ -114,6 +119,7 @@
update_body = {"subnet_id": subnet_id}
update_body = json.dumps(update_body)
resp, body = self.put(uri, update_body)
+ self.rest_client.expected_success(200, resp.status)
body = json.loads(body)
return resp, body
@@ -123,6 +129,7 @@
update_body = {"port_id": port_id}
update_body = json.dumps(update_body)
resp, body = self.put(uri, update_body)
+ self.rest_client.expected_success(200, resp.status)
body = json.loads(body)
return resp, body
@@ -132,6 +139,7 @@
update_body = {"subnet_id": subnet_id}
update_body = json.dumps(update_body)
resp, body = self.put(uri, update_body)
+ self.rest_client.expected_success(200, resp.status)
body = json.loads(body)
return resp, body
@@ -141,6 +149,7 @@
update_body = {"port_id": port_id}
update_body = json.dumps(update_body)
resp, body = self.put(uri, update_body)
+ self.rest_client.expected_success(200, resp.status)
body = json.loads(body)
return resp, body
@@ -155,6 +164,7 @@
uri = '%s/lb/pools/%s/health_monitors' % (self.uri_prefix,
pool_id)
resp, body = self.post(uri, body)
+ self.rest_client.expected_success(201, resp.status)
body = json.loads(body)
return resp, body
@@ -163,11 +173,13 @@
uri = '%s/lb/pools/%s/health_monitors/%s' % (self.uri_prefix, pool_id,
health_monitor_id)
resp, body = self.delete(uri)
+ self.rest_client.expected_success(204, resp.status)
return resp, body
def list_router_interfaces(self, uuid):
uri = '%s/ports?device_id=%s' % (self.uri_prefix, uuid)
resp, body = self.get(uri)
+ self.rest_client.expected_success(200, resp.status)
body = json.loads(body)
return resp, body
@@ -180,12 +192,14 @@
agent = {"agent": agent_info}
body = json.dumps(agent)
resp, body = self.put(uri, body)
+ self.rest_client.expected_success(200, resp.status)
body = json.loads(body)
return resp, body
def list_pools_hosted_by_one_lbaas_agent(self, agent_id):
uri = '%s/agents/%s/loadbalancer-pools' % (self.uri_prefix, agent_id)
resp, body = self.get(uri)
+ self.rest_client.expected_success(200, resp.status)
body = json.loads(body)
return resp, body
@@ -193,18 +207,21 @@
uri = ('%s/lb/pools/%s/loadbalancer-agent' %
(self.uri_prefix, pool_id))
resp, body = self.get(uri)
+ self.rest_client.expected_success(200, resp.status)
body = json.loads(body)
return resp, body
def list_routers_on_l3_agent(self, agent_id):
uri = '%s/agents/%s/l3-routers' % (self.uri_prefix, agent_id)
resp, body = self.get(uri)
+ self.rest_client.expected_success(200, resp.status)
body = json.loads(body)
return resp, body
def list_l3_agents_hosting_router(self, router_id):
uri = '%s/routers/%s/l3-agents' % (self.uri_prefix, router_id)
resp, body = self.get(uri)
+ self.rest_client.expected_success(200, resp.status)
body = json.loads(body)
return resp, body
@@ -213,6 +230,7 @@
post_body = {"router_id": router_id}
body = json.dumps(post_body)
resp, body = self.post(uri, body)
+ self.rest_client.expected_success(201, resp.status)
body = json.loads(body)
return resp, body
@@ -220,17 +238,20 @@
uri = '%s/agents/%s/l3-routers/%s' % (
self.uri_prefix, agent_id, router_id)
resp, body = self.delete(uri)
+ self.rest_client.expected_success(204, resp.status)
return resp, body
def list_dhcp_agent_hosting_network(self, network_id):
uri = '%s/networks/%s/dhcp-agents' % (self.uri_prefix, network_id)
resp, body = self.get(uri)
+ self.rest_client.expected_success(200, resp.status)
body = json.loads(body)
return resp, body
def list_networks_hosted_by_one_dhcp_agent(self, agent_id):
uri = '%s/agents/%s/dhcp-networks' % (self.uri_prefix, agent_id)
resp, body = self.get(uri)
+ self.rest_client.expected_success(200, resp.status)
body = json.loads(body)
return resp, body
@@ -238,6 +259,7 @@
uri = '%s/agents/%s/dhcp-networks/%s' % (self.uri_prefix, agent_id,
network_id)
resp, body = self.delete(uri)
+ self.rest_client.expected_success(204, resp.status)
return resp, body
def create_ikepolicy(self, name, **kwargs):
@@ -251,6 +273,7 @@
body = json.dumps(post_body)
uri = '%s/vpn/ikepolicies' % (self.uri_prefix)
resp, body = self.post(uri, body)
+ self.rest_client.expected_success(201, resp.status)
body = json.loads(body)
return resp, body
@@ -264,6 +287,7 @@
}
body = json.dumps(put_body)
resp, body = self.put(uri, body)
+ self.rest_client.expected_success(200, resp.status)
body = json.loads(body)
return resp, body
@@ -277,12 +301,14 @@
}
body = json.dumps(put_body)
resp, body = self.put(uri, body)
+ self.rest_client.expected_success(200, resp.status)
body = json.loads(body)
return resp, body
def list_lb_pool_stats(self, pool_id):
uri = '%s/lb/pools/%s/stats' % (self.uri_prefix, pool_id)
resp, body = self.get(uri)
+ self.rest_client.expected_success(200, resp.status)
body = json.loads(body)
return resp, body
@@ -291,5 +317,6 @@
body = json.dumps(post_body)
uri = '%s/agents/%s/dhcp-networks' % (self.uri_prefix, agent_id)
resp, body = self.post(uri, body)
+ self.rest_client.expected_success(201, resp.status)
body = json.loads(body)
return resp, body
diff --git a/tempest/services/network/network_client_base.py b/tempest/services/network/network_client_base.py
index 4ee8302..94ba5aa 100644
--- a/tempest/services/network/network_client_base.py
+++ b/tempest/services/network/network_client_base.py
@@ -111,6 +111,7 @@
uri += '?' + urllib.urlencode(filters, doseq=1)
resp, body = self.get(uri)
result = {plural_name: self.deserialize_list(body)}
+ self.rest_client.expected_success(200, resp.status)
return resp, result
return _list
@@ -119,7 +120,9 @@
def _delete(resource_id):
plural = self.pluralize(resource_name)
uri = '%s/%s' % (self.get_uri(plural), resource_id)
- return self.delete(uri)
+ resp, body = self.delete(uri)
+ self.rest_client.expected_success(204, resp.status)
+ return resp, body
return _delete
@@ -134,6 +137,7 @@
uri += '?' + urllib.urlencode(fields, doseq=1)
resp, body = self.get(uri)
body = self.deserialize_single(body)
+ self.rest_client.expected_success(200, resp.status)
return resp, body
return _show
@@ -145,6 +149,7 @@
post_data = self.serialize({resource_name: kwargs})
resp, body = self.post(uri, post_data)
body = self.deserialize_single(body)
+ self.rest_client.expected_success(201, resp.status)
return resp, body
return _create
@@ -156,6 +161,7 @@
post_data = self.serialize({resource_name: kwargs})
resp, body = self.put(uri, post_data)
body = self.deserialize_single(body)
+ self.rest_client.expected_success(200, resp.status)
return resp, body
return _update
@@ -174,15 +180,14 @@
raise AttributeError(name)
# Common methods that are hard to automate
- def create_bulk_network(self, count, names):
- network_list = list()
- for i in range(count):
- network_list.append({'name': names[i]})
+ def create_bulk_network(self, names):
+ network_list = [{'name': name} for name in names]
post_data = {'networks': network_list}
body = self.serialize_list(post_data, "networks", "network")
uri = self.get_uri("networks")
resp, body = self.post(uri, body)
body = {'networks': self.deserialize_list(body)}
+ self.rest_client.expected_success(201, resp.status)
return resp, body
def create_bulk_subnet(self, subnet_list):
@@ -191,6 +196,7 @@
uri = self.get_uri('subnets')
resp, body = self.post(uri, body)
body = {'subnets': self.deserialize_list(body)}
+ self.rest_client.expected_success(201, resp.status)
return resp, body
def create_bulk_port(self, port_list):
@@ -199,6 +205,7 @@
uri = self.get_uri('ports')
resp, body = self.post(uri, body)
body = {'ports': self.deserialize_list(body)}
+ self.rest_client.expected_success(201, resp.status)
return resp, body
def wait_for_resource_deletion(self, resource_type, id):
diff --git a/tempest/services/network/xml/network_client.py b/tempest/services/network/xml/network_client.py
index ea9dc77..17b1f8e 100644
--- a/tempest/services/network/xml/network_client.py
+++ b/tempest/services/network/xml/network_client.py
@@ -103,17 +103,21 @@
post_body.append(p1)
resp, body = self.post(uri, str(common.Document(post_body)))
body = _root_tag_fetcher_and_xml_to_json_parse(body)
+ self.rest_client.expected_success(201, resp.status)
return resp, body
def disassociate_health_monitor_with_pool(self, health_monitor_id,
pool_id):
uri = '%s/lb/pools/%s/health_monitors/%s' % (self.uri_prefix, pool_id,
health_monitor_id)
- return self.delete(uri)
+ resp, body = self.delete(uri)
+ self.rest_client.expected_success(204, resp.status)
+ return resp, body
def show_extension_details(self, ext_alias):
uri = '%s/extensions/%s' % (self.uri_prefix, str(ext_alias))
resp, body = self.get(uri)
+ self.rest_client.expected_success(200, resp.status)
body = _root_tag_fetcher_and_xml_to_json_parse(body)
return resp, body
@@ -123,6 +127,7 @@
router.append(common.Element("name", name))
common.deep_dict_to_xml(router, kwargs)
resp, body = self.post(uri, str(common.Document(router)))
+ self.rest_client.expected_success(201, resp.status)
body = _root_tag_fetcher_and_xml_to_json_parse(body)
return resp, body
@@ -132,6 +137,7 @@
for element, content in kwargs.iteritems():
router.append(common.Element(element, content))
resp, body = self.put(uri, str(common.Document(router)))
+ self.rest_client.expected_success(200, resp.status)
body = _root_tag_fetcher_and_xml_to_json_parse(body)
return resp, body
@@ -140,6 +146,7 @@
router_id)
subnet = common.Element("subnet_id", subnet_id)
resp, body = self.put(uri, str(common.Document(subnet)))
+ self.rest_client.expected_success(200, resp.status)
body = _root_tag_fetcher_and_xml_to_json_parse(body)
return resp, body
@@ -148,6 +155,7 @@
router_id)
port = common.Element("port_id", port_id)
resp, body = self.put(uri, str(common.Document(port)))
+ self.rest_client.expected_success(200, resp.status)
body = _root_tag_fetcher_and_xml_to_json_parse(body)
return resp, body
@@ -156,6 +164,7 @@
router_id)
subnet = common.Element("subnet_id", subnet_id)
resp, body = self.put(uri, str(common.Document(subnet)))
+ self.rest_client.expected_success(200, resp.status)
body = _root_tag_fetcher_and_xml_to_json_parse(body)
return resp, body
@@ -164,12 +173,14 @@
router_id)
port = common.Element("port_id", port_id)
resp, body = self.put(uri, str(common.Document(port)))
+ self.rest_client.expected_success(200, resp.status)
body = _root_tag_fetcher_and_xml_to_json_parse(body)
return resp, body
def list_router_interfaces(self, uuid):
uri = '%s/ports?device_id=%s' % (self.uri_prefix, uuid)
resp, body = self.get(uri)
+ self.rest_client.expected_success(200, resp.status)
ports = common.parse_array(etree.fromstring(body), self.PLURALS)
ports = {"ports": ports}
return resp, ports
@@ -181,12 +192,14 @@
p = common.Element(key, value)
agent.append(p)
resp, body = self.put(uri, str(common.Document(agent)))
+ self.rest_client.expected_success(200, resp.status)
body = _root_tag_fetcher_and_xml_to_json_parse(body)
return resp, body
def list_pools_hosted_by_one_lbaas_agent(self, agent_id):
uri = '%s/agents/%s/loadbalancer-pools' % (self.uri_prefix, agent_id)
resp, body = self.get(uri)
+ self.rest_client.expected_success(200, resp.status)
pools = common.parse_array(etree.fromstring(body))
body = {'pools': pools}
return resp, body
@@ -195,12 +208,14 @@
uri = ('%s/lb/pools/%s/loadbalancer-agent' %
(self.uri_prefix, pool_id))
resp, body = self.get(uri)
+ self.rest_client.expected_success(200, resp.status)
body = _root_tag_fetcher_and_xml_to_json_parse(body)
return resp, body
def list_routers_on_l3_agent(self, agent_id):
uri = '%s/agents/%s/l3-routers' % (self.uri_prefix, agent_id)
resp, body = self.get(uri)
+ self.rest_client.expected_success(200, resp.status)
routers = common.parse_array(etree.fromstring(body))
body = {'routers': routers}
return resp, body
@@ -208,6 +223,7 @@
def list_l3_agents_hosting_router(self, router_id):
uri = '%s/routers/%s/l3-agents' % (self.uri_prefix, router_id)
resp, body = self.get(uri)
+ self.rest_client.expected_success(200, resp.status)
agents = common.parse_array(etree.fromstring(body))
body = {'agents': agents}
return resp, body
@@ -216,6 +232,7 @@
uri = '%s/agents/%s/l3-routers' % (self.uri_prefix, agent_id)
router = (common.Element("router_id", router_id))
resp, body = self.post(uri, str(common.Document(router)))
+ self.rest_client.expected_success(201, resp.status)
body = _root_tag_fetcher_and_xml_to_json_parse(body)
return resp, body
@@ -223,11 +240,13 @@
uri = '%s/agents/%s/l3-routers/%s' % (
self.uri_prefix, agent_id, router_id)
resp, body = self.delete(uri)
+ self.rest_client.expected_success(204, resp.status)
return resp, body
def list_dhcp_agent_hosting_network(self, network_id):
uri = '%s/networks/%s/dhcp-agents' % (self.uri_prefix, network_id)
resp, body = self.get(uri)
+ self.rest_client.expected_success(200, resp.status)
agents = common.parse_array(etree.fromstring(body))
body = {'agents': agents}
return resp, body
@@ -235,6 +254,7 @@
def list_networks_hosted_by_one_dhcp_agent(self, agent_id):
uri = '%s/agents/%s/dhcp-networks' % (self.uri_prefix, agent_id)
resp, body = self.get(uri)
+ self.rest_client.expected_success(200, resp.status)
networks = common.parse_array(etree.fromstring(body))
body = {'networks': networks}
return resp, body
@@ -243,11 +263,13 @@
uri = '%s/agents/%s/dhcp-networks/%s' % (self.uri_prefix, agent_id,
network_id)
resp, body = self.delete(uri)
+ self.rest_client.expected_success(204, resp.status)
return resp, body
def list_lb_pool_stats(self, pool_id):
uri = '%s/lb/pools/%s/stats' % (self.uri_prefix, pool_id)
resp, body = self.get(uri)
+ self.rest_client.expected_success(200, resp.status)
body = _root_tag_fetcher_and_xml_to_json_parse(body)
return resp, body
@@ -255,6 +277,7 @@
uri = '%s/agents/%s/dhcp-networks' % (self.uri_prefix, agent_id)
network = common.Element("network_id", network_id)
resp, body = self.post(uri, str(common.Document(network)))
+ self.rest_client.expected_success(201, resp.status)
body = _root_tag_fetcher_and_xml_to_json_parse(body)
return resp, body
diff --git a/tempest/services/orchestration/json/orchestration_client.py b/tempest/services/orchestration/json/orchestration_client.py
index 46b0ec4..dd166dd 100644
--- a/tempest/services/orchestration/json/orchestration_client.py
+++ b/tempest/services/orchestration/json/orchestration_client.py
@@ -41,6 +41,7 @@
uri += '?%s' % urllib.urlencode(params)
resp, body = self.get(uri)
+ self.expected_success(200, resp.status)
body = json.loads(body)
return resp, body['stacks']
@@ -58,6 +59,7 @@
files)
uri = 'stacks'
resp, body = self.post(uri, headers=headers, body=body)
+ self.expected_success(201, resp.status)
return resp, body
def update_stack(self, stack_identifier, name, disable_rollback=True,
@@ -74,6 +76,7 @@
uri = "stacks/%s" % stack_identifier
resp, body = self.put(uri, headers=headers, body=body)
+ self.expected_success(202, resp.status)
return resp, body
def _prepare_update_create(self, name, disable_rollback=True,
@@ -106,6 +109,7 @@
"""Returns the details of a single stack."""
url = "stacks/%s" % stack_identifier
resp, body = self.get(url)
+ self.expected_success(200, resp.status)
body = json.loads(body)
return resp, body['stack']
@@ -114,6 +118,7 @@
url = 'stacks/%s/actions' % stack_identifier
body = {'suspend': None}
resp, body = self.post(url, json.dumps(body))
+ self.expected_success(200, resp.status)
return resp, body
def resume_stack(self, stack_identifier):
@@ -121,12 +126,14 @@
url = 'stacks/%s/actions' % stack_identifier
body = {'resume': None}
resp, body = self.post(url, json.dumps(body))
+ self.expected_success(200, resp.status)
return resp, body
def list_resources(self, stack_identifier):
"""Returns the details of a single resource."""
url = "stacks/%s/resources" % stack_identifier
resp, body = self.get(url)
+ self.expected_success(200, resp.status)
body = json.loads(body)
return resp, body['resources']
@@ -134,12 +141,15 @@
"""Returns the details of a single resource."""
url = "stacks/%s/resources/%s" % (stack_identifier, resource_name)
resp, body = self.get(url)
+ self.expected_success(200, resp.status)
body = json.loads(body)
return resp, body['resource']
def delete_stack(self, stack_identifier):
"""Deletes the specified Stack."""
- return self.delete("stacks/%s" % str(stack_identifier))
+ resp, _ = self.delete("stacks/%s" % str(stack_identifier))
+ self.expected_success(204, resp.status)
+ return resp
def wait_for_resource_status(self, stack_identifier, resource_name,
status, failure_pattern='^.*_FAILED$'):
@@ -208,6 +218,7 @@
url = ('stacks/{stack_identifier}/resources/{resource_name}'
'/metadata'.format(**locals()))
resp, body = self.get(url)
+ self.expected_success(200, resp.status)
body = json.loads(body)
return resp, body['metadata']
@@ -215,6 +226,7 @@
"""Returns list of all events for a stack."""
url = 'stacks/{stack_identifier}/events'.format(**locals())
resp, body = self.get(url)
+ self.expected_success(200, resp.status)
body = json.loads(body)
return resp, body['events']
@@ -223,6 +235,7 @@
url = ('stacks/{stack_identifier}/resources/{resource_name}'
'/events'.format(**locals()))
resp, body = self.get(url)
+ self.expected_success(200, resp.status)
body = json.loads(body)
return resp, body['events']
@@ -231,6 +244,7 @@
url = ('stacks/{stack_identifier}/resources/{resource_name}/events'
'/{event_id}'.format(**locals()))
resp, body = self.get(url)
+ self.expected_success(200, resp.status)
body = json.loads(body)
return resp, body['event']
@@ -238,6 +252,7 @@
"""Returns the template for the stack."""
url = ('stacks/{stack_identifier}/template'.format(**locals()))
resp, body = self.get(url)
+ self.expected_success(200, resp.status)
body = json.loads(body)
return resp, body
@@ -245,6 +260,7 @@
"""Returns the validation request result."""
post_body = json.dumps(post_body)
resp, body = self.post('validate', post_body)
+ self.expected_success(200, resp.status)
body = json.loads(body)
return resp, body
@@ -271,7 +287,7 @@
url = 'software_configs'
resp, body = self.post(url, headers=headers, body=body)
- self.expected_success(200, resp)
+ self.expected_success(200, resp.status)
body = json.loads(body)
return body
@@ -279,7 +295,7 @@
"""Returns a software configuration resource."""
url = 'software_configs/%s' % str(conf_id)
resp, body = self.get(url)
- self.expected_success(200, resp)
+ self.expected_success(200, resp.status)
body = json.loads(body)
return body
@@ -287,7 +303,7 @@
"""Deletes a specific software configuration."""
url = 'software_configs/%s' % str(conf_id)
resp, _ = self.delete(url)
- self.expected_success(204, resp)
+ self.expected_success(204, resp.status)
def create_software_deploy(self, server_id=None, config_id=None,
action=None, status=None,
@@ -300,7 +316,7 @@
url = 'software_deployments'
resp, body = self.post(url, headers=headers, body=body)
- self.expected_success(200, resp)
+ self.expected_success(200, resp.status)
body = json.loads(body)
return body
@@ -315,7 +331,7 @@
url = 'software_deployments/%s' % str(deploy_id)
resp, body = self.put(url, headers=headers, body=body)
- self.expected_success(200, resp)
+ self.expected_success(200, resp.status)
body = json.loads(body)
return body
@@ -323,7 +339,7 @@
"""Returns a list of all deployments."""
url = 'software_deployments'
resp, body = self.get(url)
- self.expected_success(200, resp)
+ self.expected_success(200, resp.status)
body = json.loads(body)
return body
@@ -331,7 +347,7 @@
"""Returns a specific software deployment."""
url = 'software_deployments/%s' % str(deploy_id)
resp, body = self.get(url)
- self.expected_success(200, resp)
+ self.expected_success(200, resp.status)
body = json.loads(body)
return body
@@ -339,7 +355,7 @@
"""Return a config metadata for a specific server."""
url = 'software_deployments/metadata/%s' % server_id
resp, body = self.get(url)
- self.expected_success(200, resp)
+ self.expected_success(200, resp.status)
body = json.loads(body)
return body
@@ -347,7 +363,7 @@
"""Deletes a specific software deployment."""
url = 'software_deployments/%s' % str(deploy_id)
resp, _ = self.delete(url)
- self.expected_success(204, resp)
+ self.expected_success(204, resp.status)
def _prep_software_config_create(self, name=None, conf=None, group=None,
inputs=None, outputs=None, options=None):
diff --git a/tempest/tests/test_xml_utils.py b/tempest/tests/test_xml_utils.py
new file mode 100644
index 0000000..53e31c4
--- /dev/null
+++ b/tempest/tests/test_xml_utils.py
@@ -0,0 +1,35 @@
+#
+# Copyright 2014 Hewlett-Packard Development Company, L.P.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+from tempest.common import xml_utils
+from tempest.tests import base
+
+
+class TestDocumentXML(base.TestCase):
+ def test_xml_document_ordering_version_encoding(self):
+ expected = '<?xml version="1.0" encoding="UTF-8"?>'
+ xml_out = str(xml_utils.Document())
+ self.assertEqual(expected, xml_out.strip())
+
+ xml_out = str(xml_utils.Document(encoding='UTF-8', version='1.0'))
+ self.assertEqual(expected, xml_out.strip())
+
+ xml_out = str(xml_utils.Document(version='1.0', encoding='UTF-8'))
+ self.assertEqual(expected, xml_out.strip())
+
+ def test_xml_document_additonal_attrs(self):
+ expected = '<?xml version="1.0" encoding="UTF-8" foo="bar"?>'
+ xml_out = str(xml_utils.Document(foo='bar'))
+ self.assertEqual(expected, xml_out.strip())