public void UsesProvidedCredentialIfOverGlobal()
        {
            var serviceCollection      = new ServiceCollection();
            var defaultAzureCredential = new ManagedIdentityCredential();

            serviceCollection.AddAzureClients(builder => builder.AddTestClientWithCredentials(new Uri("http://localhost")).WithCredential(defaultAzureCredential));

            ServiceProvider           provider = serviceCollection.BuildServiceProvider();
            TestClientWithCredentials client   = provider.GetService <TestClientWithCredentials>();

            Assert.AreSame(defaultAzureCredential, client.Credential);
        }
Exemple #2
0
        public void CanRegisterCustomClientWithOptionsAndCredential()
        {
            var serviceCollection = new ServiceCollection();

            serviceCollection.AddAzureClients(builder =>
                                              builder.AddClient <TestClientWithCredentials, TestClientOptions>((options, credential) => new TestClientWithCredentials(new Uri("http://localhost/"), credential, options))
                                              );
            ServiceProvider           provider = serviceCollection.BuildServiceProvider();
            TestClientWithCredentials client   = provider.GetService <TestClientWithCredentials>();

            Assert.AreEqual("http://localhost/", client.Uri.AbsoluteUri);
            Assert.NotNull(client.Options);
            Assert.NotNull(client.Credential);
        }
Exemple #3
0
        public void CanCreateClientWithoutRegistration()
        {
            var configuration = GetConfiguration(
                new KeyValuePair <string, string>("TestClient:uri", "http://localhost/"));

            var serviceCollection = new ServiceCollection();

            serviceCollection.AddAzureClientsCore();

            ServiceProvider           provider = serviceCollection.BuildServiceProvider();
            AzureComponentFactory     factory  = provider.GetService <AzureComponentFactory>();
            TestClientWithCredentials client   = (TestClientWithCredentials)factory.CreateClient(typeof(TestClientWithCredentials), configuration.GetSection("TestClient"), new EnvironmentCredential(), new TestClientOptions());

            Assert.AreEqual("http://localhost/", client.Uri.ToString());
            Assert.IsInstanceOf <EnvironmentCredential>(client.Credential);
        }
        public void CanSetGlobalOptions()
        {
            var serviceCollection = new ServiceCollection();

            serviceCollection.AddAzureClients(builder => {
                builder.AddTestClient("TestClient1");
                builder.AddTestClientWithCredentials(new Uri("http://localhost"));
                builder.ConfigureDefaults(options => options.Diagnostics.ApplicationId = "GlobalAppId");
            });
            ServiceProvider provider = serviceCollection.BuildServiceProvider();

            TestClient testClient = provider.GetService <IAzureClientFactory <TestClient> >().CreateClient("Default");
            TestClientWithCredentials testClientWithCredentials = provider.GetService <IAzureClientFactory <TestClientWithCredentials> >().CreateClient("Default");

            Assert.AreEqual("GlobalAppId", testClient.Options.Diagnostics.ApplicationId);
            Assert.AreEqual("GlobalAppId", testClientWithCredentials.Options.Diagnostics.ApplicationId);
        }
        public void UsesCredentialFromGlobalConfiguration()
        {
            var configuration = GetConfiguration(new KeyValuePair <string, string>("clientId", "ConfigurationClientId"),
                                                 new KeyValuePair <string, string>("clientSecret", "ConfigurationClientSecret"),
                                                 new KeyValuePair <string, string>("tenantId", "ConfigurationTenantId"));

            var serviceCollection = new ServiceCollection();

            serviceCollection.AddAzureClients(builder => {
                builder.AddTestClientWithCredentials(new Uri("http://localhost"));
                builder.ConfigureDefaults(configuration);
            });

            ServiceProvider           provider = serviceCollection.BuildServiceProvider();
            TestClientWithCredentials client   = provider.GetService <TestClientWithCredentials>();

            Assert.IsInstanceOf <ClientSecretCredential>(client.Credential);
            var clientSecretCredential = (ClientSecretCredential)client.Credential;

            Assert.AreEqual("ConfigurationClientId", clientSecretCredential.ClientId);
            Assert.AreEqual("ConfigurationClientSecret", clientSecretCredential.ClientSecret);
            Assert.AreEqual("ConfigurationTenantId", clientSecretCredential.TenantId);
        }
        public void CanCreateClientWithoutRegistration()
        {
            var configuration = GetConfiguration(
                new KeyValuePair <string, string>("TestClient:uri", "http://localhost/"),
                new KeyValuePair <string, string>("TestClient:clientId", "ConfigurationClientId"),
                new KeyValuePair <string, string>("TestClient:clientSecret", "ConfigurationClientSecret"),
                new KeyValuePair <string, string>("TestClient:tenantId", "ConfigurationTenantId"));

            var serviceCollection = new ServiceCollection();

            serviceCollection.AddAzureClients(builder => builder.UseConfiguration(_ => configuration));

            ServiceProvider provider = serviceCollection.BuildServiceProvider();
            IAzureClientFactory <TestClientWithCredentials> factory = provider.GetService <IAzureClientFactory <TestClientWithCredentials> >();
            TestClientWithCredentials client = factory.CreateClient("TestClient");

            Assert.IsInstanceOf <ClientSecretCredential>(client.Credential);
            var clientSecretCredential = (ClientSecretCredential)client.Credential;

            Assert.AreEqual("http://localhost/", client.Uri.ToString());
            Assert.AreEqual("ConfigurationClientId", clientSecretCredential.ClientId);
            Assert.AreEqual("ConfigurationClientSecret", clientSecretCredential.ClientSecret);
            Assert.AreEqual("ConfigurationTenantId", clientSecretCredential.TenantId);
        }