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]