### Question:
PutS3Object extends AbstractS3Processor { @Override protected List<PropertyDescriptor> getSupportedPropertyDescriptors() { return properties; }  @Override void onTrigger(final ProcessContext context, final ProcessSession session); static final long MIN_S3_PART_SIZE; static final long MAX_S3_PUTOBJECT_SIZE; static final String PERSISTENCE_ROOT; static final String NO_SERVER_SIDE_ENCRYPTION; static final PropertyDescriptor EXPIRATION_RULE_ID; static final PropertyDescriptor CONTENT_TYPE; static final PropertyDescriptor STORAGE_CLASS; static final PropertyDescriptor MULTIPART_THRESHOLD; static final PropertyDescriptor MULTIPART_PART_SIZE; static final PropertyDescriptor MULTIPART_S3_AGEOFF_INTERVAL; static final PropertyDescriptor MULTIPART_S3_MAX_AGE; static final PropertyDescriptor SERVER_SIDE_ENCRYPTION; static final PropertyDescriptor OBJECT_TAGS_PREFIX; static final PropertyDescriptor REMOVE_TAG_PREFIX; static final List<PropertyDescriptor> properties; }### Answer:
@Test public void testGetPropertyDescriptors() throws Exception { PutS3Object processor = new PutS3Object(); List<PropertyDescriptor> pd = processor.getSupportedPropertyDescriptors(); assertEquals("size should be eq", 33, pd.size()); assertTrue(pd.contains(PutS3Object.ACCESS_KEY)); assertTrue(pd.contains(PutS3Object.AWS_CREDENTIALS_PROVIDER_SERVICE)); assertTrue(pd.contains(PutS3Object.BUCKET)); assertTrue(pd.contains(PutS3Object.CANNED_ACL)); assertTrue(pd.contains(PutS3Object.CREDENTIALS_FILE)); assertTrue(pd.contains(PutS3Object.ENDPOINT_OVERRIDE)); assertTrue(pd.contains(PutS3Object.FULL_CONTROL_USER_LIST)); assertTrue(pd.contains(PutS3Object.KEY)); assertTrue(pd.contains(PutS3Object.OWNER)); assertTrue(pd.contains(PutS3Object.READ_ACL_LIST)); assertTrue(pd.contains(PutS3Object.READ_USER_LIST)); assertTrue(pd.contains(PutS3Object.REGION)); assertTrue(pd.contains(PutS3Object.SECRET_KEY)); assertTrue(pd.contains(PutS3Object.SIGNER_OVERRIDE)); assertTrue(pd.contains(PutS3Object.SSL_CONTEXT_SERVICE)); assertTrue(pd.contains(PutS3Object.TIMEOUT)); assertTrue(pd.contains(PutS3Object.EXPIRATION_RULE_ID)); assertTrue(pd.contains(PutS3Object.STORAGE_CLASS)); assertTrue(pd.contains(PutS3Object.WRITE_ACL_LIST)); assertTrue(pd.contains(PutS3Object.WRITE_USER_LIST)); assertTrue(pd.contains(PutS3Object.SERVER_SIDE_ENCRYPTION)); assertTrue(pd.contains(ProxyConfigurationService.PROXY_CONFIGURATION_SERVICE)); assertTrue(pd.contains(PutS3Object.PROXY_HOST)); assertTrue(pd.contains(PutS3Object.PROXY_HOST_PORT)); assertTrue(pd.contains(PutS3Object.PROXY_USERNAME)); assertTrue(pd.contains(PutS3Object.PROXY_PASSWORD)); assertTrue(pd.contains(PutS3Object.OBJECT_TAGS_PREFIX)); assertTrue(pd.contains(PutS3Object.REMOVE_TAG_PREFIX)); }