public async Task PostJsonTest() { var sut = TestUtils.GenerateSut(); //arrange var request = new PostJsonRequest { IntValue = sut.CreateFixture <int>(), FloatValue = sut.CreateFixture <float>(), DateValue = sut.CreateFixture <DateTime>(), EnumValue = sut.CreateEnumFixture <ExampleEnum>(), StringValue = sut.CreateFixture <string>(), IntList = sut.CreateManyFixture <int>(new Random().Next(3, 20)) }; //act var res = await sut.ExecutePostAsync <PostJsonResponse, PostJsonRequest>( urlPath : "/api/example/post-json", request : request); //assert var expectedResult = new PostJsonResponse { Message = $"post-json {request.Serialize()}" }; Assert.Equal(expected: expectedResult.Serialize(), actual: res.Serialize()); }
public async Task PostJsonExecuteThroughHttpTest() { var sut = TestUtils.GenerateSut(); //arrange var request = new PostJsonRequest { IntValue = sut.CreateFixture <int>(), FloatValue = sut.CreateFixture <float>(), DateValue = sut.CreateFixture <DateTime>(), EnumValue = sut.CreateEnumFixture <ExampleEnum>(), StringValue = sut.CreateFixture <string>(), IntList = sut.CreateManyFixture <int>(new Random().Next(3, 20)) }; var expectedResult = new PostJsonResponse { Message = $"post-json {request.Serialize()}" }; var exampleHttpService = sut.GetRequiredService <IExampleHttpService>(); exampleHttpService .PostJsonAsync(request: Arg.Is <PostJsonRequest>(predicate: x => x.Serialize(null) == request.Serialize(null)), callerMethodName: Arg.Any <string>()) .Returns(expectedResult); //act var res = await sut.ExecutePostAsync <PostJsonResponse, PostJsonRequest>( urlPath : "/api/example/post-json-through-http", request : request); //assert Assert.Equal(expected: expectedResult.Serialize(), actual: res.Serialize()); }
public async Task ExecuteJsonPostAsync() { // Arrange const string expectedResponseMessage = "Item created"; const int expectedResponseCode = 200; var jsonObject = new { Id = 42, Name = "Test Object", Delta = 56.78f }; var request = new PostJsonRequest("RestArt", jsonObject, null, null); IRestArtClient client = new RestArtClient(this._restUrl); client.AddOrUpdatePersistentHeader("PersistentHeader", "ph-value"); // Act IRestResponse <Models.TestResponse> response = await client.ExecuteAsync <Models.TestResponse>(request); // Assert Assert.NotNull(response); Assert.Equal(HttpStatusCode.OK, response.StatusCode); Assert.NotNull(response.Raw); Assert.NotNull(response.Value); Assert.Equal(expectedResponseCode, response.Value.Code); Assert.Equal(expectedResponseMessage, response.Value.Msg); }
public PostJsonResponse PostJson([FromBody] PostJsonRequest request) { _logger.LogError("json readed"); return(new PostJsonResponse { Message = $"post-json {request.Serialize()}" }); }
public async Task <PostJsonResponse> PostJsonExecuteThroughHttpAsync([FromBody] PostJsonRequest request) { request.RequiredNotNull(nameof(request)); request.RequiredNotNull(() => request.StringValue); request.RequiredArgumentEnumIsDefinedValue(() => request.EnumValue); request.RequiredArgumentNotDefaultValue(() => request.IntValue); request.RequiredArgumentListNotEmpty(() => request.IntList); request.RequiredArgumentNotDefaultValue(() => request.FloatValue); _logger.LogError("json readed"); return(await _exampleHttpService.PostJsonAsync(request)); }
public async Task <PostJsonResponse> PostJsonExecuteThroughHttpTwiceAsync([FromBody] PostJsonRequest request) { _logger.LogError("json readed"); return(await _exampleHttpService.PostJsonExecuteThroughHttpAsync(request)); }
public async Task <PostJsonResponse> PostJsonExecuteThroughHttpAsync(PostJsonRequest request, [CallerMemberName] string callerMemberName = null) => await ExecutePostAsync <PostJsonResponse, PostJsonRequest>("api/example/post-json-through-http", request, callerMemberName : callerMemberName);