public async Task Read_YodaExampleUnsuccessfulResponse_ThrowsHttpRequestException(HttpStatusCode httpStatusCode) { SetupConfiguration(); var messageHandler = MessageHandlerBuilder.GetResponseMessageHandler(httpStatusCode); var client = new HttpClient(messageHandler); _mockHttpClientFactory.Setup(cf => cf.CreateClient(It.IsAny <string>())) .Returns(client); var translationClient = new YodaTranslationClient(_mockHttpClientFactory.Object, _httpClientConfiguration.Object); await Assert.ThrowsExceptionAsync <HttpRequestException>(() => translationClient.Read(_exampleYodaTranslationRequest)); }
public async Task Read_YodaExampleSuccessfulResponse_HasCorrectTranslation() { SetupConfiguration(); var messageHandler = MessageHandlerBuilder.GetSuccessfulResponseMessageHandler(_exampleYodaJsonResponse); var client = new HttpClient(messageHandler); _mockHttpClientFactory.Setup(cf => cf.CreateClient(It.IsAny <string>())) .Returns(client); var translationClient = new YodaTranslationClient(_mockHttpClientFactory.Object, _httpClientConfiguration.Object); var response = await translationClient.Read(_exampleYodaTranslationRequest); Assert.AreEqual("Mr, you gave.Tim a hearty meal,Made him die, but unfortunately what he ate.", response.Contents.Translated); }
public async Task <YodaTranslationClient> GetTranslation(string originalText) { YodaTranslationClient yodaTranslationClient; try { using (var httpClient = new HttpClient()) { using (var response = await httpClient.GetAsync("https://api.funtranslations.com/translate/yoda.json?text=" + originalText)) { string apiResponse = await response.Content.ReadAsStringAsync(); yodaTranslationClient = JsonConvert.DeserializeObject <YodaTranslationClient>(apiResponse); } } } catch (Exception) { //Return an empy yoda tranlation client yodaTranslationClient = new YodaTranslationClient(); } return(yodaTranslationClient); }