Merge "Consider state in firewall create/delete test"

This commit is contained in:
Jenkins 2014-04-25 09:06:52 +00:00 committed by Gerrit Code Review
commit ffc94251cb

@ -14,9 +14,12 @@
from tempest.api.network import base
from tempest.common.utils import data_utils
from tempest import config
from tempest import exceptions
from tempest import test
CONF = config.CONF
class FWaaSExtensionTestJSON(base.BaseNetworkTest):
_interface = 'json'
@ -67,6 +70,20 @@ class FWaaSExtensionTestJSON(base.BaseNetworkTest):
except exceptions.NotFound:
pass
self.client.wait_for_resource_deletion('firewall', fw_id)
def _wait_for_active(self, fw_id):
def _wait():
resp, firewall = self.client.show_firewall(fw_id)
self.assertEqual('200', resp['status'])
firewall = firewall['firewall']
return firewall['status'] == 'ACTIVE'
if not test.call_until_true(_wait, CONF.network.build_timeout,
CONF.network.build_interval):
m = 'Timed out waiting for firewall %s to become ACTIVE.' % fw_id
raise exceptions.TimeoutException(m)
@test.attr(type='smoke')
def test_list_firewall_rules(self):
# List firewall rules
@ -168,6 +185,15 @@ class FWaaSExtensionTestJSON(base.BaseNetworkTest):
@test.attr(type='smoke')
def test_create_show_delete_firewall(self):
# Create tenant network resources required for an ACTIVE firewall
network = self.create_network()
subnet = self.create_subnet(network)
router = self.create_router(
data_utils.rand_name('router-'),
admin_state_up=True)
self.client.add_router_interface_with_subnet_id(
router['id'], subnet['id'])
# Create firewall
resp, body = self.client.create_firewall(
name=data_utils.rand_name("firewall"),
@ -177,11 +203,16 @@ class FWaaSExtensionTestJSON(base.BaseNetworkTest):
firewall_id = created_firewall['id']
self.addCleanup(self._try_delete_firewall, firewall_id)
self._wait_for_active(firewall_id)
# show a created firewall
resp, firewall = self.client.show_firewall(firewall_id)
self.assertEqual('200', resp['status'])
firewall = firewall['firewall']
for key, value in firewall.iteritems():
if key == 'status':
continue
self.assertEqual(created_firewall[key], value)
# list firewall
@ -198,9 +229,6 @@ class FWaaSExtensionTestJSON(base.BaseNetworkTest):
# Delete firewall
resp, _ = self.client.delete_firewall(firewall_id)
self.assertEqual('204', resp['status'])
# Confirm deletion
# TODO(raies): Confirm deletion can be done only when,
# deleted firewall status is not "PENDING_DELETE".
class FWaaSExtensionTestXML(FWaaSExtensionTestJSON):