public void testInventoryConfiguration_with_filter()

in services/s3/src/it/java/software/amazon/awssdk/services/s3/BucketInventoryConfigurationIntegrationTest.java [132:192]


    public void testInventoryConfiguration_with_filter() throws Exception {
        String configId = "id";
        String prefix = "prefix";
        String accountId = "test-account";
        List<String> optionalFields = new ArrayList<String>() {
            {
                add(InventoryOptionalField.E_TAG.toString());
                add(InventoryOptionalField.SIZE.toString());
            }
        };

        InventoryS3BucketDestination s3BucketDestination = InventoryS3BucketDestination.builder()
                                                                                       .bucket(BUCKET_ARN)
                                                                                       .format(InventoryFormat.CSV)
                                                                                       .accountId(accountId)
                                                                                       .prefix(prefix)
                                                                                       .build();

        InventoryDestination destination = InventoryDestination.builder().s3BucketDestination(s3BucketDestination).build();

        InventoryConfiguration config = InventoryConfiguration.builder()
                                                              .isEnabled(true)
                                                              .id(configId)
                                                              .destination(destination)
                                                              .includedObjectVersions(InventoryIncludedObjectVersions.ALL)
                                                              .schedule(InventorySchedule.builder()
                                                                                         .frequency(InventoryFrequency.DAILY)
                                                                                         .build())
                                                              .filter(InventoryFilter.builder().prefix(prefix).build())
                                                              .optionalFieldsWithStrings(optionalFields)
                                                              .build();


        s3.putBucketInventoryConfiguration(PutBucketInventoryConfigurationRequest.builder()
                                                                                 .bucket(BUCKET_NAME)
                                                                                 .inventoryConfiguration(config)
                                                                                 .id(configId)
                                                                                 .build());

        config = s3.getBucketInventoryConfiguration(GetBucketInventoryConfigurationRequest.builder().bucket(BUCKET_NAME)
                                                                                          .id(configId)
                                                                                          .build())
                   .inventoryConfiguration();

        assertEquals(configId, config.id());
        assertTrue(config.isEnabled());
        assertEquals(InventoryIncludedObjectVersions.ALL, config.includedObjectVersions());
        assertEquals(InventoryFrequency.DAILY, config.schedule().frequency());
        s3BucketDestination = config.destination().s3BucketDestination();
        assertEquals(BUCKET_ARN, s3BucketDestination.bucket());
        assertEquals(InventoryFormat.CSV, s3BucketDestination.format());
        assertEquals(accountId, s3BucketDestination.accountId());
        assertEquals(prefix, s3BucketDestination.prefix());
        assertEquals(prefix, config.filter().prefix());
        assertTrue(config.optionalFieldsAsStrings().containsAll(optionalFields));

        s3.deleteBucketInventoryConfiguration(DeleteBucketInventoryConfigurationRequest.builder()
                                                                                       .bucket(BUCKET_NAME)
                                                                                       .id(configId)
                                                                                       .build());
    }