Merge "Refactor AggregateTests"

This commit is contained in:
Zuul 2019-11-06 05:59:24 +00:00 committed by Gerrit Code Review
commit c6a171f010
1 changed files with 22 additions and 44 deletions

View File

@ -11,7 +11,6 @@
# under the License.
import json
import time
import uuid
from openstackclient.tests.functional import base
@ -20,34 +19,14 @@ from openstackclient.tests.functional import base
class AggregateTests(base.TestCase):
"""Functional tests for aggregate"""
def wait_for_status(self, check_type, check_name, desired_status,
wait=120, interval=5, failures=None):
current_status = "notset"
if failures is None:
failures = ['error']
total_sleep = 0
while total_sleep < wait:
output = json.loads(self.openstack(
check_type + ' show -f json ' + check_name))
current_status = output['name']
if (current_status == desired_status):
print('{} {} now has status {}'
.format(check_type, check_name, current_status))
return
print('Checking {} {} Waiting for {} current status: {}'
.format(check_type, check_name,
desired_status, current_status))
if current_status in failures:
raise Exception(
'Current status {} of {} {} is one of failures {}'
.format(current_status, check_type, check_name, failures))
time.sleep(interval)
total_sleep += interval
self.assertOutput(desired_status, current_status)
def test_aggregate_crud(self):
"""Test create, delete multiple"""
name1 = uuid.uuid4().hex
self.addCleanup(
self.openstack,
'aggregate delete ' + name1,
fail_ok=True,
)
cmd_output = json.loads(self.openstack(
'aggregate create -f json ' +
'--zone nova ' +
@ -66,14 +45,16 @@ class AggregateTests(base.TestCase):
'a',
cmd_output['properties']
)
self.wait_for_status('aggregate', name1, name1)
self.addCleanup(
self.openstack,
'aggregate delete ' + name1,
fail_ok=True,
)
cmd_output = json.loads(self.openstack(
'aggregate show -f json ' + name1))
self.assertEqual(name1, cmd_output['name'])
name2 = uuid.uuid4().hex
self.addCleanup(
self.openstack,
'aggregate delete ' + name2,
fail_ok=True,
)
cmd_output = json.loads(self.openstack(
'aggregate create -f json ' +
'--zone external ' +
@ -87,15 +68,17 @@ class AggregateTests(base.TestCase):
'external',
cmd_output['availability_zone']
)
self.wait_for_status('aggregate', name2, name2)
self.addCleanup(
self.openstack,
'aggregate delete ' + name2,
fail_ok=True,
)
cmd_output = json.loads(self.openstack(
'aggregate show -f json ' + name2))
self.assertEqual(name2, cmd_output['name'])
# Test aggregate set
name3 = uuid.uuid4().hex
self.addCleanup(
self.openstack,
'aggregate delete ' + name3,
fail_ok=True,
)
raw_output = self.openstack(
'aggregate set ' +
'--name ' + name3 + ' ' +
@ -105,11 +88,6 @@ class AggregateTests(base.TestCase):
name1
)
self.assertOutput('', raw_output)
self.addCleanup(
self.openstack,
'aggregate delete ' + name3,
fail_ok=True,
)
cmd_output = json.loads(self.openstack(
'aggregate show -f json ' +
@ -196,11 +174,11 @@ class AggregateTests(base.TestCase):
self.skipTest("Skip aggregates in a Nova cells v1 configuration")
name = uuid.uuid4().hex
self.addCleanup(self.openstack, 'aggregate delete ' + name)
self.openstack(
'aggregate create ' +
name
)
self.addCleanup(self.openstack, 'aggregate delete ' + name)
# Test add host
cmd_output = json.loads(self.openstack(