示例#1
0
        public void VerifyUserAgentValuesAreTransmitted()
        {
            var storedClientFactory = AzureSession.Instance.ClientFactory;
            var storedAuthFactory   = AzureSession.Instance.AuthenticationFactory;

            try
            {
                var authFactory = new AuthenticationFactory();
                authFactory.TokenProvider = new MockAccessTokenProvider(Guid.NewGuid().ToString(), "*****@*****.**");
                AzureSession.Instance.AuthenticationFactory = authFactory;
                var factory = new ClientFactory();
                AzureSession.Instance.ClientFactory = factory;
                foreach (var agent in factory.UserAgents)
                {
                    factory.RemoveUserAgent(agent.Product.Name);
                }

                factory.AddUserAgent("agent1");
                factory.AddUserAgent("agent1", "1.0.0");
                factory.AddUserAgent("agent1", "1.0.0");
                factory.AddUserAgent("agent1", "1.9.8");
                factory.AddUserAgent("agent2");
                Assert.Equal(4, factory.UserAgents.Length);
                var sub = new AzureSubscription
                {
                    Id = Guid.NewGuid().ToString(),
                };
                sub.SetTenant("123");
                var account = new AzureAccount
                {
                    Id   = "*****@*****.**",
                    Type = AzureAccount.AccountType.User,
                };
                account.SetTenants("123");
                var client = factory.CreateClient <NullClient>(new AzureContext(
                                                                   sub,
                                                                   account,
                                                                   AzureEnvironment.PublicEnvironments["AzureCloud"]

                                                                   ), AzureEnvironment.Endpoint.ResourceManager);
                Assert.Equal(5, client.HttpClient.DefaultRequestHeaders.UserAgent.Count);
                Assert.Contains(new ProductInfoHeaderValue("agent1", ""), client.HttpClient.DefaultRequestHeaders.UserAgent);
                Assert.Contains(new ProductInfoHeaderValue("agent1", "1.0.0"), client.HttpClient.DefaultRequestHeaders.UserAgent);
                Assert.Contains(new ProductInfoHeaderValue("agent1", "1.9.8"), client.HttpClient.DefaultRequestHeaders.UserAgent);
                Assert.Contains(new ProductInfoHeaderValue("agent2", ""), client.HttpClient.DefaultRequestHeaders.UserAgent);
            }
            finally
            {
                AzureSession.Instance.ClientFactory         = storedClientFactory;
                AzureSession.Instance.AuthenticationFactory = storedAuthFactory;
            }
        }
        public void VerifyUserAgentValuesAreTransmitted()
        {
            var storedClientFactory = AzureSession.ClientFactory;
            var storedAuthFactory   = AzureSession.AuthenticationFactory;

            try
            {
                var authFactory = new AuthenticationFactory();
                authFactory.TokenProvider          = new MockAccessTokenProvider(Guid.NewGuid().ToString(), "*****@*****.**");
                AzureSession.AuthenticationFactory = authFactory;
                var factory = new ClientFactory();
                AzureSession.ClientFactory = factory;
                factory.UserAgents.Clear();
                factory.AddUserAgent("agent1");
                factory.AddUserAgent("agent1", "1.0.0");
                factory.AddUserAgent("agent1", "1.0.0");
                factory.AddUserAgent("agent1", "1.9.8");
                factory.AddUserAgent("agent2");
                Assert.Equal(4, factory.UserAgents.Count);
                var client = factory.CreateClient <NullClient>(new AzureContext(
                                                                   new AzureSubscription
                {
                    Id         = Guid.NewGuid(),
                    Properties = new Dictionary <AzureSubscription.Property, string>
                    {
                        { AzureSubscription.Property.Tenants, "123" }
                    }
                },
                                                                   new AzureAccount
                {
                    Id         = "*****@*****.**",
                    Type       = AzureAccount.AccountType.User,
                    Properties = new Dictionary <AzureAccount.Property, string>
                    {
                        { AzureAccount.Property.Tenants, "123" }
                    }
                },
                                                                   AzureEnvironment.PublicEnvironments["AzureCloud"]

                                                                   ), AzureEnvironment.Endpoint.ResourceManager);
                Assert.Equal(5, client.HttpClient.DefaultRequestHeaders.UserAgent.Count);
                Assert.True(client.HttpClient.DefaultRequestHeaders.UserAgent.Contains(new ProductInfoHeaderValue("agent1", "")));
                Assert.True(client.HttpClient.DefaultRequestHeaders.UserAgent.Contains(new ProductInfoHeaderValue("agent1", "1.0.0")));
                Assert.True(client.HttpClient.DefaultRequestHeaders.UserAgent.Contains(new ProductInfoHeaderValue("agent1", "1.9.8")));
                Assert.True(client.HttpClient.DefaultRequestHeaders.UserAgent.Contains(new ProductInfoHeaderValue("agent2", "")));
            }
            finally
            {
                AzureSession.ClientFactory         = storedClientFactory;
                AzureSession.AuthenticationFactory = storedAuthFactory;
            }
        }
        public void VerifyUserAgentValuesAreTransmitted()
        {
            var storedClientFactory = AzureSession.ClientFactory;
            var storedAuthFactory = AzureSession.AuthenticationFactory;
            try
            {
                var authFactory = new AuthenticationFactory();
                authFactory.TokenProvider = new MockAccessTokenProvider(Guid.NewGuid().ToString(), "*****@*****.**");
                AzureSession.AuthenticationFactory = authFactory;
                var factory = new ClientFactory();
                AzureSession.ClientFactory = factory;
                factory.UserAgents.Clear();
                factory.AddUserAgent("agent1");
                factory.AddUserAgent("agent1", "1.0.0");
                factory.AddUserAgent("agent1", "1.0.0");
                factory.AddUserAgent("agent1", "1.9.8");
                factory.AddUserAgent("agent2");
                Assert.Equal(4, factory.UserAgents.Count);
                var client = factory.CreateClient<NullClient>(new AzureContext(
                    new AzureSubscription
                    {
                        Id = Guid.NewGuid(),
                        Properties = new Dictionary<AzureSubscription.Property, string>
                        {
                            {AzureSubscription.Property.Tenants, "123"}
                        }
                    },
                    new AzureAccount
                    {
                        Id = "*****@*****.**",
                        Type = AzureAccount.AccountType.User,
                        Properties = new Dictionary<AzureAccount.Property, string>
                        {
                            {AzureAccount.Property.Tenants, "123"}
                        }
                    },
                    AzureEnvironment.PublicEnvironments["AzureCloud"]

                    ), AzureEnvironment.Endpoint.ResourceManager);
                Assert.Equal(5, client.HttpClient.DefaultRequestHeaders.UserAgent.Count);
                Assert.True(client.HttpClient.DefaultRequestHeaders.UserAgent.Contains(new ProductInfoHeaderValue("agent1", "")));
                Assert.True(client.HttpClient.DefaultRequestHeaders.UserAgent.Contains(new ProductInfoHeaderValue("agent1", "1.0.0")));
                Assert.True(client.HttpClient.DefaultRequestHeaders.UserAgent.Contains(new ProductInfoHeaderValue("agent1", "1.9.8")));
                Assert.True(client.HttpClient.DefaultRequestHeaders.UserAgent.Contains(new ProductInfoHeaderValue("agent2", "")));
            }
            finally
            {
                AzureSession.ClientFactory = storedClientFactory;
                AzureSession.AuthenticationFactory = storedAuthFactory;
            }
        }
        public void VerifyProductInfoHeaderValueEquality()
        {
            ClientFactory factory = new ClientFactory();

            factory.AddUserAgent("test1", "123");
            factory.AddUserAgent("test2", "123");
            factory.AddUserAgent("test1", "123");
            factory.AddUserAgent("test1", "456");
            factory.AddUserAgent("test3");
            factory.AddUserAgent("tesT3");

            Assert.Equal(4, factory.UserAgents.Length);
            Assert.Contains(factory.UserAgents, u => u.Product.Name == "test1" && u.Product.Version == "123");
            Assert.Contains(factory.UserAgents, u => u.Product.Name == "test2" && u.Product.Version == "123");
            Assert.Contains(factory.UserAgents, u => u.Product.Name == "test1" && u.Product.Version == "456");
            Assert.Contains(factory.UserAgents, u => u.Product.Name == "test3" && u.Product.Version == null);
        }
 public void VerifyProductInfoHeaderValueEquality()
 {
     ClientFactory factory = new ClientFactory();
     factory.AddUserAgent("test1", "123");
     factory.AddUserAgent("test2", "123");
     factory.AddUserAgent("test1", "123");
     factory.AddUserAgent("test1", "456");
     factory.AddUserAgent("test3");
     factory.AddUserAgent("tesT3");
     
     Assert.Equal(4, factory.UserAgents.Count);
     Assert.True(factory.UserAgents.Any(u => u.Product.Name == "test1" && u.Product.Version == "123"));
     Assert.True(factory.UserAgents.Any(u => u.Product.Name == "test2" && u.Product.Version == "123"));
     Assert.True(factory.UserAgents.Any(u => u.Product.Name == "test1" && u.Product.Version == "456"));
     Assert.True(factory.UserAgents.Any(u => u.Product.Name == "test3" && u.Product.Version == null));
 }