public void Validate_When_Request_Is_Matched() { var dad = Stub.Create(9000).FromJson(_pactAsString); var response = DoHttpPost("/please/give/me/some/money"); dad.Dispose(); response.StatusCode.Should().Be(HttpStatusCode.OK); }
public void Validate_Stub_Can_Echo_Back_Status() { var dad = Stub.Create(9000).Echo(202); var response = DoHttpPost("/anything/anyway/", "{ A : \"foo\", B : \"bar\" }"); dad.Dispose(); response.StatusCode.Should().Be(HttpStatusCode.Accepted); }
public void Validate_When_Request_Contains_Authentication_Tokens() { var dad = Stub.Create(9000).FromFile("Data/SimplePact.json"); var response = DoHttpPost("/please/give/me/some/money?oauth_consumer_key=please&oauth_timestamp=now&oauth_signature=me&oauth_signature=me"); dad.Dispose(); response.StatusCode.Should().Be(HttpStatusCode.OK); }
public void Validate_When_Request_Is_Matched() { var dad = Stub.Create(9000).FromFile("Data/SimplePact.json"); var response = DoHttpPost("/please/give/me/some/money"); dad.Dispose(); response.StatusCode.Should().Be(HttpStatusCode.OK); }
public void Validate_When_Request_Has_Body_Default_Set_To_Match_Body() { var dad = Stub.Create(9000).FromFile("Data/PactWithReqBody.json"); var response = DoHttpPost("/please/give/me/some/money", "{\r\n \"name\": \"Joe\"\r\n}"); dad.Dispose(); response.StatusCode.Should().Be(HttpStatusCode.OK); }
public void Validate_When_Request_Has_Body_But_Is_Ignored() { var dad = Stub.Create(9000).FromFile("Data/PactWithReqBody.json", matchBody: false); var response = DoHttpPost("/please/give/me/some/money", "{\"name\": \"Joe\"}"); dad.Dispose(); response.StatusCode.Should().Be(HttpStatusCode.OK); }
public override void establish_context() { externalComponentMapping = new ExternalComponentMapping(ComponentType.Component); externalComponentMapping.Set(x => x.Type, Layer.Defaults, typeof(ComponentTarget)); var externalComponent = Stub <IExternalComponentMappingProvider> .Create(cfg => cfg.Stub(x => x.GetComponentMapping()).Return(externalComponentMapping)); visitor = new ComponentReferenceResolutionVisitor(new [] { new ComponentMapComponentReferenceResolver() }, new[] { externalComponent }); referenceComponentMapping = new ReferenceComponentMapping(ComponentType.Component, null, null, null, null); }
public void Validate_When_Request_Is_Not_Matched() { var dad = Stub.Create(9000).FromJson(_pactAsString); var response = DoHttpPost("/please/give/me/some/food"); dad.Dispose(); response.StatusCode.ToString().Should().Be("551"); response.StatusDescription.Should().Be("Stub on port 9000 says interaction not found. Please verify that the pact associated with this port contains the following request(case insensitive) : Method 'POST', Path '/please/give/me/some/food', Body ''. If you have specified filters please also check them."); }
public void adding_listener_should_add_listener_to_underlying_dispatcher() { var dispatcher = Mock <IDiagnosticMessageDispatcher> .Create(); var listener = Stub <IDiagnosticListener> .Create(); new DiagnosticsConfiguration(dispatcher, l => { }) .RegisterListener(listener); dispatcher.AssertWasCalled(x => x.RegisterListener(listener)); }
public void Validate_When_Request_Has_Body_But_Is_Not_Matched() { var dad = Stub.Create(9000).FromFile("Data/PactWithReqBody.json", matchBody: true); var response = DoHttpPost("/please/give/me/some/money", "{\"name\": \"Jack\"}"); dad.Dispose(); response.StatusCode.ToString().Should().Be("551"); response.StatusDescription.Should().Be("Stub on port 9000 says interaction not found. Please verify that the pact associated with this port contains the following request(case insensitive) : Method 'POST', Path '/please/give/me/some/money', Body '{\"name\": \"Jack\"}'. If you have specified filters please also check them."); }
public void Validate_When_Request_Contains_Unexpected_Authentication_Token() { var dad = Stub.Create(9000).FromFile("Data/SimplePact.json"); var response = DoHttpPost("/please/give/me/some/money?oauth_password=abc"); dad.Dispose(); response.StatusCode.ToString().Should().Be("551"); response.StatusDescription.Should().Be("Stub on port 9000 says interaction not found. Please verify that the pact associated with this port contains the following request(case insensitive) : Method 'POST', Path '/please/give/me/some/money?oauth_password=abc', Body ''. If you have specified filters please also check them."); }
public void Validate_When_Response_Has_Body() { var dad = Stub.Create(9000).FromFile("Data/PactWithRespBody.json"); var response = DoHttpPost("/please/give/me/some/money"); dad.Dispose(); response.StatusCode.Should().Be(HttpStatusCode.OK); response.Content.Should().BeEquivalentTo("{\r\n \"Money\": \"10\"\r\n}"); }
public override void establish_context() { external_component_mapping = new ExternalComponentMapping(ComponentType.Component) { Type = typeof(ComponentTarget) }; var external_component = Stub <IExternalComponentMappingProvider> .Create(cfg => cfg.Stub(x => x.GetComponentMapping()).Return(external_component_mapping)); visitor = new ComponentReferenceResolutionVisitor(new[] { external_component }); reference_component_mapping = new ReferenceComponentMapping(ComponentType.Component, null, null, null, null); }
public void CreateMappingConfiguration() { logger = Stub <IDiagnosticLogger> .Create(); cfg = new Configuration(); SQLiteConfiguration.Standard .InMemory() .ConfigureProperties(cfg); mapping = new MappingConfiguration(logger); }
public void Validate_When_Request_Is_Matched() { var fakePactBroker = new FakePactBroker(FakePactBrokerUrl); fakePactBroker.RespondWith(_pactAsString); var dad = Stub.Create(9000).FromPactbroker(FakePactBrokerUrl); var response = DoHttpPost("/please/give/me/some/money"); dad.Dispose(); fakePactBroker.Dispose(); response.StatusCode.Should().Be(HttpStatusCode.OK); }
public void should_raise_formatted_results() { var results = new DiagnosticResults(new ScannedSource[0], new Type[0], new Type[0], new SkippedAutomappingType[0], new Type[0], new AutomappingType[0]); var output = "formatted output"; var receivedOutput = ""; var formatter = Stub <IDiagnosticResultsFormatter> .Create(sb => sb.Stub(x => x.Format(results)) .Return(output)); var listener = new StringLambdaOutputListener(x => { receivedOutput = x; }); listener.SetFormatter(formatter); listener.Receive(results); receivedOutput.ShouldEqual(output); }
public void Validate_When_Response_Is_Set_To_Have_Dynamic_Guid() { var dad = Stub.Create(9000).FromFile("Data/StaticRulesPact.json"); var response = DoHttpPost("/please/give/me/some/money"); dad.Dispose(); response.StatusCode.Should().Be(HttpStatusCode.OK); var dict = JsonConvert.DeserializeObject <Dictionary <string, dynamic> >(response.Content); Guid guid; var isReciptGuid = Guid.TryParse((string)dict["receipt"], out guid); isReciptGuid.Should().BeTrue("The value of the auto-generated receipt in the response should be an GUID."); }
public void Validate_When_Filtered_On_Provider_State() { var fakePactBroker = new FakePactBroker(FakePactBrokerUrl); fakePactBroker.RespondWith(_pactAsString); var dad = Stub.Create(9000).FromPactbroker(FakePactBrokerUrl); dad.FilterOnProviderState("Dad has enough money and an advice"); var response = DoHttpPost("/please/give/me/some/money"); dad.Dispose(); fakePactBroker.Dispose(); response.StatusCode.Should().Be(HttpStatusCode.Accepted); }
public void Validate_When_Response_Is_Set_To_Have_Dynamic_Id_As_Integer() { var dad = Stub.Create(9000).FromFile("Data/StaticRulesPact.json"); var response = DoHttpPost("/please/give/me/some/money"); dad.Dispose(); response.StatusCode.Should().Be(HttpStatusCode.OK); var dict = JsonConvert.DeserializeObject <Dictionary <string, dynamic> >(response.Content); int idInt; var isIdInt = int.TryParse((string)dict["amount"], out idInt); isIdInt.Should().BeTrue("The value of the auto-generated id in the response should be an integer."); }
public void Validate_When_Filtered_On_Description() { var fakePactBroker = new FakePactBroker(FakePactBrokerUrl); fakePactBroker.RespondWith(_pactAsString); var dad = Stub.Create(9000).FromPactbroker(FakePactBrokerUrl); dad.FilterOnDescription("a request for money or advice"); var response = DoHttpPost("/please/give/me/some/money"); dad.Dispose(); fakePactBroker.Dispose(); response.StatusCode.Should().Be(HttpStatusCode.Accepted); }
public void Validate_When_Filters_Are_Cleared() { var fakePactBroker = new FakePactBroker(FakePactBrokerUrl); fakePactBroker.RespondWith(_pactAsString); var dad = Stub.Create(9000).FromPactbroker(FakePactBrokerUrl); dad.FilterOnProviderState("Dad has enough money and an advice"); dad.FilterOnDescription("a request for money or advice"); dad.ClearFilters(); var response = DoHttpPost("/please/give/me/some/money"); dad.Dispose(); fakePactBroker.Dispose(); response.StatusCode.Should().Be(HttpStatusCode.OK); }
public override void establish_context() { var externalComponentOne = Stub <IExternalComponentMappingProvider> .Create(cfg => { var externalComponentMapping = new ExternalComponentMapping(ComponentType.Component); externalComponentMapping.Set(x => x.Type, Layer.Defaults, typeof(ComponentTarget)); cfg.Stub(x => x.GetComponentMapping()).Return(externalComponentMapping); cfg.Stub(x => x.Type).Return(typeof(ComponentTarget)); }); var externalComponentTwo = Stub <IExternalComponentMappingProvider> .Create(cfg => { var externalComponentMapping = new ExternalComponentMapping(ComponentType.Component); externalComponentMapping.Set(x => x.Type, Layer.Defaults, typeof(ComponentTarget)); cfg.Stub(x => x.GetComponentMapping()).Return(externalComponentMapping); cfg.Stub(x => x.Type).Return(typeof(ComponentTarget)); }); visitor = new ComponentReferenceResolutionVisitor(new[] { new ComponentMapComponentReferenceResolver() }, new[] { externalComponentOne, externalComponentTwo }); memberProperty = new DummyPropertyInfo("Component", typeof(ComponentTarget)).ToMember(); }
public override void establish_context() { var external_component_one = Stub <IExternalComponentMappingProvider> .Create(cfg => { cfg.Stub(x => x.GetComponentMapping()).Return(new ExternalComponentMapping(ComponentType.Component) { Type = typeof(ComponentTarget) }); cfg.Stub(x => x.Type).Return(typeof(ComponentTarget)); }); var external_component_two = Stub <IExternalComponentMappingProvider> .Create(cfg => { cfg.Stub(x => x.GetComponentMapping()).Return(new ExternalComponentMapping(ComponentType.Component) { Type = typeof(ComponentTarget) }); cfg.Stub(x => x.Type).Return(typeof(ComponentTarget)); }); visitor = new ComponentReferenceResolutionVisitor(new[] { external_component_one, external_component_two }); member_property = new DummyPropertyInfo("Component", typeof(ComponentTarget)).ToMember(); }
public void Validate_When_File_Is_Not_Found() { var ex = Assert.Throws <FileNotFoundException>(() => Stub.Create(9000).FromFile("NoFile.json")); ex.Message.Should().Be("Unable to find the specified file."); }
public void Validate_When_Pact_Is_Not_Valid() { var exception = Assert.Throws <InvalidDataException>(() => Stub.Create(9000).FromJson("<Invalid Json")); exception.Message.Should().Be("The pact file is not a valid JSON document."); }