示例#1
0
 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);
        }
示例#3
0
        /// <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));
        }
示例#4
0
        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);
        }
示例#5
0
        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);
        }
示例#6
0
        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);
        }
示例#7
0
 /// <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));
 }