public static async Task <IActionResult> Run( [HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = null)] HttpRequest req, ILogger log) { string requestBody = await new StreamReader(req.Body).ReadToEndAsync(); var requestModel = JsonConvert.DeserializeObject <HashRequestModel>(requestBody); HashResponseModel response = new HashResponseModel { hash_value = HashUtility.GetMD5Hash($"{requestModel.Login}{requestModel.Password}") }; return(new OkObjectResult(response)); }
public async Task ShouldReturnHashedValue() { //arrange HashRequestModel model = new HashRequestModel { Login = "******", Password = "******" }; HashResponseModel responseModel = new HashResponseModel { hash_value = "otee" }; var handlerMock = new Mock <HttpMessageHandler>(); var httpResponse = new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(JsonConvert.SerializeObject(responseModel)), }; handlerMock .Protected() .Setup <Task <HttpResponseMessage> >( "SendAsync", ItExpr.IsAny <HttpRequestMessage>(), ItExpr.IsAny <CancellationToken>()) .ReturnsAsync(httpResponse); var httpClient = new HttpClient(handlerMock.Object); httpClient.BaseAddress = new Uri("http://localhost:7071"); FunctionService service = new FunctionService(httpClient); //act var serviceResponse = await service.Hash(model); //assert Assert.NotNull(service); Assert.NotNull(serviceResponse.hash_value); }