private async Task ExistingPage(ServerType server, RuntimeFlavor runtimeFlavor, RuntimeArchitecture architecture, string applicationBaseUrl)
        {
            await TestServices.RunSiteTest(
                SiteName,
                server,
                runtimeFlavor,
                architecture,
                applicationBaseUrl,
                async (httpClient, logger, token) =>
            {
                var response = await RetryHelper.RetryRequest(async() =>
                {
                    return(await httpClient.GetAsync(string.Empty));
                }, logger, token, retryCount: 30);

                var responseText = await response.Content.ReadAsStringAsync();

                logger.LogResponseOnFailedAssert(response, responseText, () =>
                {
                    string expectedText = "Hello World, try /bob to get a 404";
                    Assert.Equal(expectedText, responseText);

                    Assert.Equal(HttpStatusCode.OK, response.StatusCode);
                });
            });
        }
        private async Task RunSite(ServerType serverType, RuntimeFlavor runtimeFlavor, RuntimeArchitecture architecture, string applicationBaseUrl)
        {
            await TestServices.RunSiteTest(
                SiteName,
                serverType,
                runtimeFlavor,
                architecture,
                applicationBaseUrl,
                async (httpClient, logger, token) =>
            {
                var response = await RetryHelper.RetryRequest(async() =>
                {
                    return(await httpClient.GetAsync(string.Empty));
                }, logger, token, retryCount: 30);

                var responseText    = await response.Content.ReadAsStringAsync();
                string expectedText =
                    "Retry Count 42\r\n" +
                    "Default Ad Block House\r\n" +
                    "Ad Block Contoso Origin sql-789 Product Code contoso2014\r\n" +
                    "Ad Block House Origin blob-456 Product Code 123\r\n";

                logger.LogResponseOnFailedAssert(response, responseText, () =>
                {
                    Assert.Equal(expectedText, responseText);
                });
            });
        }
        private async Task RunSite(ServerType server, RuntimeFlavor runtimeFlavor, RuntimeArchitecture architecture, string applicationBaseUrl)
        {
            await TestServices.RunSiteTest(
                SiteName,
                server,
                runtimeFlavor,
                architecture,
                applicationBaseUrl,
                async (httpClient, logger, token) =>
            {
                // ===== English =====
                var response = await RetryHelper.RetryRequest(async() =>
                {
                    return(await httpClient.GetAsync(string.Empty));
                }, logger, token, retryCount: 30);

                var responseText = await response.Content.ReadAsStringAsync();

                var headingIndex = responseText.IndexOf("<h2>Application uses</h2>");
                Assert.True(headingIndex >= 0);

                // ===== French =====
                response = await RetryHelper.RetryRequest(async() =>
                {
                    return(await httpClient.GetAsync("?culture=fr&ui-culture=fr"));
                }, logger, token, retryCount: 30);

                responseText = await response.Content.ReadAsStringAsync();

                headingIndex = responseText.IndexOf("<h2>Utilisations d'application</h2>");
                Assert.True(headingIndex >= 0);
            });
        }
Esempio n. 4
0
        private async Task RunSite(ServerType serverType, RuntimeFlavor runtimeFlavor, RuntimeArchitecture architecture, string applicationBaseUrl)
        {
            await TestServices.RunSiteTest(SiteName, serverType, runtimeFlavor, architecture, applicationBaseUrl,
                                           async (httpClient, logger, token) =>
            {
                var response = await RetryHelper.RetryRequest(async() =>
                {
                    return(await httpClient.GetAsync(string.Empty));
                }, logger, token, retryCount: 30);

                var responseText = await response.Content.ReadAsStringAsync();

                logger.LogResponseOnFailedAssert(response, responseText, () =>
                {
                    Assert.Equal("Before\r\nHello world\r\nAfter\r\n", responseText);

                    var customHeaderText = response.Headers.GetValues("CustomHeader").Single();
                    Assert.Equal("My Header", customHeaderText);
                });
            });
        }
Esempio n. 5
0
        private async Task RunSite(ServerType serverType, RuntimeFlavor runtimeFlavor, RuntimeArchitecture architecture, string applicationBaseUrl)
        {
            await TestServices.RunSiteTest(
                SiteName,
                serverType,
                runtimeFlavor,
                architecture,
                applicationBaseUrl,
                async (httpClient, logger, token) =>
            {
                var response = await RetryHelper.RetryRequest(async() =>
                {
                    return(await httpClient.GetAsync(string.Empty));
                }, logger, token, retryCount: 30);

                var responseText = await response.Content.ReadAsStringAsync();

                logger.LogResponseOnFailedAssert(response, responseText, () =>
                {
                    Assert.Equal("Yo, middleware!\r\nThis request is a GET\r\n", responseText);
                });
            });
        }
        public async Task CustomErrorCode(ServerType server, RuntimeFlavor runtimeFlavor, RuntimeArchitecture architecture, string applicationBaseUrl)
        {
            await TestServices.RunSiteTest(
                SiteName,
                server,
                runtimeFlavor,
                architecture,
                applicationBaseUrl,
                async (httpClient, logger, token) =>
            {
                var response = await RetryHelper.RetryRequest(async() =>
                {
                    return(await httpClient.GetAsync("/errors/" + (int)HttpStatusCode.PaymentRequired));
                }, logger, token, retryCount: 30);

                var responseText = await response.Content.ReadAsStringAsync();

                logger.LogResponseOnFailedAssert(response, responseText, () =>
                {
                    Assert.Equal(HttpStatusCode.PaymentRequired, response.StatusCode);
                });
            });
        }
        private async Task NonExistingPage(ServerType server, RuntimeFlavor runtimeFlavor, RuntimeArchitecture architecture, string applicationBaseUrl)
        {
            await TestServices.RunSiteTest(
                SiteName,
                server,
                runtimeFlavor,
                architecture,
                applicationBaseUrl,
                async (httpClient, logger, token) =>
            {
                var response = await RetryHelper.RetryRequest(async() =>
                {
                    return(await httpClient.GetAsync("/bob"));
                }, logger, token, retryCount: 30);

                var responseText = await response.Content.ReadAsStringAsync();

                logger.LogResponseOnFailedAssert(response, responseText, () =>
                {
                    Assert.Equal(HttpStatusCode.NotFound, response.StatusCode);
                });
            });
        }
Esempio n. 8
0
        private async Task RunSite(ServerType serverType, RuntimeFlavor runtimeFlavor, RuntimeArchitecture architecture, string applicationBaseUrl)
        {
            await TestServices.RunSiteTest(
                SiteName,
                serverType,
                runtimeFlavor,
                architecture,
                applicationBaseUrl,
                async (httpClient, logger, token) =>
            {
                var response = await RetryHelper.RetryRequest(async() =>
                {
                    return(await httpClient.GetAsync(string.Empty));
                }, logger, token, retryCount: 30);

                var responseText = await response.Content.ReadAsStringAsync();

                logger.LogResponseOnFailedAssert(response, responseText, () =>
                {
                    Assert.Contains("ValueOfKey-Data:Inventory:ConnectionString", responseText);
                    Assert.Contains("ValueOfKey-Data:Inventory:Provider", responseText);
                });
            });
        }
        private async Task RunSite(ServerType server, RuntimeFlavor runtimeFlavor, RuntimeArchitecture architecture, string applicationBaseUrl)
        {
            // calltwo and callthree in the expression below
            // increment on every call.
            // The test verifies that everything else stays the same
            // and that the two values that change are increasing in value
            string responseMatcher =
                @"---------- MyMiddleware ctor\r\n" +
                @"CallOne\[1\]\r\n" +
                @"CallTwo\[2\]\r\n" +
                @"CallThree\[3\]\r\n" +
                @"---------- context\.RequestServices\r\n" +
                @"CallOne\[1\]\r\n" +
                @"CallTwo\[(?<calltwo>\d+)\]\r\n" +
                @"CallThree\[(?<callthree>\d+)\]\r\n" +
                @"---------- Done\r\n";

            var responseRegex = new Regex(responseMatcher, RegexOptions.Compiled | RegexOptions.Multiline);

            await TestServices.RunSiteTest(
                SiteName,
                server,
                runtimeFlavor,
                architecture,
                applicationBaseUrl,
                async (httpClient, logger, token) =>
            {
                // ===== First call =====
                var response = await RetryHelper.RetryRequest(async() =>
                {
                    return(await httpClient.GetAsync(string.Empty));
                }, logger, token, retryCount: 30);

                var responseText = await response.Content.ReadAsStringAsync();

                var match = responseRegex.Match(responseText);
                Assert.True(match.Success);

                var callTwo1   = int.Parse(match.Groups["calltwo"].Value);
                var callThree1 = int.Parse(match.Groups["callthree"].Value);

                // ===== Second call =====
                response = await RetryHelper.RetryRequest(async() =>
                {
                    return(await httpClient.GetAsync(string.Empty));
                }, logger, token, retryCount: 30);

                responseText = await response.Content.ReadAsStringAsync();
                logger.LogResponseOnFailedAssert(response, responseText, () =>
                {
                    match = responseRegex.Match(responseText);
                    Assert.True(match.Success);

                    var callTwo2   = int.Parse(match.Groups["calltwo"].Value);
                    var callThree2 = int.Parse(match.Groups["callthree"].Value);

                    Assert.True(callTwo1 < callTwo2);
                    Assert.True(callThree1 < callThree2);
                });
            });
        }