Beispiel #1
0
    def test_verify_called_once_with__called_wrong_arguments(self):
        x = MockExecutor.lax()
        r = x.execute(self.called_once_orchestrator)

        with pytest.raises(AssertionError):
            x.assert_called_once_with(
                dfactions.CallActivityAction("Hello", input_="wrong_args"))
Beispiel #2
0
    def test_verify_called_once_with__called_more_than_once(self):
        x = MockExecutor.lax()
        r = x.execute(orchestrator_function)

        with pytest.raises(AssertionError):
            x.assert_called_once_with(
                dfactions.CallActivityAction("Hello", input_="called_once"))
Beispiel #3
0
    def test_verify_called__not_called(self):
        x = MockExecutor.lax()
        r = x.execute(orchestrator_function)

        with pytest.raises(AssertionError):
            x.assert_called(dfactions.ActionType.CALL_ACTIVITY,
                            "NotARealFunction")
Beispiel #4
0
    def test_verify_called_with__not_last(self):
        x = MockExecutor.lax()
        r = x.execute(orchestrator_function)

        with pytest.raises(AssertionError):
            x.assert_called_once_with(
                dfactions.CallActivityAction("NotLast", input_="called_once"))
Beispiel #5
0
    def test_verify_any_call__not_called(self):
        x = MockExecutor.lax()
        r = x.execute(orchestrator_function)

        with pytest.raises(AssertionError):
            x.assert_any_call(
                dfactions.CallActivityAction("Hello", input_="bad args"))
Beispiel #6
0
 def test_mocking__fluent_builder__handlers(self):
     x = MockExecutor.lax().with_handlers({
         dfactions.ActionType.CALL_ACTIVITY: {
             "Hello": lambda name: f"Hello {name}!"
         }
     })
     r = x.execute(orchestrator_function)
     assert r["atomic0"] == "Hello atomic0!"
Beispiel #7
0
    def test_verify_has_calls__ordered_has(self):
        x = MockExecutor.lax()
        r = x.execute(orchestrator_function)

        x.assert_has_calls([
            dfactions.CallActivityAction("Hello", input_="atomic0"),
            dfactions.CallActivityAction("Hello", input_="atomic1"),
        ])
Beispiel #8
0
    def test_invocations_is_submitted_RMIs(self):
        x = MockExecutor.lax()
        r = x.execute(orchestrator_function)

        i = x.invocations()
        assert len(i) == 4
        assert isinstance(i[0], dftask.AtomicTask)
        assert isinstance(i[1], dftask.AtomicTask)
        assert isinstance(i[2], dftask.WhenAllTask)
        assert isinstance(i[3], dftask.WhenAnyTask)
Beispiel #9
0
    def test_verify_has_calls__unordered_out_of_order(self):
        x = MockExecutor.lax()
        r = x.execute(orchestrator_function)

        calls = [
            dfactions.CallActivityAction("Hello", input_="atomic1"),
            dfactions.CallActivityAction("Hello", input_="atomic0"),
        ]

        x.assert_has_calls(calls, any_order=True)
Beispiel #10
0
    def test_verify_has_calls__unordered_not_matched(self):
        x = MockExecutor.lax()
        r = x.execute(orchestrator_function)

        calls = [
            dfactions.CallActivityAction("Hello", input_="notfound"),
            dfactions.CallActivityAction("Hello", input_="atomic1"),
        ]

        with pytest.raises(AssertionError) as e:
            x.assert_has_calls(calls)
Beispiel #11
0
    def test_verify_has_calls__ordered_out_of_order(self):
        x = MockExecutor.lax()
        r = x.execute(orchestrator_function)

        calls = [
            dfactions.CallActivityAction("Hello", input_="atomic1"),
            dfactions.CallActivityAction("Hello", input_="atomic0"),
        ]

        with pytest.raises(AssertionError) as e:
            x.assert_has_calls(calls)

        # assert returns unmatched calls
        assert e.value.args[1] == [calls[1]]
Beispiel #12
0
    def test_calls_is_executed_RMIs(self):
        x = MockExecutor.lax()
        r = x.execute(orchestrator_function)

        assert len(x.calls()) == 6
        assert all(map(lambda x: isinstance(x, dftask.AtomicTask), x.calls()))
Beispiel #13
0
 def test_tasks_are_pushed(self):
     x = MockExecutor.lax()
     r = x.execute(orchestrator_function)
     assert len(x.invocations()) > 0
     assert len(x.calls()) > 0
Beispiel #14
0
    def test_verify_called_once(self):
        x = MockExecutor.lax()
        r = x.execute(self.called_once_orchestrator)

        x.assert_called_once(dfactions.ActionType.CALL_ACTIVITY, "Hello")
Beispiel #15
0
 def test_mocking__fluent_builder__mock(self):
     x = MockExecutor.lax().with_mock(
         AZDFMock(dfactions.ActionType.CALL_ACTIVITY, "Hello",
                  lambda name: f"Hello {name}!"))
     r = x.execute(orchestrator_function)
     assert r["atomic0"] == "Hello atomic0!"
Beispiel #16
0
 def test_mocking__lax_with_fallback(self):
     x = MockExecutor.lax(lambda x: f"default {x}")
     r = x.execute(orchestrator_function)
     assert r["atomic0"] == "default atomic0"
Beispiel #17
0
 def test_mocking__lax(self):
     x = MockExecutor.lax()
     r = x.execute(orchestrator_function)
     assert r["atomic0"] == "atomic0"
Beispiel #18
0
    def test_verify_not_called__not_called(self):
        x = MockExecutor.lax()
        r = x.execute(orchestrator_function)

        x.assert_not_called(dfactions.ActionType.CALL_ACTIVITY,
                            "NotARealFunction")
Beispiel #19
0
    def test_verify_called_once_with__called(self):
        x = MockExecutor.lax()
        r = x.execute(self.called_once_orchestrator)

        x.assert_called_once_with(
            dfactions.CallActivityAction("Hello", input_="called_once"))
Beispiel #20
0
    def test_verify_any_call__nested(self):
        """Test for when the call is nested inside of a WhenAnyTask or a WhenAllTask"""
        x = MockExecutor.lax()
        r = x.execute(orchestrator_function)

        x.assert_any_call(dfactions.CallActivityAction("Hello", input_="all0"))
Beispiel #21
0
    def test_verify_any_call__called(self):
        x = MockExecutor.lax()
        r = x.execute(orchestrator_function)

        x.assert_any_call(
            dfactions.CallActivityAction("Hello", input_="atomic0"))