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)), )
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))
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"]))
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"]))
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)))