public void AzureBlobAnalyticsLink_Validate(string name, string dataverse, string connectionString, string accountName, string accountKey, string sharedAccessSignature, string blobEndpoint, string endpointSuffix, bool expectValid) { var link = new AzureBlobExternalAnalyticsLink(name, dataverse) { ConnectionString = connectionString, AccountName = accountName, AccountKey = accountKey, SharedAccessSignature = sharedAccessSignature, BlobEndpoint = blobEndpoint, EndpointSuffix = endpointSuffix }; Assert.Equal("azureblob", link.LinkType); var isValid = link.TryValidateForRequest(out var errors); Assert.Equal(expectValid, isValid); if (expectValid) { Assert.Empty(errors); } else { Assert.NotEmpty(errors); Assert.Throws <ArgumentException>(link.ValidateForRequest); } }
public async Task AnalyticsIndexes_CreateLink_AzureBlob() { // this test is useful for running locally, but outside the scope of normal Combination Tests since they run against a single cluster // Make sure you do not commit any real user/password data if you change this locally. // TODO: still need to test 'azureblob' against a server version that supports it. // (requires DP enabled) var linkName = nameof(AnalyticsIndexes_CreateLink_AzureBlob) + Guid.NewGuid().ToString(); var dataverseName = "default"; var cluster = await _fixture.GetCluster().ConfigureAwait(false); var manager = cluster.AnalyticsIndexes; await manager.CreateDataverseAsync(dataverseName, (new Couchbase.Management.Analytics.CreateAnalyticsDataverseOptions()).IgnoreIfExists(true)); var link = new AzureBlobExternalAnalyticsLink(linkName, dataverseName) .WithConnectionString("http://user@localhost"); await manager.CreateLinkAsync(link); _outputHelper.WriteLine($"Create link succeeded for {link}"); }