Merge "Break apart configuration group scenario tests"
This commit is contained in:
commit
2f92b02062
@ -150,6 +150,10 @@ incremental_backup_groups.extend([backup_group.GROUP_INCREMENTAL])
|
||||
configuration_groups = list(instance_create_groups)
|
||||
configuration_groups.extend([configuration_group.GROUP])
|
||||
|
||||
configuration_create_groups = list(base_groups)
|
||||
configuration_create_groups.extend([configuration_group.GROUP_CFGGRP_CREATE,
|
||||
configuration_group.GROUP_CFGGRP_DELETE])
|
||||
|
||||
database_actions_groups = list(instance_create_groups)
|
||||
database_actions_groups.extend([database_actions_group.GROUP])
|
||||
|
||||
@ -184,6 +188,7 @@ register(["backup"], backup_groups)
|
||||
register(["incremental_backup"], incremental_backup_groups)
|
||||
register(["cluster"], cluster_actions_groups)
|
||||
register(["configuration"], configuration_groups)
|
||||
register(["configuration_create"], configuration_create_groups)
|
||||
register(["database"], database_actions_groups)
|
||||
register(["guest_log"], guest_log_groups)
|
||||
register(["instance", "instance_actions"], instance_actions_groups)
|
||||
|
@ -21,6 +21,13 @@ from trove.tests.scenario.runners import test_runners
|
||||
|
||||
|
||||
GROUP = "scenario.configuration_group"
|
||||
GROUP_CFGGRP_CREATE = "scenario.cfggrp_create_group"
|
||||
GROUP_CFGGRP_INST = "scenario.cfggrp_inst_group"
|
||||
GROUP_CFGGRP_INST_CREATE = "scenario.cfggrp_inst_create_group"
|
||||
GROUP_CFGGRP_INST_CREATE_WAIT = "scenario.cfggrp_inst_create_wait_group"
|
||||
GROUP_CFGGRP_INST_DELETE = "scenario.cfggrp_inst_delete_group"
|
||||
GROUP_CFGGRP_INST_DELETE_WAIT = "scenario.cfggrp_inst_delete_wait_group"
|
||||
GROUP_CFGGRP_DELETE = "scenario.cfggrp_delete_group"
|
||||
|
||||
|
||||
class ConfigurationRunnerFactory(test_runners.RunnerFactory):
|
||||
@ -29,11 +36,12 @@ class ConfigurationRunnerFactory(test_runners.RunnerFactory):
|
||||
_runner_cls = 'ConfigurationRunner'
|
||||
|
||||
|
||||
@test(depends_on_groups=[instance_create_group.GROUP], groups=[GROUP])
|
||||
class ConfigurationGroup(TestGroup):
|
||||
@test(groups=[GROUP, GROUP_CFGGRP_CREATE])
|
||||
class ConfigurationCreateGroup(TestGroup):
|
||||
"""Test Configuration Group functionality."""
|
||||
|
||||
def __init__(self):
|
||||
super(ConfigurationGroup, self).__init__(
|
||||
super(ConfigurationCreateGroup, self).__init__(
|
||||
ConfigurationRunnerFactory.instance())
|
||||
|
||||
@test
|
||||
@ -56,20 +64,6 @@ class ConfigurationGroup(TestGroup):
|
||||
"""Ensure delete bad group fails."""
|
||||
self.test_runner.run_delete_bad_group_id()
|
||||
|
||||
@test
|
||||
def attach_non_existent_group(self):
|
||||
"""Ensure attach non-existent group fails."""
|
||||
self.test_runner.run_attach_non_existent_group()
|
||||
|
||||
def attach_non_existent_group_to_non_existent_inst(self):
|
||||
"""Ensure attach non-existent group to non-existent inst fails."""
|
||||
self.test_runner.run_attach_non_existent_group_to_non_existent_inst()
|
||||
|
||||
@test
|
||||
def detach_group_with_none_attached(self):
|
||||
"""Test detach with none attached."""
|
||||
self.test_runner.run_detach_group_with_none_attached()
|
||||
|
||||
@test
|
||||
def create_dynamic_group(self):
|
||||
"""Create a group with only dynamic entries."""
|
||||
@ -80,16 +74,6 @@ class ConfigurationGroup(TestGroup):
|
||||
"""Create a group with only non-dynamic entries."""
|
||||
self.test_runner.run_create_non_dynamic_group()
|
||||
|
||||
@test(depends_on=[create_dynamic_group])
|
||||
def attach_dynamic_group_to_non_existent_inst(self):
|
||||
"""Ensure attach dynamic group to non-existent inst fails."""
|
||||
self.test_runner.run_attach_dynamic_group_to_non_existent_inst()
|
||||
|
||||
@test(depends_on=[create_non_dynamic_group])
|
||||
def attach_non_dynamic_group_to_non_existent_inst(self):
|
||||
"""Ensure attach non-dynamic group to non-existent inst fails."""
|
||||
self.test_runner.run_attach_non_dynamic_group_to_non_existent_inst()
|
||||
|
||||
@test(depends_on=[create_dynamic_group, create_non_dynamic_group])
|
||||
def list_configuration_groups(self):
|
||||
"""Test list configuration groups."""
|
||||
@ -115,15 +99,49 @@ class ConfigurationGroup(TestGroup):
|
||||
"""Ensure show non-dynamic fails with unauthorized user."""
|
||||
self.test_runner.run_non_dynamic_conf_get_unauthorized_user()
|
||||
|
||||
@test(depends_on=[create_dynamic_group],
|
||||
runs_after=[list_configuration_groups])
|
||||
|
||||
@test(depends_on_groups=[instance_create_group.GROUP,
|
||||
GROUP_CFGGRP_CREATE],
|
||||
groups=[GROUP, GROUP_CFGGRP_INST, GROUP_CFGGRP_INST_CREATE])
|
||||
class ConfigurationInstCreateGroup(TestGroup):
|
||||
"""Test Instance Configuration Group Create functionality."""
|
||||
|
||||
def __init__(self):
|
||||
super(ConfigurationInstCreateGroup, self).__init__(
|
||||
ConfigurationRunnerFactory.instance())
|
||||
|
||||
@test
|
||||
def attach_non_existent_group(self):
|
||||
"""Ensure attach non-existent group fails."""
|
||||
self.test_runner.run_attach_non_existent_group()
|
||||
|
||||
@test
|
||||
def attach_non_existent_group_to_non_existent_inst(self):
|
||||
"""Ensure attach non-existent group to non-existent inst fails."""
|
||||
self.test_runner.run_attach_non_existent_group_to_non_existent_inst()
|
||||
|
||||
@test
|
||||
def detach_group_with_none_attached(self):
|
||||
"""Test detach with none attached."""
|
||||
self.test_runner.run_detach_group_with_none_attached()
|
||||
|
||||
@test
|
||||
def attach_dynamic_group_to_non_existent_inst(self):
|
||||
"""Ensure attach dynamic group to non-existent inst fails."""
|
||||
self.test_runner.run_attach_dynamic_group_to_non_existent_inst()
|
||||
|
||||
@test
|
||||
def attach_non_dynamic_group_to_non_existent_inst(self):
|
||||
"""Ensure attach non-dynamic group to non-existent inst fails."""
|
||||
self.test_runner.run_attach_non_dynamic_group_to_non_existent_inst()
|
||||
|
||||
@test
|
||||
def list_dynamic_inst_conf_groups_before(self):
|
||||
"""Count list instances for dynamic group before attach."""
|
||||
self.test_runner.run_list_dynamic_inst_conf_groups_before()
|
||||
|
||||
@test(depends_on=[create_dynamic_group],
|
||||
runs_after=[list_dynamic_inst_conf_groups_before,
|
||||
attach_non_existent_group,
|
||||
@test(depends_on=[list_dynamic_inst_conf_groups_before],
|
||||
runs_after=[attach_non_existent_group,
|
||||
detach_group_with_none_attached])
|
||||
def attach_dynamic_group(self):
|
||||
"""Test attach dynamic group."""
|
||||
@ -158,20 +176,18 @@ class ConfigurationGroup(TestGroup):
|
||||
"""Test update dynamic group."""
|
||||
self.test_runner.run_update_dynamic_group()
|
||||
|
||||
@test(depends_on=[create_dynamic_group],
|
||||
@test(depends_on=[attach_dynamic_group],
|
||||
runs_after=[update_dynamic_group])
|
||||
def detach_dynamic_group(self):
|
||||
"""Test detach dynamic group."""
|
||||
self.test_runner.run_detach_dynamic_group()
|
||||
|
||||
@test(depends_on=[create_non_dynamic_group],
|
||||
runs_after=[detach_dynamic_group])
|
||||
@test(runs_after=[detach_dynamic_group])
|
||||
def list_non_dynamic_inst_conf_groups_before(self):
|
||||
"""Count list instances for non-dynamic group before attach."""
|
||||
self.test_runner.run_list_non_dynamic_inst_conf_groups_before()
|
||||
|
||||
@test(depends_on=[create_non_dynamic_group],
|
||||
runs_after=[list_non_dynamic_inst_conf_groups_before,
|
||||
@test(runs_after=[list_non_dynamic_inst_conf_groups_before,
|
||||
attach_non_existent_group])
|
||||
def attach_non_dynamic_group(self):
|
||||
"""Test attach non-dynamic group."""
|
||||
@ -200,8 +216,14 @@ class ConfigurationGroup(TestGroup):
|
||||
"""Ensure deleting attached non-dynamic group fails."""
|
||||
self.test_runner.run_delete_attached_non_dynamic_group()
|
||||
|
||||
@test(runs_after=[list_dynamic_inst_conf_groups_after,
|
||||
list_non_dynamic_inst_conf_groups_after])
|
||||
def create_instance_with_conf(self):
|
||||
"""Test create instance with conf group."""
|
||||
self.test_runner.run_create_instance_with_conf()
|
||||
|
||||
@test(depends_on=[attach_non_dynamic_group],
|
||||
runs_after=[delete_attached_non_dynamic_group])
|
||||
runs_after=[create_instance_with_conf])
|
||||
def update_non_dynamic_group(self):
|
||||
"""Test update non-dynamic group."""
|
||||
self.test_runner.run_update_non_dynamic_group()
|
||||
@ -212,15 +234,16 @@ class ConfigurationGroup(TestGroup):
|
||||
"""Test detach non-dynamic group."""
|
||||
self.test_runner.run_detach_non_dynamic_group()
|
||||
|
||||
@test(runs_after=[create_dynamic_group, create_non_dynamic_group,
|
||||
update_dynamic_group, update_non_dynamic_group])
|
||||
def create_instance_with_conf(self):
|
||||
"""Test create instance with conf group."""
|
||||
self.test_runner.run_create_instance_with_conf()
|
||||
|
||||
@test(depends_on=[create_instance_with_conf],
|
||||
runs_after=[create_dynamic_group, create_non_dynamic_group,
|
||||
update_dynamic_group, update_non_dynamic_group])
|
||||
@test(depends_on_groups=[GROUP_CFGGRP_INST_CREATE],
|
||||
groups=[GROUP, GROUP_CFGGRP_INST, GROUP_CFGGRP_INST_CREATE_WAIT])
|
||||
class ConfigurationInstCreateWaitGroup(TestGroup):
|
||||
"""Test that Instance Configuration Group Create Completes."""
|
||||
def __init__(self):
|
||||
super(ConfigurationInstCreateWaitGroup, self).__init__(
|
||||
ConfigurationRunnerFactory.instance())
|
||||
|
||||
@test
|
||||
def wait_for_conf_instance(self):
|
||||
"""Test create instance with conf group completes."""
|
||||
self.test_runner.run_wait_for_conf_instance()
|
||||
@ -230,28 +253,53 @@ class ConfigurationGroup(TestGroup):
|
||||
"""Verify configuration values on the instance."""
|
||||
self.test_runner.run_verify_instance_values()
|
||||
|
||||
@test(depends_on=[wait_for_conf_instance],
|
||||
runs_after=[verify_instance_values])
|
||||
|
||||
@test(depends_on_groups=[GROUP_CFGGRP_INST_CREATE_WAIT],
|
||||
groups=[GROUP, GROUP_CFGGRP_INST, GROUP_CFGGRP_INST_DELETE])
|
||||
class ConfigurationInstDeleteGroup(TestGroup):
|
||||
"""Test Instance Configuration Group Delete functionality."""
|
||||
|
||||
def __init__(self):
|
||||
super(ConfigurationInstDeleteGroup, self).__init__(
|
||||
ConfigurationRunnerFactory.instance())
|
||||
|
||||
@test
|
||||
def delete_conf_instance(self):
|
||||
"""Test delete instance with conf group."""
|
||||
self.test_runner.run_delete_conf_instance()
|
||||
|
||||
@test(depends_on=[create_dynamic_group],
|
||||
runs_after=[list_configuration_groups, detach_dynamic_group,
|
||||
dynamic_configuration_show,
|
||||
dynamic_conf_get_unauthorized_user,
|
||||
attach_dynamic_group_to_non_existent_inst,
|
||||
delete_conf_instance])
|
||||
|
||||
@test(depends_on_groups=[GROUP_CFGGRP_INST_DELETE],
|
||||
groups=[GROUP, GROUP_CFGGRP_INST, GROUP_CFGGRP_INST_DELETE_WAIT])
|
||||
class ConfigurationInstDeleteWaitGroup(TestGroup):
|
||||
"""Test that Instance Configuration Group Delete Completes."""
|
||||
|
||||
def __init__(self):
|
||||
super(ConfigurationInstDeleteWaitGroup, self).__init__(
|
||||
ConfigurationRunnerFactory.instance())
|
||||
|
||||
@test
|
||||
def wait_for_delete_conf_instance(self):
|
||||
"""Wait for delete instance with conf group to complete."""
|
||||
self.test_runner.run_wait_for_delete_conf_instance()
|
||||
|
||||
|
||||
@test(depends_on_groups=[GROUP_CFGGRP_CREATE],
|
||||
runs_after_groups=[GROUP_CFGGRP_INST_DELETE_WAIT],
|
||||
groups=[GROUP, GROUP_CFGGRP_DELETE])
|
||||
class ConfigurationDeleteGroup(TestGroup):
|
||||
"""Test Configuration Group Delete functionality."""
|
||||
|
||||
def __init__(self):
|
||||
super(ConfigurationDeleteGroup, self).__init__(
|
||||
ConfigurationRunnerFactory.instance())
|
||||
|
||||
@test
|
||||
def delete_dynamic_group(self):
|
||||
"""Test delete dynamic group."""
|
||||
self.test_runner.run_delete_dynamic_group()
|
||||
|
||||
@test(depends_on=[create_non_dynamic_group],
|
||||
runs_after=[list_configuration_groups, detach_non_dynamic_group,
|
||||
non_dynamic_configuration_show,
|
||||
non_dynamic_conf_get_unauthorized_user,
|
||||
attach_non_dynamic_group_to_non_existent_inst,
|
||||
delete_conf_instance])
|
||||
@test
|
||||
def delete_non_dynamic_group(self):
|
||||
"""Test delete non-dynamic group."""
|
||||
self.test_runner.run_delete_non_dynamic_group()
|
||||
|
@ -537,17 +537,20 @@ class ConfigurationRunner(TestRunner):
|
||||
else:
|
||||
raise SkipTest("No instance created with a configuration group.")
|
||||
|
||||
def run_delete_conf_instance(
|
||||
self, expected_states=['SHUTDOWN'],
|
||||
expected_http_code=202):
|
||||
def run_delete_conf_instance(self, expected_http_code=202):
|
||||
if self.config_inst_id:
|
||||
self.assert_delete_conf_instance(
|
||||
self.config_inst_id, expected_states, expected_http_code)
|
||||
self.config_inst_id, expected_http_code)
|
||||
else:
|
||||
raise SkipTest("No instance created with a configuration group.")
|
||||
|
||||
def assert_delete_conf_instance(
|
||||
self, instance_id, expected_state, expected_http_code):
|
||||
def assert_delete_conf_instance(self, instance_id, expected_http_code):
|
||||
self.auth_client.instances.delete(instance_id)
|
||||
self.assert_client_code(expected_http_code)
|
||||
self.assert_all_gone(instance_id, expected_state)
|
||||
|
||||
def run_wait_for_delete_conf_instance(
|
||||
self, expected_last_state=['SHUTDOWN']):
|
||||
if self.config_inst_id:
|
||||
self.assert_all_gone(self.config_inst_id, expected_last_state)
|
||||
else:
|
||||
raise SkipTest("No instance created with a configuration group.")
|
||||
|
Loading…
x
Reference in New Issue
Block a user