public TranslatorApiClient( AuthenticationConfiguration authenticationConfiguration, IRestClient restClient, ICacheProvider cacheProvider, ISpiExecutionContextManager spiExecutionContextManager, TranslatorConfiguration configuration, ILoggerWrapper logger) { _restClient = restClient; _cacheProvider = cacheProvider; _spiExecutionContextManager = spiExecutionContextManager; _restClient.BaseUrl = new Uri(configuration.BaseUrl); if (!string.IsNullOrEmpty(configuration.SubscriptionKey)) { _restClient.DefaultParameters.Add( new Parameter("Ocp-Apim-Subscription-Key", configuration.SubscriptionKey, ParameterType.HttpHeader)); } _logger = logger; _oAuth2ClientCredentialsAuthenticator = new OAuth2ClientCredentialsAuthenticator( authenticationConfiguration.TokenEndpoint, authenticationConfiguration.ClientId, authenticationConfiguration.ClientSecret, authenticationConfiguration.Resource); }
public async void Finder_Should_Return_Empty_If_NotEnabled() { TranslatorConfiguration.CanSupport().Returns(false); TranslatorConfiguration.IsActive().Returns(false); TurengMeanFinder sut = ResolveSut(); var translateRequest = new TranslateRequest("hi", "en"); TranslateResult response = await sut.FindMean(translateRequest); response.IsSuccess.ShouldBe(false); response.ResultMessage.ShouldBe(new Maybe <string>()); }
public async void Finder_Should_Work() { TranslatorConfiguration.CanSupport().Returns(true); TranslatorConfiguration.IsActive().Returns(true); MeanOrganizer.OrganizeMean(Arg.Any <string>(), Arg.Any <string>()).Returns(Task.FromResult(new Maybe <string>("selam"))); RestClient.ExecuteGetTaskAsync(Arg.Any <RestRequest>()).Returns(Task.FromResult <IRestResponse>(new RestResponse { StatusCode = HttpStatusCode.OK })); TurengMeanFinder sut = ResolveSut(); var translateRequest = new TranslateRequest("hi", "en"); TranslateResult response = await sut.FindMean(translateRequest); response.IsSuccess.ShouldBe(true); response.ResultMessage.ShouldBe(new Maybe <string>("selam")); }
public void Arrange() { _authenticationConfiguration = new AuthenticationConfiguration() { ClientId = "some client id", ClientSecret = "some secret", Resource = "http://some.fake.url/abc123", TokenEndpoint = "https://somecorp.local/tokens", }; _restClientMock = new Mock <IRestClient>(); _restClientMock.Setup(c => c.ExecuteTaskAsync(It.IsAny <IRestRequest>(), It.IsAny <CancellationToken>())) .ReturnsAsync(new RestResponse { StatusCode = HttpStatusCode.NotFound, ResponseStatus = ResponseStatus.Completed, }); _cacheProviderMock = new Mock <ICacheProvider>(); _configuration = new TranslatorConfiguration { BaseUrl = "https://translator.unit.tests", }; _loggerMock = new Mock <ILoggerWrapper>(); _spiExecutionContextManagerMock = new Mock <ISpiExecutionContextManager>(); _spiExecutionContextManagerMock.Setup(x => x.SpiExecutionContext) .Returns(new SpiExecutionContext()); _translator = new TranslatorApiClient( _authenticationConfiguration, _restClientMock.Object, _cacheProviderMock.Object, _configuration, _loggerMock.Object, _spiExecutionContextManagerMock.Object); _cancellationToken = new CancellationToken(); }
public ITranslator CreateTranslator(TranslatorConfiguration configuration) { return(new TranslatorEntity()); }