/// <inheritdoc/> public async Task <FaceFeaturesModel> InsertFaceFeatures(FaceFeaturesModel faceFeaturesModel) { const string restUrl = "https://teststorageserver.azurewebsites.net/api/features"; var uri = new Uri(restUrl); var jsonContent = JsonConvert.SerializeObject(faceFeaturesModel, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }); var request = new HttpRequestMessage(HttpMethod.Post, uri) { Content = new StringContent(jsonContent, Encoding.UTF8, "application/json") }; var response = await HttpClient.SendAsync(request); if (!response.IsSuccessStatusCode) { var errorContent = await response.Content.ReadAsStringAsync(); throw new ManagerException((JsonConvert.DeserializeObject <BadRequestModel>(errorContent)).Message); } var responseContent = await response.Content.ReadAsStringAsync(); return(JsonConvert.DeserializeObject <FaceFeaturesModel>(responseContent)); }
/// <inheritdoc/> public FaceFeaturesModel InsertNewFeaturesModel(int personId, int age, string gender) { var element = new FaceFeaturesModel() { PersonId = personId, Age = age, Gender = gender }; using (var context = _databaseContextGeneration.BuildDatabaseContext()) { context.FaceFeatures.Add(element); context.SaveChanges(); } return(element); }
public async Task Post_ShouldCallHelper() { //Arrange var expectedId = 0; var expectedPersonId = 1; var expectedAge = 20; var expectedGender = "male"; var expectedFeaturesElement = new FaceFeaturesModel() { Id = expectedId, PersonId = expectedPersonId, Age = expectedAge, Gender = expectedGender }; var fakeFaceFeaturesHelper = A.Fake <IFaceFeaturesHelper>(); A.CallTo(() => fakeFaceFeaturesHelper.InsertNewFeaturesModel(expectedPersonId, expectedAge, expectedGender)) .Returns(expectedFeaturesElement); var faceFeaturesController = new FaceFeaturesController() { FaceFeaturesHelper = fakeFaceFeaturesHelper, Request = new HttpRequestMessage() }; //Act var result = faceFeaturesController.Post(expectedFeaturesElement); //Assert A.CallTo(() => fakeFaceFeaturesHelper.InsertNewFeaturesModel(expectedPersonId, expectedAge, expectedGender)) .MustHaveHappenedOnceExactly(); var httpResponse = await result.ExecuteAsync(new CancellationToken()); var jsonContent = await httpResponse.Content.ReadAsStringAsync(); var expectedJson = JsonConvert.SerializeObject(expectedFeaturesElement); jsonContent.ShouldBe(expectedJson); }
public IHttpActionResult Post([FromBody] FaceFeaturesModel faceFeaturesModel) { return(Json(FaceFeaturesHelper.InsertNewFeaturesModel(faceFeaturesModel.PersonId, faceFeaturesModel.Age, faceFeaturesModel.Gender))); }