public string Post2( [FromBody] CheckArgumentsForNullAttributeFixtureModel body, [FromUri] CheckArgumentsForNullAttributeFixtureModel uri, int?number = null) { return(string.Concat(body.Name, uri.Name)); }
public async Task ExecuteActionWithNonNullArgumentsReturnsOK() { using (var server = this.CreateServer()) { CheckArgumentsForNullAttributeFixtureModel model = new CheckArgumentsForNullAttributeFixtureModel() { Name = "Body" }; var response = await server.Client.PostAsJsonAsync(this.rootRoute + "/items2?Name=Uri", model); Assert.Equal(HttpStatusCode.OK, response.StatusCode); var responseContent = await response.Content.ReadAsAsync<string>(); Assert.Equal("BodyUri", responseContent); } }
public async Task ExecuteActionWithNonNullArgumentsReturnsOK() { using (var server = this.CreateServer()) { CheckArgumentsForNullAttributeFixtureModel model = new CheckArgumentsForNullAttributeFixtureModel() { Name = "Body" }; var response = await server.Client.PostAsJsonAsync(this.rootRoute + "/items2?Name=Uri", model); Assert.Equal(HttpStatusCode.OK, response.StatusCode); var responseContent = await response.Content.ReadAsAsync <string>(); Assert.Equal("BodyUri", responseContent); } }
public async Task ExecuteActionWithNullArgumentsReturnsBadRequest(string route, string[] args) { using (var server = this.CreateServer()) { CheckArgumentsForNullAttributeFixtureModel model = null; var response = await server.Client.PostAsJsonAsync(this.rootRoute + route, model); Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode); var responseContent = await response.Content.ReadAsAsync <HttpError>(); var errors = responseContent["ModelState"] as JObject; Assert.Equal(args.Length, errors.Count); foreach (var arg in args) { Assert.Equal(1, errors[arg].Count()); Assert.Equal("The parameter is required.", errors[arg].Values <string>().Single()); } } }