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); }
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); }
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); }