public TcpImposter(int?port, string name, TcpMode mode, bool recordRequests = false, TcpResponseFields defaultResponse = null) : base(port, Enums.Protocol.Tcp, name, recordRequests) { Stubs = new List <TcpStub>(); Mode = mode.ToString().ToLower(); DefaultResponse = defaultResponse; }
public void HttpImposter_WithDefaultRequest_SetsDefaultRequest() { var defaultResponse = new TcpResponseFields(); var imposter = Client.CreateTcpImposter(123, "service", defaultResponse: defaultResponse); Assert.IsNotNull(imposter.DefaultResponse); Assert.AreEqual(defaultResponse, imposter.DefaultResponse); }
/// <summary> /// Adds a response to the stub that will return the specified data. /// </summary> /// <param name="data">The data to be returned</param> /// <returns>The stub that the response was added to</returns> public TcpStub ReturnsData(string data) { var fields = new TcpResponseFields { Data = data }; var response = new IsResponse <TcpResponseFields>(fields); return(Returns(response)); }
public void Returns_AddsResponse_SetsFields() { var expectedFields = new TcpResponseFields { Data = "TestData" }; var stub = new TcpStub(); stub.Returns(new IsResponse <TcpResponseFields>(expectedFields)); var response = stub.Responses.First() as IsResponse <TcpResponseFields>; Assert.IsNotNull(response); Assert.AreEqual(expectedFields, response.Fields); }
public void TcpStub_Returns_AddsResponse_BehaviorSet() { var expectedFields = new TcpResponseFields { Data = "TestData" }; var behavior = new Behavior(); var stub = new TcpStub(); stub.Returns(new IsResponse <TcpResponseFields>(expectedFields, behavior)); var response = stub.Responses.First() as IsResponse <TcpResponseFields>; Assert.IsNotNull(response); Assert.IsNotNull(response.Behavior); Assert.AreEqual(behavior, response.Behavior); }
public void TcpStub_Returns_AddsResponse_LatencySet() { var expectedFields = new TcpResponseFields { Data = "TestData" }; const int expectedLatencyInMilliseconds = 1000; var behavior = new Behavior { LatencyInMilliseconds = expectedLatencyInMilliseconds }; var stub = new TcpStub(); stub.Returns(new IsResponse <TcpResponseFields>(expectedFields, behavior)); var response = stub.Responses.First() as IsResponse <TcpResponseFields>; Assert.IsNotNull(response); Assert.IsNotNull(response.Behavior); Assert.IsNotNull(response.Behavior.LatencyInMilliseconds); Assert.AreEqual(expectedLatencyInMilliseconds, response.Behavior.LatencyInMilliseconds); }
/// <summary> /// Creates a new imposter on the specified port with the TCP protocol. The Submit method /// must be called on the client in order to submit the imposter to mountebank. /// </summary> /// <param name="port">The port the imposter will be set up to receive requests on</param> /// <param name="name">The name the imposter will recieve, useful for debugging/logging purposes</param> /// <param name="mode">The mode of the imposter, text or binary. This defines the encoding for request/response data</param> /// <param name="recordRequests"> /// Enables recording requests to use the imposter as a mock. See /// <see href="http://www.mbtest.org/docs/api/mocks">here</see> for more details on Mountebank /// verification. /// </param> /// <param name="defaultResponse">The default response to send if no predicate matches</param> /// <returns>The newly created imposter</returns> public TcpImposter CreateTcpImposter(int?port = null, string name = null, TcpMode mode = TcpMode.Text, bool recordRequests = false, TcpResponseFields defaultResponse = null) { return(new TcpImposter(port, name, mode, recordRequests, defaultResponse)); }