public async Task AnalyticsIndexes_CreateLink_S3()
        {
            // 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.
            var accessKeyId     = "changeme_accesskeyid";
            var secretAccessKey = "changeme_secret";
            var region          = "us-east";
            var linkName        = nameof(AnalyticsIndexes_CreateLink_S3) + 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 S3ExternalAnalyticsLink(linkName, dataverseName, accessKeyId, secretAccessKey, region);

            await manager.CreateLinkAsync(link);

            _outputHelper.WriteLine($"Create link succeeded for {link}");

            var editedLink = link.WithServiceEndpoint("http://localhost");
            await manager.ReplaceLinkAsync(editedLink);

            _outputHelper.WriteLine("Link updated.");
        }
Esempio n. 2
0
        public void S3ExternalAnalyticsLink_Validate(string name, string dataverse, string secretAccessKey, string accessKeyId, string sessionToken, string region, string serviceEndpoint, bool expectValid)
        {
            var link = new S3ExternalAnalyticsLink(name, dataverse, accessKeyId, secretAccessKey, region)
            {
                SessionToken    = sessionToken,
                ServiceEndpoint = serviceEndpoint
            };

            Assert.Equal("s3", 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);
            }
        }