Пример #1
0
    def test_interactive_component_not_executed_in_non_interactive_mode(self):
        ctx = test_context(mode=Mode.BACKGROUND)

        executor = Executor()
        collector = InteractiveMockCollector()

        ctx.registry.register_collector("id", collector)

        executor.execute(ctx)

        self.assertFalse(collector.called)
Пример #2
0
    def test_platform_incompatible_component_not_executed(self):
        ctx = test_context()

        executor = Executor()
        collector = PlatformInCompatible()

        ctx.registry.register_collector("id", collector)

        executor.execute(ctx)

        self.assertFalse(collector.called)
Пример #3
0
    def test_experimental_component_not_executed(self):
        ctx = test_context()
        ctx.flags.experimental = False

        executor = Executor()
        collector = ExperimentalMockCollector()

        ctx.registry.register_collector("id", collector)

        executor.execute(ctx)

        self.assertFalse(collector.called)
Пример #4
0
    def test_experimental_component_executed_when_experimental_flag_is_on(
            self):
        ctx = test_context()
        ctx.flags.experimental = True

        executor = Executor()
        collector = ExperimentalMockCollector()

        ctx.registry.register_collector("id", collector)

        executor.execute(ctx)

        self.assertTrue(collector.called)
Пример #5
0
    def test_filtered_component_list(self):
        ctx = test_context(mode=Mode.BACKGROUND)
        ctx.components = ["id1", "id3"]

        executor = Executor()
        collector1 = MockCollector("data")
        collector2 = MockCollector("data")
        collector3 = MockCollector("data")

        ctx.registry.register_collector("id1", collector1)
        ctx.registry.register_collector("id2", collector2)
        ctx.registry.register_collector("id3", collector3)

        executor.execute(ctx)

        self.assertTrue(collector1.called)
        self.assertFalse(collector2.called)
        self.assertTrue(collector3.called)
Пример #6
0
    def test_execute_collection_only(self):
        ctx = test_context()

        executor = Executor()
        collector = MockCollector("data")

        ctx.registry.register_collector("id", collector)

        self.assertEqual(ExecutionSummary(total_count=1, problem_count=0),
                         executor.execute(ctx))

        self.assertTrue(collector.called)
Пример #7
0
    def test_execute_validation_only(self):
        ctx = test_context()

        executor = Executor()
        collector = MockCollector("data")
        validator = MockValidator(result=validation_result_with("data"))

        ctx.registry.register_collector("id", collector)
        ctx.registry.register_validator("id", validator)

        self.assertEqual(ExecutionSummary(total_count=1, problem_count=1),
                         executor.execute(ctx))

        self.assertTrue(collector.called)
        self.assertTrue(validator.called)
Пример #8
0
    def test_execute_flow_with_multiple_components(self):
        ctx = test_context()
        handler = RecordingHandler(fail=True)

        executor = Executor()
        collector1 = MockCollector("comp1_data")
        collector2 = MockCollector("comp2_data")

        ctx.registry.register_collector("comp_1", collector1)
        ctx.registry.register_collector("comp_2", collector2)

        self.assertEqual(ExecutionSummary(total_count=2, problem_count=0),
                         executor.execute(ctx, get_handler=handler.get))

        self.assertTrue(collector1.called)
        self.assertTrue(collector2.called)
Пример #9
0
    def test_execute_flow_with_empty_reactor(self):
        ctx = test_context()
        handler = RecordingHandler()

        executor = Executor()
        reactor = MockReactor()

        ctx.registry.register_collector("id", MockCollector("data"))
        ctx.registry.register_validator(
            "id", MockValidator(result=validation_result_with("data")))
        ctx.registry.register_reactor("id", reactor)

        self.assertEqual(ExecutionSummary(total_count=1, problem_count=1),
                         executor.execute(ctx, get_handler=handler.get))

        self.assertTrue(reactor.called)
        self.assertEqual(0, len(handler.recorded))
Пример #10
0
    def test_basic_execute(self):
        ctx = test_context()
        handler = RecordingHandler()

        executor = Executor()
        collector = MockCollector("data")
        validator = MockValidator(result=validation_result_with("data"))
        reactor_command = ReactorCommand(cmd=["do", "nothing"])
        reactor = MockReactor(reactor_command)

        ctx.registry.register_collector("id", collector)
        ctx.registry.register_validator("id", validator)
        ctx.registry.register_reactor("id", reactor)

        self.assertEqual(ExecutionSummary(total_count=1, problem_count=1),
                         executor.execute(ctx, get_handler=handler.get))

        self.assertTrue(collector.called)
        self.assertTrue(validator.called)
        self.assertTrue(reactor.called)
        self.assertEqual(reactor_command, handler.recorded[0])
Пример #11
0
    def test_empty_execute(self):
        executor = Executor()

        self.assertEqual(ExecutionSummary(0, 0),
                         executor.execute(test_context()))