public async Task DeleteDatasourceCredential() { MetricsAdvisorAdministrationClient adminClient = GetMetricsAdvisorAdministrationClient(); var credentialName = Recording.GenerateAlphaNumericId("credential"); var credentialToCreate = new ServicePrincipalDatasourceCredential(credentialName, "clientId", "clientSecret", "tenantId"); string credentialId = null; try { DatasourceCredential 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 void CreateDatasourceCredentialValidatesArguments() { MetricsAdvisorAdministrationClient adminClient = GetMetricsAdvisorAdministrationClient(); Assert.That(() => adminClient.CreateDatasourceCredentialAsync(null), Throws.InstanceOf <ArgumentNullException>()); Assert.That(() => adminClient.CreateDatasourceCredential(null), Throws.InstanceOf <ArgumentNullException>()); }
/// <summary> /// Creates a datasource credential using the specified <see cref="MetricsAdvisorAdministrationClient"/>. /// A <see cref="DisposableDatasourceCredential"/> instance is returned, from which the created credential /// can be obtained. Upon disposal, the created credential will be deleted. /// </summary> /// <param name="adminClient">The client to use for creating and for deleting the datasource credential.</param> /// <param name="credential">Specifies how the created <see cref="DatasourceCredential"/> should be configured.</param> /// <returns>A <see cref="DisposableDatasourceCredential"/> instance from which the created credential can be obtained.</returns> public static async Task <DisposableDatasourceCredential> CreateDatasourceCredentialAsync(MetricsAdvisorAdministrationClient adminClient, DatasourceCredential credential) { DatasourceCredential createdCredential = await adminClient.CreateDatasourceCredentialAsync(credential); Assert.That(createdCredential, Is.Not.Null); Assert.That(createdCredential.Id, Is.Not.Null.And.Not.Empty); return(new DisposableDatasourceCredential(adminClient, createdCredential)); }
public void CreateDatasourceCredentialRespectsTheCancellationToken() { MetricsAdvisorAdministrationClient adminClient = GetMetricsAdvisorAdministrationClient(); var credential = new ServicePrincipalDatasourceCredential("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 DatasourceCredentialSendsSecretDuringCreation(DatasourceCredential credential, string expectedSubstring) { MockResponse createResponse = new MockResponse(201); createResponse.AddHeader(new HttpHeader("Location", $"https://fakeresource.cognitiveservices.azure.com/metricsadvisor/v1.0/credentials/{FakeGuid}")); MockResponse getResponse = new MockResponse(200); getResponse.SetContent(DatasourceCredentialResponseContent); MockTransport mockTransport = new MockTransport(createResponse, getResponse); MetricsAdvisorAdministrationClient adminClient = CreateInstrumentedAdministrationClient(mockTransport); await adminClient.CreateDatasourceCredentialAsync(credential); MockRequest request = mockTransport.Requests.First(); string content = ReadContent(request); Assert.That(content, Contains.Substring(expectedSubstring)); }
/// <summary> /// Creates a datasource credential using the specified <see cref="MetricsAdvisorAdministrationClient"/>. /// A <see cref="DisposableDatasourceCredential"/> instance is returned, from which the created credential /// can be obtained. Upon disposal, the created credential will be deleted. /// </summary> /// <param name="adminClient">The client to use for creating and for deleting the datasource credential.</param> /// <param name="credential">Specifies how the created <see cref="DatasourceCredential"/> should be configured.</param> /// <returns>A <see cref="DisposableDatasourceCredential"/> instance from which the created credential can be obtained.</returns> public static async Task <DisposableDatasourceCredential> CreateDatasourceCredentialAsync(MetricsAdvisorAdministrationClient adminClient, DatasourceCredential credential) { DatasourceCredential createdCredential = await adminClient.CreateDatasourceCredentialAsync(credential); return(new DisposableDatasourceCredential(adminClient, createdCredential)); }