示例#1
0
 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"
示例#2
0
 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"
示例#3
0
    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)
示例#4
0
 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
示例#5
0
 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
示例#6
0
 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'
示例#7
0
 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)
示例#8
0
 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)
示例#9
0
 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)
示例#10
0
 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)