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"));
        }
Ejemplo n.º 4
0
        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();
        }
Ejemplo n.º 5
0
 public ITranslator CreateTranslator(TranslatorConfiguration configuration)
 {
     return(new TranslatorEntity());
 }