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();
}