public async Task BadPassTest()
 {
     var httpClient = new HttpClientMockBuilder(_uri)
                      .WithBasicAuthentication(_basicAuthHash)
                      .Build();
     var client = new HaystackClient(httpClient, new BasicAuthenticator(_user, "wrongPass"), _uri);
     await client.OpenAsync();
 }
        public async Task Read()
        {
            var grid = new HaystackGrid()
                       .AddColumn("site")
                       .AddRow(new HaystackMarker());
            var httpClient = new HttpClientMockBuilder(_uri)
                             .WithBasicAuthentication(_basicAuthHash)
                             .WithReadAsync("site", grid)
                             .Build();
            var client = new HaystackClient(httpClient, new BasicAuthenticator(_user, _pass), _uri);
            await client.OpenAsync();

            await client.ReadAsync("site");
        }
Пример #3
0
        public async Task ItShouldSetupWebAssemblyHttpHostedLocalizerAsync(string cultureName, string key, string arg, string expected)
        {
            var cultureInfo            = CultureInfo.GetCultureInfo(cultureName);
            var cultureInfoServiceMock = new Mock <ICultureInfoService>();

            cultureInfoServiceMock.SetupGet(s => s.CurrentUICulture).Returns(cultureInfo);

            var services = new ServiceCollection();

            services.AddTestLogging(this.testOutputHelper);

            using var httpClient = new HttpClientMockBuilder()
                                   .WithBaseAddress(new Uri("http://test.com"))
                                   .WithRequest("/_content/SoloX.BlazorJsonLocalization.ITests/Resources/JsonLocalyserWebAssemblySetupTest.json")
                                   .Responding(request =>
            {
                var response     = new HttpResponseMessage();
                response.Content = new StreamContent(new MemoryStream(Encoding.UTF8.GetBytes("{\"Test\": \"This is a test...\", \"TestWithArg\": \"This is a test with an argument: {0}...\"}")));
                return(response);
            })
                                   .WithRequest("/_content/SoloX.BlazorJsonLocalization.ITests/Resources/JsonLocalyserWebAssemblySetupTest-fr.json")
                                   .Responding(request =>
            {
                var response     = new HttpResponseMessage();
                response.Content = new StreamContent(new MemoryStream(Encoding.UTF8.GetBytes("{\"Test\": \"C'est un test...\", \"TestWithArg\": \"C'est un test avec un argument: {0}...\"}")));
                return(response);
            })
                                   .Build();

            services.AddSingleton(httpClient);

            services.AddWebAssemblyJsonLocalization(
                builder => builder.UseHttpHostedJson(options => options.ResourcesPath = "Resources"));

            services.AddSingleton(cultureInfoServiceMock.Object);

            using var provider = services.BuildServiceProvider();

            var localizer = provider.GetService <IStringLocalizer <JsonLocalyserWebAssemblySetupTest> >();

            Assert.NotNull(localizer);

            await localizer.LoadAsync().ConfigureAwait(false);

            var localized = string.IsNullOrEmpty(arg)
                ? localizer[key]
                : localizer[key, arg];

            Assert.Equal(expected, localized.Value);
        }
        public async Task SetResponseContent_ForGivenString_ContentIsExpectedString()
        {
            // Arrange
            var httpClientMockBuilder = new HttpClientMockBuilder();
            var httpClient            = httpClientMockBuilder.SetResponseContent("test").Build();

            // Act
            var asyncResult = await httpClient.GetAsync("https://www.foo.bar.com/").ConfigureAwait(false);

            var contentResult = await asyncResult.Content.ReadAsStringAsync().ConfigureAwait(false);

            // Assert
            Assert.Equal("test", contentResult);
        }
        public async Task SetResponseStatusCode_ForGivenStatusCode_ExpectedStatusCode()
        {
            // Arrange
            var httpClientMockBuilder = new HttpClientMockBuilder();

            httpClientMockBuilder.SetResponseStatusCode(HttpStatusCode.Ambiguous);
            var httpClient = httpClientMockBuilder.Build();

            // Act
            var asyncResult = await httpClient.GetAsync("https://www.foo.bar.com/").ConfigureAwait(false);

            var statusCode = asyncResult.StatusCode;

            // Assert
            Assert.Equal(HttpStatusCode.Ambiguous, statusCode);
        }
        public async Task SetResponseContent_Null_ContentIsEmptyString()
        {
            // Arrange
            var httpClientMockBuilder = new HttpClientMockBuilder();

            httpClientMockBuilder.SetResponseContent(null);
            var httpClient = httpClientMockBuilder.Build();

            // Act
            var asyncResult = await httpClient.GetAsync("https://foo.bar.com/").ConfigureAwait(false);

            var contentResult = await asyncResult.Content.ReadAsStringAsync().ConfigureAwait(false);

            // Assert
            Assert.Equal(string.Empty, contentResult);
        }
        public async Task Build_NoPropertiesSet_ContentIsEmptyStringAndStatusCodeIsAccepted()
        {
            // Arrange
            var httpClientMockBuilder = new HttpClientMockBuilder();
            var httpClient            = httpClientMockBuilder.Build();

            // Act
            var asyncResult = await httpClient.GetAsync("https://foo.bar.com/").ConfigureAwait(false);

            var contentResult = await asyncResult.Content.ReadAsStringAsync().ConfigureAwait(false);

            var statusCode = asyncResult.StatusCode;

            // Assert
            Assert.Equal(string.Empty, contentResult);
            Assert.Equal(HttpStatusCode.Accepted, statusCode);
        }
        public async Task ItShouldLoadJsonFileFromHttpClientAsync(
            string cultureName,
            string key,
            string expectedText,
            bool expectedSuccess,
            string resourcePath)
        {
            var cultureInfo = CultureInfo.GetCultureInfo(cultureName);

            using var httpClient = new HttpClientMockBuilder()
                                   .WithBaseAddress(new Uri("http://test.com"))
                                   .WithRequest("/_content/SoloX.BlazorJsonLocalization.WebAssembly.UTests/Resources/HttpHostedJsonLocalizationExtensionServiceTest.json")
                                   .Responding(request =>
            {
                var response     = new HttpResponseMessage();
                response.Content = new StreamContent(new MemoryStream(Encoding.UTF8.GetBytes("{\"Test\": \"English test.\"}")));
                return(response);
            })
                                   .WithRequest("/_content/SoloX.BlazorJsonLocalization.WebAssembly.UTests/Resources/HttpHostedJsonLocalizationExtensionServiceTest-fr.json")
                                   .Responding(request =>
            {
                var response     = new HttpResponseMessage();
                response.Content = new StreamContent(new MemoryStream(Encoding.UTF8.GetBytes("{\"Test\": \"French test.\"}")));
                return(response);
            })
                                   .Build();

            var service = new HttpHostedJsonLocalizationExtensionService(httpClient, Logger);

            var options = new HttpHostedJsonLocalizationOptions()
            {
                ResourcesPath = resourcePath,
            };

            var map = await service.TryLoadAsync(options, Assembly, BaseName, cultureInfo).ConfigureAwait(false);

            if (expectedSuccess)
            {
                Assert.NotNull(map);
                Assert.Equal(expectedText, map[key]);
            }
            else
            {
                Assert.Null(map);
            }
        }