Esempio n. 1
0
        public void Should_get_response_when_merge_request()
        {
            var requestJson      = @"{
            ""name"": ""Tiago Resende"",
            ""age"": 31
            }";
            var responseMockJson = @"{
            ""id"": 1
            }";

            var requestBody  = JsonConvert.DeserializeObject <JObject>(requestJson);
            var responseBody = JsonConvert.DeserializeObject <JObject>(responseMockJson);
            var request      = new RequestFake
            {
                Path                = "users",
                Method              = HttpMethod.Post.Method,
                Response            = responseBody,
                ResponseBuilderType = ResponseBuilderType.RequestMerge
            };

            var response = request.GetResponse(requestBody);


            response["name"].Value <string>().Should().Be("Tiago Resende");
            response["age"].Value <int>().Should().Be(31);
            response["id"].Value <int>().Should().Be(1);
        }
Esempio n. 2
0
 public RequestFakeRepository(IReadOnlyList <RequestFake> requestFakes)
 {
     _requestFakes   = requestFakes ?? throw new ArgumentNullException(nameof(requestFakes));
     _defaultRequest = new RequestFake
     {
         Method = "*",
         Path   = ".*",
         ResponseBuilderType = ResponseBuilderType.RequestReflect
     };
 }
Esempio n. 3
0
        public void Should_get_url_parameters(string path, string requestPath, string parameter, string parameterValue)
        {
            var request = new RequestFake
            {
                Path   = path,
                Method = "GET",
                ResponseBuilderType = ResponseBuilderType.ResponseCopy
            };

            request.GetUrlParams(requestPath)
            .Should()
            .ContainKey(parameter)
            .And
            .ContainValue(parameterValue);
        }
Esempio n. 4
0
        public void Should_throw_when_builder_type_invalid()
        {
            var request = new RequestFake
            {
                Path   = "users",
                Method = "Get",
                ResponseBuilderType = "invalid"
            };

            request
            .Invoking(x => x.GetResponse(new JObject()))
            .Should()
            .Throw <ArgumentException>()
            .And
            .ParamName
            .Should()
            .Be("ResponseBuilderType");
        }
Esempio n. 5
0
        public void Should_get_response_when_has_null_value()
        {
            var requestJson = @"{
                ""name"": ""Tiago Resende"",
                ""age"": 31,
                ""null_value"": null
            }";

            var requestBody = JsonConvert.DeserializeObject <JObject>(requestJson);
            var request     = new RequestFake
            {
                Path                = "users",
                Method              = HttpMethod.Post.Method,
                Response            = null,
                ResponseBuilderType = ResponseBuilderType.RequestReflect
            };

            request.Invoking(x => x.GetResponse(requestBody))
            .Should()
            .NotThrow();
        }
Esempio n. 6
0
        public void Should_get_response_when_has_array_value()
        {
            var requestJson = @"{
                ""name"": ""Tiago Resende"",
                ""age"": 31,
                ""contacts"": [
                    { ""contact"": ""contact 1"" }
                ]
            }";

            var requestBody = JsonConvert.DeserializeObject <JObject>(requestJson);
            var request     = new RequestFake
            {
                Path                = "users",
                Method              = HttpMethod.Post.Method,
                Response            = null,
                ResponseBuilderType = ResponseBuilderType.RequestReflect
            };

            var result = request.GetResponse(requestBody);

            result["contacts"].Should().HaveCount(1);
            result["contacts"].ToList().First()["contact"].Value <string>().Should().Be("contact 1");
        }