public async Task Delete() { MetricsAdvisorAdministrationClient adminClient = GetMetricsAdvisorAdministrationClient(); var credentialName = Recording.GenerateAlphaNumericId("credential"); var credentialToCreate = new ServicePrincipalCredentialEntity(credentialName, "clientId", "clientSecret", "tenantId"); string credentialId = null; try { DataSourceCredentialEntity createdCredential = await adminClient.CreateDataSourceCredentialAsync(credentialToCreate); credentialId = createdCredential.Id; Assert.That(credentialId, Is.Not.Null.And.Not.Empty); } finally { if (credentialId != null) { await adminClient.DeleteDataSourceCredentialAsync(credentialId); var errorCause = "credentialId is invalid"; Assert.That(async() => await adminClient.GetDataSourceCredentialAsync(credentialId), Throws.InstanceOf <RequestFailedException>().With.Message.Contains(errorCause)); } } }
public async Task CreateAndDeleteDataSourceCredentialAsync() { string endpoint = MetricsAdvisorUri; string subscriptionKey = MetricsAdvisorSubscriptionKey; string apiKey = MetricsAdvisorApiKey; var credential = new MetricsAdvisorKeyCredential(subscriptionKey, apiKey); var adminClient = new MetricsAdvisorAdministrationClient(new Uri(endpoint), credential); #region Snippet:CreateDataSourceCredentialAsync #if SNIPPET string credentialName = "<credentialName>"; #else string credentialName = GetUniqueName(); #endif var credentialEntity = new ServicePrincipalCredentialEntity(credentialName, "<clientId>", "<clientSecret>", "<tenantId>"); Response <DataSourceCredentialEntity> response = await adminClient.CreateDataSourceCredentialAsync(credentialEntity); DataSourceCredentialEntity createdCredentialEntity = response.Value; Console.WriteLine($"Credential entity ID: {createdCredentialEntity.Id}"); #endregion // Delete the created credential to clean up the Metrics Advisor resource. Do not perform this // step if you intend to keep using the credential. await adminClient.DeleteDataSourceCredentialAsync(createdCredentialEntity.Id); }
public void UpdateDataSourceCredentialValidatesArguments() { MetricsAdvisorAdministrationClient adminClient = GetMetricsAdvisorAdministrationClient(); Assert.That(() => adminClient.UpdateDataSourceCredentialAsync(null), Throws.InstanceOf <ArgumentNullException>()); Assert.That(() => adminClient.UpdateDataSourceCredential(null), Throws.InstanceOf <ArgumentNullException>()); var credentialWithNullId = new ServicePrincipalCredentialEntity("name", "clientId", "clientSecret", "tenantId"); Assert.That(() => adminClient.UpdateDataSourceCredentialAsync(credentialWithNullId), Throws.InstanceOf <ArgumentNullException>()); Assert.That(() => adminClient.UpdateDataSourceCredential(credentialWithNullId), Throws.InstanceOf <ArgumentNullException>()); }
public void CreateDataSourceCredentialRespectsTheCancellationToken() { MetricsAdvisorAdministrationClient adminClient = GetMetricsAdvisorAdministrationClient(); var credential = new ServicePrincipalCredentialEntity("credentialName", "clientId", "clientSecret", "tenantId"); using var cancellationSource = new CancellationTokenSource(); cancellationSource.Cancel(); Assert.That(() => adminClient.CreateDataSourceCredentialAsync(credential, cancellationSource.Token), Throws.InstanceOf <OperationCanceledException>()); Assert.That(() => adminClient.CreateDataSourceCredential(credential, cancellationSource.Token), Throws.InstanceOf <OperationCanceledException>()); }
public async Task UpdateServicePrincipalCredentialEntity() { MetricsAdvisorAdministrationClient adminClient = GetMetricsAdvisorAdministrationClient(); string credentialName = Recording.GenerateAlphaNumericId("credential"); DataSourceCredentialEntity credentialToCreate = new ServicePrincipalCredentialEntity(credentialName, "mock", "mock", "mock"); await using var disposableCredential = await DisposableDataSourceCredentialEntity.CreateDataSourceCredentialEntityAsync(adminClient, credentialToCreate); var credentialToUpdate = disposableCredential.Credential as ServicePrincipalCredentialEntity; credentialToUpdate.ClientId = ClientId; credentialToUpdate.TenantId = TenantId; var updatedCredential = (await adminClient.UpdateDataSourceCredentialAsync(credentialToUpdate)).Value as ServicePrincipalCredentialEntity; Assert.That(updatedCredential.ClientId, Is.EqualTo(ClientId)); Assert.That(updatedCredential.TenantId, Is.EqualTo(TenantId)); }