Exemplo n.º 1
0
        public void SetInnerHandlerWebProxyPort()
        {
            var testProxyBaseUri     = "http://test.cxm/";
            var testPort             = 8080;
            var expectedProxyAddress = "http://test.cxm:8080/";
            var testFrameworkName    = $"{nameof(SetInnerHandlerWebProxyPort)}_testFrameworkName";
            var version     = typeof(OktaHttpMessageHandlerShould).Assembly.GetName().Version;
            var oktaHandler = new OktaHttpMessageHandler(testFrameworkName, version, new OktaMvcOptions
            {
                Proxy = new ProxyConfiguration
                {
                    Host = testProxyBaseUri,
                    Port = testPort,
                },
            });

            oktaHandler.InnerHandler.Should().NotBeNull();
            oktaHandler.InnerHandler.Should().BeAssignableTo <HttpClientHandler>();

            var httpClientHandler = (HttpClientHandler)oktaHandler.InnerHandler;

            httpClientHandler.Proxy.Should().NotBeNull();
            httpClientHandler.Proxy.Should().BeAssignableTo <DefaultProxy>();

            var webProxy = (DefaultProxy)httpClientHandler.Proxy;
            var proxyUri = webProxy.GetProxy(Arg.Any <Uri>());

            proxyUri.ToString().Should().Be(expectedProxyAddress);
            proxyUri.Port.Should().Be(testPort);
            webProxy.Credentials.Should().BeNull();
        }
Exemplo n.º 2
0
        public void SetInnerHandlerWebProxy()
        {
            var testProxyAddress  = "http://test.cxm/";
            var testUserName      = "******";
            var testPassword      = "******";
            var testFrameworkName = $"{nameof(SetInnerHandlerWebProxy)}_testFrameworkName";
            var version           = typeof(OktaHttpMessageHandlerShould).Assembly.GetName().Version;
            var oktaHandler       = new OktaHttpMessageHandler(testFrameworkName, version, new OktaMvcOptions
            {
                Proxy = new ProxyConfiguration
                {
                    Host     = testProxyAddress,
                    Username = testUserName,
                    Password = testPassword,
                },
            });

            oktaHandler.InnerHandler.Should().NotBeNull();
            oktaHandler.InnerHandler.Should().BeAssignableTo <HttpClientHandler>();

            var httpClientHandler = (HttpClientHandler)oktaHandler.InnerHandler;

            httpClientHandler.Proxy.Should().NotBeNull();
            httpClientHandler.Proxy.Should().BeAssignableTo <DefaultProxy>();

            var webProxy = (DefaultProxy)httpClientHandler.Proxy;

            webProxy.GetProxy(Arg.Any <Uri>()).ToString().Should().Be(testProxyAddress);
            webProxy.Credentials.Should().NotBeNull();
            webProxy.Credentials.GetCredential(Arg.Any <Uri>(), string.Empty).UserName.Should().Be(testUserName);
            webProxy.Credentials.GetCredential(Arg.Any <Uri>(), string.Empty).Password.Should().Be(testPassword);
        }
        public async Task SetInnerHandlerWebProxy()
        {
            await Task.Run(() =>
            {
                var testProxyAddress  = "http://test.cxm/";
                var testFrameworkName = $"{nameof(SetInnerHandlerWebProxy)}_testFrameworkName";
                var version           = typeof(OktaHttpMessageHandlerShould).Assembly.GetName().Version;
                var oktaHandler       = new OktaHttpMessageHandler(testFrameworkName, version, new OktaMvcOptions
                {
                    Proxy = new ProxyConfiguration
                    {
                        Host = testProxyAddress,
                    },
                });
                oktaHandler.InnerHandler.Should().NotBeNull();
                oktaHandler.InnerHandler.Should().BeAssignableTo <HttpClientHandler>();

                var httpClientHandler = (HttpClientHandler)oktaHandler.InnerHandler;
                httpClientHandler.Proxy.Should().NotBeNull();
                httpClientHandler.Proxy.Should().BeAssignableTo <DefaultProxy>();

                var webProxy = (DefaultProxy)httpClientHandler.Proxy;
                webProxy.GetProxy(Arg.Any <Uri>()).ToString().Should().Be(testProxyAddress);
                webProxy.Credentials.Should().BeNull();
            });
        }
Exemplo n.º 4
0
        public void NotSetInnerHandlerWebProxyIfNotSpecified()
        {
            var testFrameworkName = $"{nameof(NotSetInnerHandlerWebProxyIfNotSpecified)}_testFrameworkName";
            var version           = typeof(OktaHttpMessageHandlerShould).Assembly.GetName().Version;
            var oktaHandler       = new OktaHttpMessageHandler(testFrameworkName, version, new OktaMvcOptions());

            oktaHandler.InnerHandler.Should().NotBeNull();
            oktaHandler.InnerHandler.Should().BeAssignableTo <HttpClientHandler>();

            var httpClientHandler = (HttpClientHandler)oktaHandler.InnerHandler;

            httpClientHandler.Proxy.Should().BeNull();
        }
        public async Task BuildUserAgent(string frameworkName)
        {
            var httpRequestMessage = new HttpRequestMessage(HttpMethod.Get, "http://foo.com");
            var version            = typeof(OktaHttpMessageHandlerShould).Assembly.GetName().Version;
            var handler            = new OktaHttpMessageHandler(frameworkName, version)
            {
                InnerHandler = new TestHandler(),
            };

            var invoker = new HttpMessageInvoker(handler);
            await invoker.SendAsync(httpRequestMessage, CancellationToken.None);

            httpRequestMessage.Headers.UserAgent.ToString()
            .IndexOf(
                ProductInfoHeaderValue.Parse($"{frameworkName}/{version.Major}.{version.Minor}.{version.Build}")
                .ToString(), StringComparison.InvariantCultureIgnoreCase).Should().BeGreaterOrEqualTo(0);
        }