예제 #1
0
def test_query_all_imposters(mock_server):
    imposter1 = Imposter(
        Stub(Predicate(path="/test1"), Response(body="sausages")))
    imposter2 = Imposter(Stub(Predicate(path="/test2"), Response(body="egg")))

    with mock_server([imposter1, imposter2]) as server:
        actual = server.query_all_imposters()
        assert_that(
            actual,
            contains_inanyorder(has_identical_properties_to(imposter1),
                                has_identical_properties_to(imposter2)),
        )
예제 #2
0
def test_add_stubs_without_stub():
    # Given
    add_stub_obj = AddStub()
    structure = add_stub_obj.as_structure()

    # When
    actual = AddStub.from_structure(structure)

    assert_that(actual, instance_of(AddStub))
    assert_that(actual, has_identical_properties_to(add_stub_obj))
예제 #3
0
def test_imposter_structure_without_default_response_roundtrip():
    # Given
    expected = ImposterBuilder().with_default_response(None).build()
    structure = expected.as_structure()

    # When
    actual = Imposter.from_structure(structure)

    # Then
    assert_that(actual, instance_of(Imposter))
    assert_that(
        actual,
        has_identical_properties_to(expected, ignoring=["configuration_url"]))
예제 #4
0
def test_imposter_complex_predicates(predicate):
    # Given
    expected = Imposter(Stub(predicate().build()))
    structure = expected.as_structure()

    # When
    actual = Imposter.from_structure(structure)

    # Then
    assert_that(actual, instance_of(Imposter))
    assert_that(
        actual,
        has_identical_properties_to(expected, ignoring=["configuration_url"]))
예제 #5
0
def test_multiple_builders_do_not_interfere():
    # Given
    class SomeClass:
        def __init__(self, a, b, c=None):
            self.a = a
            self.b = b
            self.c = c

    class SomeClassBuilder(Builder):
        target = SomeClass
        a = lambda: 4
        b = a_string

    builder1 = SomeClassBuilder()
    builder2 = SomeClassBuilder()

    # When
    actual1 = builder1.with_a(99).build()
    actual2 = builder2.build()

    # Then
    assert_that(actual1, not_(has_identical_properties_to(actual2)))