### Question:
ListS3 extends AbstractS3Processor { @Override protected List<PropertyDescriptor> getSupportedPropertyDescriptors() { return properties; }  @Override Set<Relationship> getRelationships(); @Override void onTrigger(final ProcessContext context, final ProcessSession session); static final PropertyDescriptor DELIMITER; static final PropertyDescriptor PREFIX; static final PropertyDescriptor USE_VERSIONS; static final PropertyDescriptor LIST_TYPE; static final PropertyDescriptor MIN_AGE; static final PropertyDescriptor WRITE_OBJECT_TAGS; static final List<PropertyDescriptor> properties; static final Set<Relationship> relationships; static final String CURRENT_TIMESTAMP; static final String CURRENT_KEY_PREFIX; }### Answer:
@Test public void testGetPropertyDescriptors() throws Exception { ListS3 processor = new ListS3(); List<PropertyDescriptor> pd = processor.getSupportedPropertyDescriptors(); assertEquals("size should be eq", 21, pd.size()); assertTrue(pd.contains(ListS3.ACCESS_KEY)); assertTrue(pd.contains(ListS3.AWS_CREDENTIALS_PROVIDER_SERVICE)); assertTrue(pd.contains(ListS3.BUCKET)); assertTrue(pd.contains(ListS3.CREDENTIALS_FILE)); assertTrue(pd.contains(ListS3.ENDPOINT_OVERRIDE)); assertTrue(pd.contains(ListS3.REGION)); assertTrue(pd.contains(ListS3.WRITE_OBJECT_TAGS)); assertTrue(pd.contains(ListS3.SECRET_KEY)); assertTrue(pd.contains(ListS3.SIGNER_OVERRIDE)); assertTrue(pd.contains(ListS3.SSL_CONTEXT_SERVICE)); assertTrue(pd.contains(ListS3.TIMEOUT)); assertTrue(pd.contains(ListS3.DELIMITER)); assertTrue(pd.contains(ListS3.PREFIX)); assertTrue(pd.contains(ListS3.USE_VERSIONS)); assertTrue(pd.contains(ListS3.LIST_TYPE)); assertTrue(pd.contains(ListS3.MIN_AGE)); assertTrue(pd.contains(ProxyConfigurationService.PROXY_CONFIGURATION_SERVICE)); assertTrue(pd.contains(ListS3.PROXY_HOST)); assertTrue(pd.contains(ListS3.PROXY_HOST_PORT)); assertTrue(pd.contains(ListS3.PROXY_USERNAME)); assertTrue(pd.contains(ListS3.PROXY_PASSWORD)); }