### Question:
FetchS3Object extends AbstractS3Processor { @Override protected List<PropertyDescriptor> getSupportedPropertyDescriptors() { return properties; }  @Override void onTrigger(final ProcessContext context, final ProcessSession session); static final PropertyDescriptor VERSION_ID; static final List<PropertyDescriptor> properties; }### Answer:
@Test public void testGetPropertyDescriptors() throws Exception { FetchS3Object processor = new FetchS3Object(); List<PropertyDescriptor> pd = processor.getSupportedPropertyDescriptors(); assertEquals("size should be eq", 17, pd.size()); assertTrue(pd.contains(FetchS3Object.ACCESS_KEY)); assertTrue(pd.contains(FetchS3Object.AWS_CREDENTIALS_PROVIDER_SERVICE)); assertTrue(pd.contains(FetchS3Object.BUCKET)); assertTrue(pd.contains(FetchS3Object.CREDENTIALS_FILE)); assertTrue(pd.contains(FetchS3Object.ENDPOINT_OVERRIDE)); assertTrue(pd.contains(FetchS3Object.KEY)); assertTrue(pd.contains(FetchS3Object.REGION)); assertTrue(pd.contains(FetchS3Object.SECRET_KEY)); assertTrue(pd.contains(FetchS3Object.SIGNER_OVERRIDE)); assertTrue(pd.contains(FetchS3Object.SSL_CONTEXT_SERVICE)); assertTrue(pd.contains(FetchS3Object.TIMEOUT)); assertTrue(pd.contains(FetchS3Object.VERSION_ID)); assertTrue(pd.contains(ProxyConfigurationService.PROXY_CONFIGURATION_SERVICE)); assertTrue(pd.contains(FetchS3Object.PROXY_HOST)); assertTrue(pd.contains(FetchS3Object.PROXY_HOST_PORT)); assertTrue(pd.contains(FetchS3Object.PROXY_USERNAME)); assertTrue(pd.contains(FetchS3Object.PROXY_PASSWORD)); }