Copilot commented on code in PR #2044:
URL: https://github.com/apache/nifi-minifi-cpp/pull/2044#discussion_r2416221427


##########
extensions/standard-processors/tests/features/attributes_to_json.feature:
##########
@@ -15,17 +15,16 @@
 
 @CORE
 Feature: Writing attribute data using AttributesToJSON processor
-  Background:
-    Given the content of "/tmp/output" is monitored
 
   Scenario: Write selected attribute data to file
     Given a GetFile processor with the "Input Directory" property set to 
"/tmp/input"
-    And a file with filename "test_file.log" and content "test_data" is 
present in "/tmp/input"
+    And a directory at "/tmp/input" has a file ("test_file.log") with the 
content "test_data"
     And a AttributesToJSON processor with the "Attributes List" property set 
to "filename,invalid"
     And the "Destination" property of the AttributesToJSON processor is set to 
"flowfile-content"
     And the "Null Value" property of the AttributesToJSON processor is set to 
"true"
     And a PutFile processor with the "Directory" property set to "/tmp/output"
     And the "success" relationship of the GetFile processor is connected to 
the AttributesToJSON
     And the "success" relationship of the AttributesToJSON processor is 
connected to the PutFile
+    And PutFile's success relationship is auto-terminated
     When the MiNiFi instance starts up
-    Then a flowfile with the JSON content 
"{"filename":"test_file.log","invalid":null}" is placed in the monitored 
directory in less than 10 seconds
+    Then there is a single file with 
"{"invalid":null,"filename":"test_file.log"}" content in the "/tmp/output" 
directory in less than 20 sec

Review Comment:
   Inconsistent time unit abbreviation: should be 'seconds' instead of 'sec' to 
match other test files.
   ```suggestion
       Then there is a single file with 
"{"invalid":null,"filename":"test_file.log"}" content in the "/tmp/output" 
directory in less than 20 seconds
   ```



##########
extensions/standard-processors/tests/features/syslog_listener.feature:
##########
@@ -43,4 +40,4 @@ Feature: Minifi C++ can act as a syslog listener
     And the "success" relationship of the ListenSyslog processor is connected 
to the PutFile
 
     When both instances start up
-    Then at least one flowfile is placed in the monitored directory in less 
than 10 seconds
+    Then there are at least 1 files is in the "/tmp/output" directory in less 
than 10 seconds

Review Comment:
   Grammar error: 'files is' should be 'file is' or 'files are'.
   ```suggestion
       Then there is at least 1 file in the "/tmp/output" directory in less 
than 10 seconds
   ```



##########
extensions/aws/tests/features/s3.feature:
##########
@@ -111,83 +96,88 @@ Feature: Sending data from MiNiFi-C++ to an AWS server
 
     When both instances start up
 
-    Then a flowfile with the content "test" is placed in the monitored 
directory in less than 60 seconds
-    And the object bucket on the s3 server is empty
+    Then there is a single file with "test" content in the "/tmp/output" 
directory in less than 20 sec

Review Comment:
   Multiple inconsistent time unit abbreviations: should be 'seconds' instead 
of 'sec' to match other test files.



##########
extensions/aws/tests/features/s3.feature:
##########
@@ -19,89 +19,74 @@ Feature: Sending data from MiNiFi-C++ to an AWS server
   As a user of MiNiFi
   I need to have PutS3Object and DeleteS3Object processors
 
-  Background:
-    Given the content of "/tmp/output" is monitored
-
   Scenario: A MiNiFi instance transfers encoded data to s3
     Given a GetFile processor with the "Input Directory" property set to 
"/tmp/input"
-    And a file with the content "LH_O#L|FD<FASD{FO#@$#$%^ 
\"#\"$L%:\"@#$L\":test_data#$#%#$%?{\"F{" is present in "/tmp/input"
-    And a PutS3Object processor set up to communicate with an s3 server
-    And a PutFile processor with the "Directory" property set to "/tmp/output"
-    And the "success" relationship of the GetFile processor is connected to 
the PutS3Object
-    And the "success" relationship of the PutS3Object processor is connected 
to the PutFile
-
-    And a s3 server is set up in correspondence with the PutS3Object
-
-    When both instances start up
-
-    Then a flowfile with the content "test" is placed in the monitored 
directory in less than 60 seconds
-    And the object on the s3 server is "LH_O#L|FD<FASD{FO#@$#$%^ 
\"#\"$L%:\"@#$L\":test_data#$#%#$%?{\"F{"
-    And the object content type on the s3 server is "application/octet-stream" 
and the object metadata matches use metadata
-    And the Minifi logs contain the following message: "in a single upload" in 
less than 10 seconds
-
-  Scenario: A MiNiFi instance transfers encoded data to s3 in FIPS mode
-    Given OpenSSL FIPS mode is enabled in MiNiFi
-    And a GetFile processor with the "Input Directory" property set to 
"/tmp/input"
-    And a file with the content "LH_O#L|FD<FASD{FO#@$#$%^ 
\"#\"$L%:\"@#$L\":test_data#$#%#$%?{\"F{" is present in "/tmp/input"
+    And a directory at "/tmp/input" has a file with the content 
"LH_O#L|FD<FASD{FO#@$#$%^ \"#\"$L%:\"@#$L\":test_data#$#%#$%?{\"F{"
     And a PutS3Object processor set up to communicate with an s3 server
     And a PutFile processor with the "Directory" property set to "/tmp/output"
     And the "success" relationship of the GetFile processor is connected to 
the PutS3Object
     And the "success" relationship of the PutS3Object processor is connected 
to the PutFile
+    And the "failure" relationship of the PutS3Object processor is connected 
to the PutS3Object
+    And PutFile's success relationship is auto-terminated
 
-    And a s3 server is set up in correspondence with the PutS3Object
+    And an s3 server is set up in correspondence with the PutS3Object
 
     When both instances start up
 
-    Then a flowfile with the content "test" is placed in the monitored 
directory in less than 60 seconds
+    Then there is a single file with "LH_O#L|FD<FASD{FO#@$#$%^ 
\"#\"$L%:\"@#$L\":test_data#$#%#$%?{\"F{" content in the "/tmp/output" 
directory in less than 20 sec
     And the object on the s3 server is "LH_O#L|FD<FASD{FO#@$#$%^ 
\"#\"$L%:\"@#$L\":test_data#$#%#$%?{\"F{"
     And the object content type on the s3 server is "application/octet-stream" 
and the object metadata matches use metadata
     And the Minifi logs contain the following message: "in a single upload" in 
less than 10 seconds
 
   Scenario: A MiNiFi instance transfers encoded data through a http proxy to s3
     Given a GetFile processor with the "Input Directory" property set to 
"/tmp/input"
-    And a file with the content "LH_O#L|FD<FASD{FO#@$#$%^ 
\"#\"$L%:\"@#$L\":test_data#$#%#$%?{\"F{" is present in "/tmp/input"
+    And a directory at "/tmp/input" has a file with the content 
"LH_O#L|FD<FASD{FO#@$#$%^ \"#\"$L%:\"@#$L\":test_data#$#%#$%?{\"F{"
     And a PutS3Object processor set up to communicate with an s3 server
-    And these processor properties are set to match the http proxy:
-    | processor name  | property name  | property value                  |
-    | PutS3Object     | Proxy Host     | http-proxy-${feature_id}        |
-    | PutS3Object     | Proxy Port     | 3128                            |
-    | PutS3Object     | Proxy Username | admin                           |
-    | PutS3Object     | Proxy Password | test101                         |
+    And these processor properties are set
+      | processor name  | property name  | property value                  |
+      | PutS3Object     | Proxy Host     | http-proxy-s3-1                 |
+      | PutS3Object     | Proxy Port     | 3128                            |
+      | PutS3Object     | Proxy Username | admin                           |
+      | PutS3Object     | Proxy Password | test101                         |
     And a PutFile processor with the "Directory" property set to "/tmp/output"
     And the "success" relationship of the GetFile processor is connected to 
the PutS3Object
     And the "success" relationship of the PutS3Object processor is connected 
to the PutFile
+    And the "failure" relationship of the PutS3Object processor is connected 
to the PutS3Object
+    And PutFile's success relationship is auto-terminated
 
     And a s3 server is set up in correspondence with the PutS3Object
     And the http proxy server is set up
     When all instances start up
 
-    Then a flowfile with the content "test" is placed in the monitored 
directory in less than 60 seconds
+    Then there is a single file with "LH_O#L|FD<FASD{FO#@$#$%^ 
\"#\"$L%:\"@#$L\":test_data#$#%#$%?{\"F{" content in the "/tmp/output" 
directory in less than 20 sec

Review Comment:
   Multiple inconsistent time unit abbreviations: should be 'seconds' instead 
of 'sec' to match other test files.



##########
extensions/aws/tests/features/s3.feature:
##########
@@ -111,83 +96,88 @@ Feature: Sending data from MiNiFi-C++ to an AWS server
 
     When both instances start up
 
-    Then a flowfile with the content "test" is placed in the monitored 
directory in less than 60 seconds
-    And the object bucket on the s3 server is empty
+    Then there is a single file with "test" content in the "/tmp/output" 
directory in less than 20 sec
+    And the object bucket on the s3 server is empty in less than 10 seconds
 
   Scenario: Deletion of a s3 object through a proxy-server succeeds
     Given a GetFile processor with the "Input Directory" property set to 
"/tmp/input"
-    And a file with the content "LH_O#L|FD<FASD{FO#@$#$%^ 
\"#\"$L%:\"@#$L\":test_data#$#%#$%?{\"F{" is present in "/tmp/input"
+    And a directory at "/tmp/input" has a file with the content 
"LH_O#L|FD<FASD{FO#@$#$%^ \"#\"$L%:\"@#$L\":test_data#$#%#$%?{\"F{"
     And a PutS3Object processor set up to communicate with an s3 server
     And a DeleteS3Object processor set up to communicate with the same s3 
server
     And a PutFile processor with the "Directory" property set to "/tmp/output"
-    And these processor properties are set to match the http proxy:
+    And these processor properties are set
       | processor name  | property name  | property value                  |
-      | DeleteS3Object  | Proxy Host     | http-proxy-${feature_id}        |
+      | DeleteS3Object  | Proxy Host     | http-proxy-s3-4                 |
       | DeleteS3Object  | Proxy Port     | 3128                            |
       | DeleteS3Object  | Proxy Username | admin                           |
       | DeleteS3Object  | Proxy Password | test101                         |
-    And the processors are connected up as described here:
+    And the processors are connected up as described here
       | source name    | relationship name | destination name |
       | GetFile        | success           | PutS3Object      |
+      | PutS3Object    | failure           | PutS3Object      |
       | PutS3Object    | success           | DeleteS3Object   |
       | DeleteS3Object | success           | PutFile          |
+      | PutFile        | success           | auto-terminated  |
 
     And a s3 server is set up in correspondence with the PutS3Object
     And the http proxy server is set up
 
     When all instances start up
 
-    Then a flowfile with the content "test" is placed in the monitored 
directory in less than 60 seconds
-    And the object bucket on the s3 server is empty
-    And no errors were generated on the http-proxy regarding 
"http://s3-server-${feature_id}:9090/test_bucket/test_object_key";
+    Then there is a single file with "LH_O#L|FD<FASD{FO#@$#$%^ 
\"#\"$L%:\"@#$L\":test_data#$#%#$%?{\"F{" content in the "/tmp/output" 
directory in less than 20 sec
+    And the object bucket on the s3 server is empty in less than 10 seconds
+    And no errors were generated on the http-proxy regarding 
"http://s3-server-s3-4:9090/test_bucket/test_object_key";
 
   Scenario: A MiNiFi instance can download s3 bucket objects directly
     Given a GetFile processor with the "Input Directory" property set to 
"/tmp/input"
-    And a file with the content "test" is present in "/tmp/input"
+    And a directory at "/tmp/input" has a file with the content "test"
     And a PutS3Object processor set up to communicate with an s3 server
-    And the "success" relationship of the GetFile processor is connected to 
the PutS3Object
-
-    Given a GenerateFlowFile processor with the "File Size" property set to "1 
kB" in a "secondary" flow
+    And a GenerateFlowFile processor with the "File Size" property set to "1 
kB"
     And a FetchS3Object processor set up to communicate with the same s3 server
     And a PutFile processor with the "Directory" property set to "/tmp/output"
-    And the processors are connected up as described here:
+    And the processors are connected up as described here
       | source name      | relationship name | destination name |
       | GenerateFlowFile | success           | FetchS3Object    |
       | FetchS3Object    | success           | PutFile          |
+      | PutFile          | success           | auto-terminated  |
+      | PutFile          | failure           | auto-terminated  |
+      | GetFile          | success           | PutS3Object      |
+      | PutS3Object      | success           | auto-terminated  |
+      | PutS3Object      | failure           | PutS3Object      |
 
     And a s3 server is set up in correspondence with the PutS3Object
 
     When all instances start up
 
-    Then a flowfile with the content "test" is placed in the monitored 
directory in less than 60 seconds
+    Then there is a single file with "test" content in the "/tmp/output" 
directory in less than 20 sec
 
   Scenario: A MiNiFi instance can download s3 bucket objects via a http-proxy
     Given a GetFile processor with the "Input Directory" property set to 
"/tmp/input"
-    And a file with the content "test" is present in "/tmp/input"
+    And a directory at "/tmp/input" has a file with the content "test"
     And a PutS3Object processor set up to communicate with an s3 server
     And the "success" relationship of the GetFile processor is connected to 
the PutS3Object
 
-    Given a GenerateFlowFile processor with the "File Size" property set to "1 
kB" in a "secondary" flow
+    Given a GenerateFlowFile processor with the "File Size" property set to "1 
kB"
     And a FetchS3Object processor set up to communicate with the same s3 server
-    And these processor properties are set to match the http proxy:
+    And these processor properties are set
       | processor name | property name  | property value                  |
-      | FetchS3Object  | Proxy Host     | http-proxy-${feature_id}        |
+      | FetchS3Object  | Proxy Host     | http-proxy-s3-6                 |
       | FetchS3Object  | Proxy Port     | 3128                            |
       | FetchS3Object  | Proxy Username | admin                           |
       | FetchS3Object  | Proxy Password | test101                         |
     And a PutFile processor with the "Directory" property set to "/tmp/output"
-    And the processors are connected up as described here:
+    And the processors are connected up as described here
       | source name      | relationship name | destination name |
       | GenerateFlowFile | success           | FetchS3Object    |
       | FetchS3Object    | success           | PutFile          |
 
     And a s3 server is set up in correspondence with the PutS3Object
-    And a http proxy server is set up accordingly
+    And the http proxy server is set up
 
     When all instances start up
 
-    Then a flowfile with the content "test" is placed in the monitored 
directory in less than 60 seconds
-    And no errors were generated on the http-proxy regarding 
"http://s3-server-${feature_id}:9090/test_bucket/test_object_key";
+    Then there is a single file with "test" content in the "/tmp/output" 
directory in less than 20 sec

Review Comment:
   Multiple inconsistent time unit abbreviations: should be 'seconds' instead 
of 'sec' to match other test files.



##########
extensions/aws/tests/features/s3.feature:
##########
@@ -268,7 +260,7 @@ Feature: Sending data from MiNiFi-C++ to an AWS server
     And the http proxy server is set up
     When all instances start up
 
-    Then 1 flowfile is placed in the monitored directory in 120 seconds
+    Then there is 1 file in the "/tmp/output" directory in less than 20 sec

Review Comment:
   Multiple inconsistent time unit abbreviations: should be 'seconds' instead 
of 'sec' to match other test files.
   ```suggestion
       Then there is 1 file in the "/tmp/output" directory in less than 20 
seconds
   ```



##########
extensions/sql/tests/features/sql.feature:
##########
@@ -29,13 +26,13 @@ Feature: Executing SQL operations from MiNiFi-C++
     And the "success" relationship of the GenerateFlowFile processor is 
connected to the UpdateAttribute
     And the "success" relationship of the UpdateAttribute processor is 
connected to the PutSQL
     And an ODBCService is setup up for PutSQL with the name "ODBCService"
-    And a PostgreSQL server is set up
+    And PutSQL's success relationship is auto-terminated
+    And a PostgresSQL server is set up

Review Comment:
   Inconsistent naming: 'PostgresSQL' should be 'PostgreSQL' (standard name for 
the database).



##########
extensions/sql/tests/features/sql.feature:
##########
@@ -61,9 +58,9 @@ Feature: Executing SQL operations from MiNiFi-C++
     And the "success" relationship of the UpdateAttribute processor is 
connected to the ExecuteSQL
     And the "success" relationship of the ExecuteSQL processor is connected to 
the PutFile
     And an ODBCService is setup up for ExecuteSQL with the name "ODBCService"
-    And a PostgreSQL server is set up
+    And a PostgresSQL server is set up

Review Comment:
   Inconsistent naming: 'PostgresSQL' should be 'PostgreSQL' (standard name for 
the database).



##########
extensions/aws/tests/features/s3.feature:
##########
@@ -199,64 +189,66 @@ Feature: Sending data from MiNiFi-C++ to an AWS server
     And the "Object Key" property of the PutS3Object processor is set to 
"${filename}"
     And the "success" relationship of the GetFile processor is connected to 
the PutS3Object
 
-    Given a ListS3 processor in the "secondary" flow
+    Given a ListS3 processor set up to communicate with the same s3 server
     And a PutFile processor with the "Directory" property set to "/tmp/output"
     And the "success" relationship of the ListS3 processor is connected to the 
PutFile
 
     And a s3 server is set up in correspondence with the PutS3Object
 
     When all instances start up
 
-    Then 2 flowfiles are placed in the monitored directory in 120 seconds
+    Then there are 2 files in the "/tmp/output" directory in less than 20 sec
 
   Scenario: A MiNiFi instance can list an S3 bucket objects via a http-proxy
     Given a GetFile processor with the "Input Directory" property set to 
"/tmp/input"
-    And a file with the content "test" is present in "/tmp/input"
+    And a directory at "/tmp/input" has a file with the content "test"
     And a PutS3Object processor set up to communicate with an s3 server
     And the "success" relationship of the GetFile processor is connected to 
the PutS3Object
 
-    Given a ListS3 processor in the "secondary" flow
-    And these processor properties are set to match the http proxy:
+    Given a ListS3 processor set up to communicate with the same s3 server
+    And these processor properties are set
       | processor name | property name  | property value                  |
-      | ListS3         | Proxy Host     | http-proxy-${feature_id}        |
+      | ListS3         | Proxy Host     | http-proxy-s3-8                 |
       | ListS3         | Proxy Port     | 3128                            |
       | ListS3         | Proxy Username | admin                           |
       | ListS3         | Proxy Password | test101                         |
     And a PutFile processor with the "Directory" property set to "/tmp/output"
     And the "success" relationship of the ListS3 processor is connected to the 
PutFile
 
     And a s3 server is set up in correspondence with the PutS3Object
-    And a http proxy server is set up accordingly
+    And the http proxy server is set up
 
     When all instances start up
 
-    Then 1 flowfile is placed in the monitored directory in 120 seconds
-    And no errors were generated on the http-proxy regarding 
"http://s3-server-${feature_id}:9090/test_bucket";
+    Then there is 1 file in the "/tmp/output" directory in less than 20 sec

Review Comment:
   Multiple inconsistent time unit abbreviations: should be 'seconds' instead 
of 'sec' to match other test files.
   ```suggestion
       Then there is 1 file in the "/tmp/output" directory in less than 20 
seconds
   ```



##########
extensions/aws/tests/features/s3.feature:
##########
@@ -111,83 +96,88 @@ Feature: Sending data from MiNiFi-C++ to an AWS server
 
     When both instances start up
 
-    Then a flowfile with the content "test" is placed in the monitored 
directory in less than 60 seconds
-    And the object bucket on the s3 server is empty
+    Then there is a single file with "test" content in the "/tmp/output" 
directory in less than 20 sec
+    And the object bucket on the s3 server is empty in less than 10 seconds
 
   Scenario: Deletion of a s3 object through a proxy-server succeeds
     Given a GetFile processor with the "Input Directory" property set to 
"/tmp/input"
-    And a file with the content "LH_O#L|FD<FASD{FO#@$#$%^ 
\"#\"$L%:\"@#$L\":test_data#$#%#$%?{\"F{" is present in "/tmp/input"
+    And a directory at "/tmp/input" has a file with the content 
"LH_O#L|FD<FASD{FO#@$#$%^ \"#\"$L%:\"@#$L\":test_data#$#%#$%?{\"F{"
     And a PutS3Object processor set up to communicate with an s3 server
     And a DeleteS3Object processor set up to communicate with the same s3 
server
     And a PutFile processor with the "Directory" property set to "/tmp/output"
-    And these processor properties are set to match the http proxy:
+    And these processor properties are set
       | processor name  | property name  | property value                  |
-      | DeleteS3Object  | Proxy Host     | http-proxy-${feature_id}        |
+      | DeleteS3Object  | Proxy Host     | http-proxy-s3-4                 |
       | DeleteS3Object  | Proxy Port     | 3128                            |
       | DeleteS3Object  | Proxy Username | admin                           |
       | DeleteS3Object  | Proxy Password | test101                         |
-    And the processors are connected up as described here:
+    And the processors are connected up as described here
       | source name    | relationship name | destination name |
       | GetFile        | success           | PutS3Object      |
+      | PutS3Object    | failure           | PutS3Object      |
       | PutS3Object    | success           | DeleteS3Object   |
       | DeleteS3Object | success           | PutFile          |
+      | PutFile        | success           | auto-terminated  |
 
     And a s3 server is set up in correspondence with the PutS3Object
     And the http proxy server is set up
 
     When all instances start up
 
-    Then a flowfile with the content "test" is placed in the monitored 
directory in less than 60 seconds
-    And the object bucket on the s3 server is empty
-    And no errors were generated on the http-proxy regarding 
"http://s3-server-${feature_id}:9090/test_bucket/test_object_key";
+    Then there is a single file with "LH_O#L|FD<FASD{FO#@$#$%^ 
\"#\"$L%:\"@#$L\":test_data#$#%#$%?{\"F{" content in the "/tmp/output" 
directory in less than 20 sec

Review Comment:
   Multiple inconsistent time unit abbreviations: should be 'seconds' instead 
of 'sec' to match other test files.



##########
extensions/aws/tests/features/s3.feature:
##########
@@ -111,83 +96,88 @@ Feature: Sending data from MiNiFi-C++ to an AWS server
 
     When both instances start up
 
-    Then a flowfile with the content "test" is placed in the monitored 
directory in less than 60 seconds
-    And the object bucket on the s3 server is empty
+    Then there is a single file with "test" content in the "/tmp/output" 
directory in less than 20 sec
+    And the object bucket on the s3 server is empty in less than 10 seconds
 
   Scenario: Deletion of a s3 object through a proxy-server succeeds
     Given a GetFile processor with the "Input Directory" property set to 
"/tmp/input"
-    And a file with the content "LH_O#L|FD<FASD{FO#@$#$%^ 
\"#\"$L%:\"@#$L\":test_data#$#%#$%?{\"F{" is present in "/tmp/input"
+    And a directory at "/tmp/input" has a file with the content 
"LH_O#L|FD<FASD{FO#@$#$%^ \"#\"$L%:\"@#$L\":test_data#$#%#$%?{\"F{"
     And a PutS3Object processor set up to communicate with an s3 server
     And a DeleteS3Object processor set up to communicate with the same s3 
server
     And a PutFile processor with the "Directory" property set to "/tmp/output"
-    And these processor properties are set to match the http proxy:
+    And these processor properties are set
       | processor name  | property name  | property value                  |
-      | DeleteS3Object  | Proxy Host     | http-proxy-${feature_id}        |
+      | DeleteS3Object  | Proxy Host     | http-proxy-s3-4                 |
       | DeleteS3Object  | Proxy Port     | 3128                            |
       | DeleteS3Object  | Proxy Username | admin                           |
       | DeleteS3Object  | Proxy Password | test101                         |
-    And the processors are connected up as described here:
+    And the processors are connected up as described here
       | source name    | relationship name | destination name |
       | GetFile        | success           | PutS3Object      |
+      | PutS3Object    | failure           | PutS3Object      |
       | PutS3Object    | success           | DeleteS3Object   |
       | DeleteS3Object | success           | PutFile          |
+      | PutFile        | success           | auto-terminated  |
 
     And a s3 server is set up in correspondence with the PutS3Object
     And the http proxy server is set up
 
     When all instances start up
 
-    Then a flowfile with the content "test" is placed in the monitored 
directory in less than 60 seconds
-    And the object bucket on the s3 server is empty
-    And no errors were generated on the http-proxy regarding 
"http://s3-server-${feature_id}:9090/test_bucket/test_object_key";
+    Then there is a single file with "LH_O#L|FD<FASD{FO#@$#$%^ 
\"#\"$L%:\"@#$L\":test_data#$#%#$%?{\"F{" content in the "/tmp/output" 
directory in less than 20 sec
+    And the object bucket on the s3 server is empty in less than 10 seconds
+    And no errors were generated on the http-proxy regarding 
"http://s3-server-s3-4:9090/test_bucket/test_object_key";
 
   Scenario: A MiNiFi instance can download s3 bucket objects directly
     Given a GetFile processor with the "Input Directory" property set to 
"/tmp/input"
-    And a file with the content "test" is present in "/tmp/input"
+    And a directory at "/tmp/input" has a file with the content "test"
     And a PutS3Object processor set up to communicate with an s3 server
-    And the "success" relationship of the GetFile processor is connected to 
the PutS3Object
-
-    Given a GenerateFlowFile processor with the "File Size" property set to "1 
kB" in a "secondary" flow
+    And a GenerateFlowFile processor with the "File Size" property set to "1 
kB"
     And a FetchS3Object processor set up to communicate with the same s3 server
     And a PutFile processor with the "Directory" property set to "/tmp/output"
-    And the processors are connected up as described here:
+    And the processors are connected up as described here
       | source name      | relationship name | destination name |
       | GenerateFlowFile | success           | FetchS3Object    |
       | FetchS3Object    | success           | PutFile          |
+      | PutFile          | success           | auto-terminated  |
+      | PutFile          | failure           | auto-terminated  |
+      | GetFile          | success           | PutS3Object      |
+      | PutS3Object      | success           | auto-terminated  |
+      | PutS3Object      | failure           | PutS3Object      |
 
     And a s3 server is set up in correspondence with the PutS3Object
 
     When all instances start up
 
-    Then a flowfile with the content "test" is placed in the monitored 
directory in less than 60 seconds
+    Then there is a single file with "test" content in the "/tmp/output" 
directory in less than 20 sec

Review Comment:
   Multiple inconsistent time unit abbreviations: should be 'seconds' instead 
of 'sec' to match other test files.



##########
extensions/aws/tests/features/s3.feature:
##########
@@ -19,89 +19,74 @@ Feature: Sending data from MiNiFi-C++ to an AWS server
   As a user of MiNiFi
   I need to have PutS3Object and DeleteS3Object processors
 
-  Background:
-    Given the content of "/tmp/output" is monitored
-
   Scenario: A MiNiFi instance transfers encoded data to s3
     Given a GetFile processor with the "Input Directory" property set to 
"/tmp/input"
-    And a file with the content "LH_O#L|FD<FASD{FO#@$#$%^ 
\"#\"$L%:\"@#$L\":test_data#$#%#$%?{\"F{" is present in "/tmp/input"
-    And a PutS3Object processor set up to communicate with an s3 server
-    And a PutFile processor with the "Directory" property set to "/tmp/output"
-    And the "success" relationship of the GetFile processor is connected to 
the PutS3Object
-    And the "success" relationship of the PutS3Object processor is connected 
to the PutFile
-
-    And a s3 server is set up in correspondence with the PutS3Object
-
-    When both instances start up
-
-    Then a flowfile with the content "test" is placed in the monitored 
directory in less than 60 seconds
-    And the object on the s3 server is "LH_O#L|FD<FASD{FO#@$#$%^ 
\"#\"$L%:\"@#$L\":test_data#$#%#$%?{\"F{"
-    And the object content type on the s3 server is "application/octet-stream" 
and the object metadata matches use metadata
-    And the Minifi logs contain the following message: "in a single upload" in 
less than 10 seconds
-
-  Scenario: A MiNiFi instance transfers encoded data to s3 in FIPS mode
-    Given OpenSSL FIPS mode is enabled in MiNiFi
-    And a GetFile processor with the "Input Directory" property set to 
"/tmp/input"
-    And a file with the content "LH_O#L|FD<FASD{FO#@$#$%^ 
\"#\"$L%:\"@#$L\":test_data#$#%#$%?{\"F{" is present in "/tmp/input"
+    And a directory at "/tmp/input" has a file with the content 
"LH_O#L|FD<FASD{FO#@$#$%^ \"#\"$L%:\"@#$L\":test_data#$#%#$%?{\"F{"
     And a PutS3Object processor set up to communicate with an s3 server
     And a PutFile processor with the "Directory" property set to "/tmp/output"
     And the "success" relationship of the GetFile processor is connected to 
the PutS3Object
     And the "success" relationship of the PutS3Object processor is connected 
to the PutFile
+    And the "failure" relationship of the PutS3Object processor is connected 
to the PutS3Object
+    And PutFile's success relationship is auto-terminated
 
-    And a s3 server is set up in correspondence with the PutS3Object
+    And an s3 server is set up in correspondence with the PutS3Object
 
     When both instances start up
 
-    Then a flowfile with the content "test" is placed in the monitored 
directory in less than 60 seconds
+    Then there is a single file with "LH_O#L|FD<FASD{FO#@$#$%^ 
\"#\"$L%:\"@#$L\":test_data#$#%#$%?{\"F{" content in the "/tmp/output" 
directory in less than 20 sec

Review Comment:
   Inconsistent time unit abbreviation: should be 'seconds' instead of 'sec' to 
match other test files.
   ```suggestion
       Then there is a single file with "LH_O#L|FD<FASD{FO#@$#$%^ 
\"#\"$L%:\"@#$L\":test_data#$#%#$%?{\"F{" content in the "/tmp/output" 
directory in less than 20 seconds
   ```



##########
extensions/aws/tests/features/s3.feature:
##########
@@ -199,64 +189,66 @@ Feature: Sending data from MiNiFi-C++ to an AWS server
     And the "Object Key" property of the PutS3Object processor is set to 
"${filename}"
     And the "success" relationship of the GetFile processor is connected to 
the PutS3Object
 
-    Given a ListS3 processor in the "secondary" flow
+    Given a ListS3 processor set up to communicate with the same s3 server
     And a PutFile processor with the "Directory" property set to "/tmp/output"
     And the "success" relationship of the ListS3 processor is connected to the 
PutFile
 
     And a s3 server is set up in correspondence with the PutS3Object
 
     When all instances start up
 
-    Then 2 flowfiles are placed in the monitored directory in 120 seconds
+    Then there are 2 files in the "/tmp/output" directory in less than 20 sec

Review Comment:
   Multiple inconsistent time unit abbreviations: should be 'seconds' instead 
of 'sec' to match other test files.



##########
extensions/aws/tests/features/s3.feature:
##########
@@ -19,89 +19,74 @@ Feature: Sending data from MiNiFi-C++ to an AWS server
   As a user of MiNiFi
   I need to have PutS3Object and DeleteS3Object processors
 
-  Background:
-    Given the content of "/tmp/output" is monitored
-
   Scenario: A MiNiFi instance transfers encoded data to s3
     Given a GetFile processor with the "Input Directory" property set to 
"/tmp/input"
-    And a file with the content "LH_O#L|FD<FASD{FO#@$#$%^ 
\"#\"$L%:\"@#$L\":test_data#$#%#$%?{\"F{" is present in "/tmp/input"
-    And a PutS3Object processor set up to communicate with an s3 server
-    And a PutFile processor with the "Directory" property set to "/tmp/output"
-    And the "success" relationship of the GetFile processor is connected to 
the PutS3Object
-    And the "success" relationship of the PutS3Object processor is connected 
to the PutFile
-
-    And a s3 server is set up in correspondence with the PutS3Object
-
-    When both instances start up
-
-    Then a flowfile with the content "test" is placed in the monitored 
directory in less than 60 seconds
-    And the object on the s3 server is "LH_O#L|FD<FASD{FO#@$#$%^ 
\"#\"$L%:\"@#$L\":test_data#$#%#$%?{\"F{"
-    And the object content type on the s3 server is "application/octet-stream" 
and the object metadata matches use metadata
-    And the Minifi logs contain the following message: "in a single upload" in 
less than 10 seconds
-
-  Scenario: A MiNiFi instance transfers encoded data to s3 in FIPS mode
-    Given OpenSSL FIPS mode is enabled in MiNiFi
-    And a GetFile processor with the "Input Directory" property set to 
"/tmp/input"
-    And a file with the content "LH_O#L|FD<FASD{FO#@$#$%^ 
\"#\"$L%:\"@#$L\":test_data#$#%#$%?{\"F{" is present in "/tmp/input"
+    And a directory at "/tmp/input" has a file with the content 
"LH_O#L|FD<FASD{FO#@$#$%^ \"#\"$L%:\"@#$L\":test_data#$#%#$%?{\"F{"
     And a PutS3Object processor set up to communicate with an s3 server
     And a PutFile processor with the "Directory" property set to "/tmp/output"
     And the "success" relationship of the GetFile processor is connected to 
the PutS3Object
     And the "success" relationship of the PutS3Object processor is connected 
to the PutFile
+    And the "failure" relationship of the PutS3Object processor is connected 
to the PutS3Object
+    And PutFile's success relationship is auto-terminated
 
-    And a s3 server is set up in correspondence with the PutS3Object
+    And an s3 server is set up in correspondence with the PutS3Object
 
     When both instances start up
 
-    Then a flowfile with the content "test" is placed in the monitored 
directory in less than 60 seconds
+    Then there is a single file with "LH_O#L|FD<FASD{FO#@$#$%^ 
\"#\"$L%:\"@#$L\":test_data#$#%#$%?{\"F{" content in the "/tmp/output" 
directory in less than 20 sec
     And the object on the s3 server is "LH_O#L|FD<FASD{FO#@$#$%^ 
\"#\"$L%:\"@#$L\":test_data#$#%#$%?{\"F{"
     And the object content type on the s3 server is "application/octet-stream" 
and the object metadata matches use metadata
     And the Minifi logs contain the following message: "in a single upload" in 
less than 10 seconds
 
   Scenario: A MiNiFi instance transfers encoded data through a http proxy to s3
     Given a GetFile processor with the "Input Directory" property set to 
"/tmp/input"
-    And a file with the content "LH_O#L|FD<FASD{FO#@$#$%^ 
\"#\"$L%:\"@#$L\":test_data#$#%#$%?{\"F{" is present in "/tmp/input"
+    And a directory at "/tmp/input" has a file with the content 
"LH_O#L|FD<FASD{FO#@$#$%^ \"#\"$L%:\"@#$L\":test_data#$#%#$%?{\"F{"
     And a PutS3Object processor set up to communicate with an s3 server
-    And these processor properties are set to match the http proxy:
-    | processor name  | property name  | property value                  |
-    | PutS3Object     | Proxy Host     | http-proxy-${feature_id}        |
-    | PutS3Object     | Proxy Port     | 3128                            |
-    | PutS3Object     | Proxy Username | admin                           |
-    | PutS3Object     | Proxy Password | test101                         |
+    And these processor properties are set
+      | processor name  | property name  | property value                  |
+      | PutS3Object     | Proxy Host     | http-proxy-s3-1                 |
+      | PutS3Object     | Proxy Port     | 3128                            |
+      | PutS3Object     | Proxy Username | admin                           |
+      | PutS3Object     | Proxy Password | test101                         |
     And a PutFile processor with the "Directory" property set to "/tmp/output"
     And the "success" relationship of the GetFile processor is connected to 
the PutS3Object
     And the "success" relationship of the PutS3Object processor is connected 
to the PutFile
+    And the "failure" relationship of the PutS3Object processor is connected 
to the PutS3Object
+    And PutFile's success relationship is auto-terminated
 
     And a s3 server is set up in correspondence with the PutS3Object
     And the http proxy server is set up
     When all instances start up
 
-    Then a flowfile with the content "test" is placed in the monitored 
directory in less than 60 seconds
+    Then there is a single file with "LH_O#L|FD<FASD{FO#@$#$%^ 
\"#\"$L%:\"@#$L\":test_data#$#%#$%?{\"F{" content in the "/tmp/output" 
directory in less than 20 sec
     And the object on the s3 server is "LH_O#L|FD<FASD{FO#@$#$%^ 
\"#\"$L%:\"@#$L\":test_data#$#%#$%?{\"F{"
     And the object content type on the s3 server is "application/octet-stream" 
and the object metadata matches use metadata
-    And no errors were generated on the http-proxy regarding 
"http://s3-server-${feature_id}:9090/test_bucket/test_object_key";
+    And no errors were generated on the http-proxy regarding 
"http://s3-server-s3-1:9090/test_bucket/test_object_key";
 
   Scenario: A MiNiFi instance can remove s3 bucket objects
     Given a GetFile processor with the "Input Directory" property set to 
"/tmp/input"
-    And a file with the content "LH_O#L|FD<FASD{FO#@$#$%^ 
\"#\"$L%:\"@#$L\":test_data#$#%#$%?{\"F{" is present in "/tmp/input"
+    And a directory at "/tmp/input" has a file with the content 
"LH_O#L|FD<FASD{FO#@$#$%^ \"#\"$L%:\"@#$L\":test_data#$#%#$%?{\"F{"
     And a PutS3Object processor set up to communicate with an s3 server
     And a DeleteS3Object processor set up to communicate with the same s3 
server
     And a PutFile processor with the "Directory" property set to "/tmp/output"
-    And the processors are connected up as described here:
+    And the processors are connected up as described here
       | source name    | relationship name | destination name |
       | GetFile        | success           | PutS3Object      |
       | PutS3Object    | success           | DeleteS3Object   |
+      | PutS3Object    | failure           | PutS3Object      |
       | DeleteS3Object | success           | PutFile          |
+      | PutFile        | success           | auto-terminated  |
 
     And a s3 server is set up in correspondence with the PutS3Object
 
     When both instances start up
 
-    Then a flowfile with the content "test" is placed in the monitored 
directory in less than 60 seconds
-    And the object bucket on the s3 server is empty
+    Then there is a single file with "LH_O#L|FD<FASD{FO#@$#$%^ 
\"#\"$L%:\"@#$L\":test_data#$#%#$%?{\"F{" content in the "/tmp/output" 
directory in less than 20 sec

Review Comment:
   Multiple inconsistent time unit abbreviations: should be 'seconds' instead 
of 'sec' to match other test files.



##########
extensions/sql/tests/features/sql.feature:
##########
@@ -73,9 +70,10 @@ Feature: Executing SQL operations from MiNiFi-C++
     And a PutFile processor with the "Directory" property set to "/tmp/output"
     And the "success" relationship of the QueryDatabaseTable processor is 
connected to the PutFile
     And an ODBCService is setup up for QueryDatabaseTable with the name 
"ODBCService"
-    And a PostgreSQL server is set up
+    And a PostgresSQL server is set up

Review Comment:
   Inconsistent naming: 'PostgresSQL' should be 'PostgreSQL' (standard name for 
the database).



##########
extensions/aws/tests/features/s3.feature:
##########
@@ -199,64 +189,66 @@ Feature: Sending data from MiNiFi-C++ to an AWS server
     And the "Object Key" property of the PutS3Object processor is set to 
"${filename}"
     And the "success" relationship of the GetFile processor is connected to 
the PutS3Object
 
-    Given a ListS3 processor in the "secondary" flow
+    Given a ListS3 processor set up to communicate with the same s3 server
     And a PutFile processor with the "Directory" property set to "/tmp/output"
     And the "success" relationship of the ListS3 processor is connected to the 
PutFile
 
     And a s3 server is set up in correspondence with the PutS3Object
 
     When all instances start up
 
-    Then 2 flowfiles are placed in the monitored directory in 120 seconds
+    Then there are 2 files in the "/tmp/output" directory in less than 20 sec
 
   Scenario: A MiNiFi instance can list an S3 bucket objects via a http-proxy
     Given a GetFile processor with the "Input Directory" property set to 
"/tmp/input"
-    And a file with the content "test" is present in "/tmp/input"
+    And a directory at "/tmp/input" has a file with the content "test"
     And a PutS3Object processor set up to communicate with an s3 server
     And the "success" relationship of the GetFile processor is connected to 
the PutS3Object
 
-    Given a ListS3 processor in the "secondary" flow
-    And these processor properties are set to match the http proxy:
+    Given a ListS3 processor set up to communicate with the same s3 server
+    And these processor properties are set
       | processor name | property name  | property value                  |
-      | ListS3         | Proxy Host     | http-proxy-${feature_id}        |
+      | ListS3         | Proxy Host     | http-proxy-s3-8                 |
       | ListS3         | Proxy Port     | 3128                            |
       | ListS3         | Proxy Username | admin                           |
       | ListS3         | Proxy Password | test101                         |
     And a PutFile processor with the "Directory" property set to "/tmp/output"
     And the "success" relationship of the ListS3 processor is connected to the 
PutFile
 
     And a s3 server is set up in correspondence with the PutS3Object
-    And a http proxy server is set up accordingly
+    And the http proxy server is set up
 
     When all instances start up
 
-    Then 1 flowfile is placed in the monitored directory in 120 seconds
-    And no errors were generated on the http-proxy regarding 
"http://s3-server-${feature_id}:9090/test_bucket";
+    Then there is 1 file in the "/tmp/output" directory in less than 20 sec
+    And no errors were generated on the http-proxy regarding 
"http://s3-server-s3-8:9090/test_bucket";
 
   Scenario: A MiNiFi instance transfers data in multiple parts to s3
     Given a GetFile processor with the "Input Directory" property set to 
"/tmp/input"
-    And a file of size 16MB is present in "/tmp/input"
+    And there is a 6MB file at the "/tmp/input" directory and we keep track of 
the hash of that
     And a PutS3Object processor set up to communicate with an s3 server
     And the "Multipart Threshold" property of the PutS3Object processor is set 
to "5 MB"
     And the "Multipart Part Size" property of the PutS3Object processor is set 
to "5 MB"
     And the "success" relationship of the GetFile processor is connected to 
the PutS3Object
     And a PutFile processor with the "Directory" property set to "/tmp/output"
     And the "success" relationship of the PutS3Object processor is connected 
to the PutFile
     And a s3 server is set up in correspondence with the PutS3Object
+
     When all instances start up
-    Then 1 flowfile is placed in the monitored directory in 120 seconds
+
+    Then there is 1 file in the "/tmp/output" directory in less than 20 sec

Review Comment:
   Multiple inconsistent time unit abbreviations: should be 'seconds' instead 
of 'sec' to match other test files.
   ```suggestion
       Then there is 1 file in the "/tmp/output" directory in less than 20 
seconds
   ```



##########
extensions/sql/tests/features/sql.feature:
##########
@@ -45,9 +42,9 @@ Feature: Executing SQL operations from MiNiFi-C++
     And the "success" relationship of the UpdateAttribute processor is 
connected to the ExecuteSQL
     And the "success" relationship of the ExecuteSQL processor is connected to 
the PutFile
     And an ODBCService is setup up for ExecuteSQL with the name "ODBCService"
-    And a PostgreSQL server is set up
+    And a PostgresSQL server is set up

Review Comment:
   Inconsistent naming: 'PostgresSQL' should be 'PostgreSQL' (standard name for 
the database).
   ```suggestion
       And a PostgreSQL server is set up
   ```



##########
extensions/sql/tests/features/sql.feature:
##########
@@ -85,6 +83,6 @@ Feature: Executing SQL operations from MiNiFi-C++
     And a PutFile processor with the "Directory" property set to "/tmp/output"
     And the "success" relationship of the QueryDatabaseTable processor is 
connected to the PutFile
     And an ODBCService is setup up for QueryDatabaseTable with the name 
"ODBCService"
-    And a PostgreSQL server is set up
+    And a PostgresSQL server is set up

Review Comment:
   Inconsistent naming: 'PostgresSQL' should be 'PostgreSQL' (standard name for 
the database).



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to