def test_command_is_executed(self, stack_map, sceptre_context, provider, create_stack_command): pattern = "/var/data/config/stack_b.yaml" core = SceptreCore(stack_map, pattern, sceptre_context) result = core.execute("create_stack") for k, v in result.items(): assert v == "create_command executed"
def test_execute_order_with_ignore_dependencies_returns_single_stack( self, stack_map, sceptre_context, provider): pattern = "/var/data/config/stack.yaml" sceptre_context.ignore_dependencies = True core = SceptreCore(stack_map, pattern, sceptre_context) stack = core.execute_order[0].pop() assert stack.id == "/var/data/config/stack.yaml"
def test_provider_not_found_error_raised_with_missing_provider( self, sceptre_context): pattern = "/var/data/config/stack.yaml" stack_config = { "/var/data/config/stack.yaml": { "provider": "Hello", "name": "Stack1", "region": "eu-west-1", 'template_path': 'templates/vpc.json', } } with pytest.raises(ProviderNotFoundError): SceptreCore(stack_config, pattern, sceptre_context)
def test_execute_order_with_all_stacks_returns_two_batches( self, stack_map, sceptre_context, provider): pattern = "/var/data/config" core = SceptreCore(stack_map, pattern, sceptre_context) assert len(core.execute_order[0]) == 2 and len( core.execute_order[1]) == 1
def test_execute_stacks_filter_correctly_on_pattern( self, stack_map, pattern, sceptre_context, provider): core = SceptreCore(stack_map, pattern, sceptre_context) assert len(core.execute_stacks) == 2
def test_stack_dependencies_are_correct(self, stack_map, pattern, sceptre_context, provider): core = SceptreCore(stack_map, pattern, sceptre_context) for a, b in core.graph.graph.edges: assert a.id == '/var/data/config/stack_b.yaml' \ and b.id == '/var/data/config/stack.yaml'
def test_stacks_are_added_to_graph(self, stack_map, pattern, sceptre_context, provider): core = SceptreCore(stack_map, pattern, sceptre_context) assert len(core.graph) == len(stack_map)
def test_core_stack_list_contains_stacks(self, stack_map, pattern, sceptre_context, provider): core = SceptreCore(stack_map, pattern, sceptre_context) assert isinstance(core.stacks.pop(), Stack)
def test_core_instantiation_generates_stacks(self, stack_map, pattern, sceptre_context, provider): core = SceptreCore(stack_map, pattern, sceptre_context) assert len(core.stacks) == len(stack_map)
def test_incorrect_pattern_name_raises_exception(self, stack_map, sceptre_context, provider): pattern = "non-existant-pattern.yaml" with pytest.raises(ConfigFileNotFoundError): SceptreCore(stack_map, pattern, sceptre_context)