AWSSDK_DotNet.IntegrationTests.Tests.S3.StorageInsightsMetricsTests.BucketMetricsConfigurationsAndFilterTest C# (CSharp) Method

BucketMetricsConfigurationsAndFilterTest() public method

public BucketMetricsConfigurationsAndFilterTest ( ) : void
return void
        public void BucketMetricsConfigurationsAndFilterTest()
        {
            Tag tag = new Tag()
            {
                Key = "tagK",
                Value = "tagV"
            };
            List<MetricsFilterPredicate> list = new List<MetricsFilterPredicate>();
            list.Add(new MetricsPrefixPredicate("string"));
            list.Add(new MetricsTagPredicate(tag));
            PutBucketMetricsConfigurationRequest putBucketMetricsConfigurationRequest = new PutBucketMetricsConfigurationRequest()
            {
                BucketName = bucketName,
                MetricsId = "configId",
                MetricsConfiguration = new MetricsConfiguration()
                {
                    MetricsId = "configId",
                    MetricsFilter = new MetricsFilter()
                    {
                        MetricsFilterPredicate = new MetricsAndOperator(list)
                    }
                }
            };
            var putBucketMetricsConfigurationResponse = Client.PutBucketMetricsConfiguration(putBucketMetricsConfigurationRequest);

            GetBucketMetricsConfigurationRequest getBucketMetricsConfigurationRequest = new GetBucketMetricsConfigurationRequest()
            {
                MetricsId = "configId",
                BucketName = bucketName
            };

            var getBucketMetricsConfigurationResponse = Client.GetBucketMetricsConfiguration(getBucketMetricsConfigurationRequest);
            var getMetricsConfiguration = getBucketMetricsConfigurationResponse.MetricsConfiguration;
            var putMetricsConfiguration = putBucketMetricsConfigurationRequest.MetricsConfiguration;
            Assert.AreEqual(getMetricsConfiguration.MetricsId, putMetricsConfiguration.MetricsId);

            foreach (var predicate in ((MetricsNAryOperator)getMetricsConfiguration.MetricsFilter.MetricsFilterPredicate).Operands)
            {
                if (predicate is MetricsPrefixPredicate)
                {
                    Assert.AreEqual(((MetricsPrefixPredicate)predicate).Prefix, "string");
                }
                else
                {
                    Assert.AreEqual(((MetricsTagPredicate)predicate).Tag.Key, "tagK");
                    Assert.AreEqual(((MetricsTagPredicate)predicate).Tag.Value, "tagV");
                }
            }

            ListBucketMetrics();

            DeleteBucketMetricsAndValidate();
        }