@@ -80,6 +80,25 @@ Feature: Sending data from MiNiFi-C++ to an AWS server
8080 And the object content type on the s3 server is "application/octet-stream" and the object metadata matches use metadata
8181 And no errors were generated on the http-proxy regarding "http://s3-server-${feature_id}:9090/test_bucket/test_object_key"
8282
83+ Scenario : A MiNiFi instance transfers encoded data through a http proxy to s3 using proxy configuration service
84+ Given a GetFile processor with the "Input Directory" property set to "/tmp/input"
85+ And a file with the content "LH_O#L|FD<FASD{FO#@$#$%^ \" #\" $L%:\" @#$L\" :test_data#$#%#$%?{\" F{" is present in "/tmp/input"
86+ And a PutS3Object processor set up to communicate with an s3 server
87+ And the "Proxy Configuration Service" property of the PutS3Object processor is set to "ProxyConfigurationService"
88+ And a PutFile processor with the "Directory" property set to "/tmp/output"
89+ And the "success" relationship of the GetFile processor is connected to the PutS3Object
90+ And the "success" relationship of the PutS3Object processor is connected to the PutFile
91+ And a ProxyConfigurationService controller service is set up with HTTP proxy configuration
92+
93+ And a s3 server is set up in correspondence with the PutS3Object
94+ And the http proxy server is set up
95+ When all instances start up
96+
97+ Then a flowfile with the content "test" is placed in the monitored directory in less than 60 seconds
98+ And the object on the s3 server is "LH_O#L|FD<FASD{FO#@$#$%^ \" #\" $L%:\" @#$L\" :test_data#$#%#$%?{\" F{"
99+ And the object content type on the s3 server is "application/octet-stream" and the object metadata matches use metadata
100+ And no errors were generated on the http-proxy regarding "http://s3-server-${feature_id}:9090/test_bucket/test_object_key"
101+
83102 Scenario : A MiNiFi instance can remove s3 bucket objects
84103 Given a GetFile processor with the "Input Directory" property set to "/tmp/input"
85104 And a file with the content "LH_O#L|FD<FASD{FO#@$#$%^ \" #\" $L%:\" @#$L\" :test_data#$#%#$%?{\" F{" is present in "/tmp/input"
@@ -141,6 +160,29 @@ Feature: Sending data from MiNiFi-C++ to an AWS server
141160 And the object bucket on the s3 server is empty
142161 And no errors were generated on the http-proxy regarding "http://s3-server-${feature_id}:9090/test_bucket/test_object_key"
143162
163+ Scenario : Deletion of a s3 object through a proxy-server succeeds using proxy configuration service
164+ Given a GetFile processor with the "Input Directory" property set to "/tmp/input"
165+ And a file with the content "LH_O#L|FD<FASD{FO#@$#$%^ \" #\" $L%:\" @#$L\" :test_data#$#%#$%?{\" F{" is present in "/tmp/input"
166+ And a PutS3Object processor set up to communicate with an s3 server
167+ And a DeleteS3Object processor set up to communicate with the same s3 server
168+ And the "Proxy Configuration Service" property of the DeleteS3Object processor is set to "ProxyConfigurationService"
169+ And a PutFile processor with the "Directory" property set to "/tmp/output"
170+ And the processors are connected up as described here:
171+ | source name | relationship name | destination name |
172+ | GetFile | success | PutS3Object |
173+ | PutS3Object | success | DeleteS3Object |
174+ | DeleteS3Object | success | PutFile |
175+ And a ProxyConfigurationService controller service is set up with HTTP proxy configuration
176+
177+ And a s3 server is set up in correspondence with the PutS3Object
178+ And the http proxy server is set up
179+
180+ When all instances start up
181+
182+ Then a flowfile with the content "test" is placed in the monitored directory in less than 60 seconds
183+ And the object bucket on the s3 server is empty
184+ And no errors were generated on the http-proxy regarding "http://s3-server-${feature_id}:9090/test_bucket/test_object_key"
185+
144186 Scenario : A MiNiFi instance can download s3 bucket objects directly
145187 Given a GetFile processor with the "Input Directory" property set to "/tmp/input"
146188 And a file with the content "test" is present in "/tmp/input"
@@ -189,6 +231,30 @@ Feature: Sending data from MiNiFi-C++ to an AWS server
189231 Then a flowfile with the content "test" is placed in the monitored directory in less than 60 seconds
190232 And no errors were generated on the http-proxy regarding "http://s3-server-${feature_id}:9090/test_bucket/test_object_key"
191233
234+ Scenario : A MiNiFi instance can download s3 bucket objects via a http-proxy using proxy configuration service
235+ Given a GetFile processor with the "Input Directory" property set to "/tmp/input"
236+ And a file with the content "test" is present in "/tmp/input"
237+ And a PutS3Object processor set up to communicate with an s3 server
238+ And the "success" relationship of the GetFile processor is connected to the PutS3Object
239+
240+ Given a GenerateFlowFile processor with the "File Size" property set to "1 kB" in a "secondary" flow
241+ And a FetchS3Object processor set up to communicate with the same s3 server
242+ And the "Proxy Configuration Service" property of the FetchS3Object processor is set to "ProxyConfigurationService"
243+ And a PutFile processor with the "Directory" property set to "/tmp/output"
244+ And the processors are connected up as described here:
245+ | source name | relationship name | destination name |
246+ | GenerateFlowFile | success | FetchS3Object |
247+ | FetchS3Object | success | PutFile |
248+ And a ProxyConfigurationService controller service is set up with HTTP proxy configuration in the "secondary" flow
249+
250+ And a s3 server is set up in correspondence with the PutS3Object
251+ And a http proxy server is set up accordingly
252+
253+ When all instances start up
254+
255+ Then a flowfile with the content "test" is placed in the monitored directory in less than 60 seconds
256+ And no errors were generated on the http-proxy regarding "http://s3-server-${feature_id}:9090/test_bucket/test_object_key"
257+
192258 Scenario : A MiNiFi instance can list an S3 bucket directly
193259 Given a GetFile processor with the "Input Directory" property set to "/tmp/input"
194260 And the "Batch Size" property of the GetFile processor is set to "1"
@@ -233,6 +299,26 @@ Feature: Sending data from MiNiFi-C++ to an AWS server
233299 Then 1 flowfile is placed in the monitored directory in 120 seconds
234300 And no errors were generated on the http-proxy regarding "http://s3-server-${feature_id}:9090/test_bucket"
235301
302+ Scenario : A MiNiFi instance can list an S3 bucket objects via a http-proxy using proxy configuration service
303+ Given a GetFile processor with the "Input Directory" property set to "/tmp/input"
304+ And a file with the content "test" is present in "/tmp/input"
305+ And a PutS3Object processor set up to communicate with an s3 server
306+ And the "success" relationship of the GetFile processor is connected to the PutS3Object
307+
308+ Given a ListS3 processor in the "secondary" flow
309+ And the "Proxy Configuration Service" property of the ListS3 processor is set to "ProxyConfigurationService"
310+ And a PutFile processor with the "Directory" property set to "/tmp/output"
311+ And the "success" relationship of the ListS3 processor is connected to the PutFile
312+ And a ProxyConfigurationService controller service is set up with HTTP proxy configuration in the "secondary" flow
313+
314+ And a s3 server is set up in correspondence with the PutS3Object
315+ And a http proxy server is set up accordingly
316+
317+ When all instances start up
318+
319+ Then 1 flowfile is placed in the monitored directory in 120 seconds
320+ And no errors were generated on the http-proxy regarding "http://s3-server-${feature_id}:9090/test_bucket"
321+
236322 Scenario : A MiNiFi instance transfers data in multiple parts to s3
237323 Given a GetFile processor with the "Input Directory" property set to "/tmp/input"
238324 And a file of size 16MB is present in "/tmp/input"
0 commit comments