[
https://issues.apache.org/jira/browse/MINIFICPP-1479?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Amina Dinari updated MINIFICPP-1479:
------------------------------------
Description:
*Background:*
HashContent is expected to add the hash value of the content of a flowfile to a
flowfile attribute. Currently, neither the unit tests tests for the presence of
such an attribute. The unit tests seem to test for logging and the docker based
integration test only test for the flowfile content being unmodified. The
actual expected behaviour of appending attributes currently seems untested.
*Proposal:*
We should create proper integration tests for HashContent:
{code:python|title=Example feature definition}
Scenario: HashContent adds hash attribute to flowfiles
Given a GetFile processor with the "Input Directory" property set to
"/tmp/input"
And a file with the content <content> is present in "/tmp/input"
And a HashContent processor with the "Hash Attribute" property set to "hash"
And the "Hash Algorithm" of the HashContent processor is set to
"<hash_algorithm>"
And a PutFile processor with the "Directory" property set to "/tmp/output"
And the "success" relationship of the GetFile processor is connected to the
HashContent
And the "success" relationship of the HashContent processor is connected to
the PutFile
When the MiNiFi instance starts up
Then a flowfile with the content <content> is placed in the monitored
directory in less than 10 seconds
And the flowfile has an attribute called "hash" set to <hash_value>
Examples:
| content | hash_algorithm | hash_value
|
| "test" | MD5 | 098f6bcd4621d373cade4e832627b4f6
|
| "test" | SHA1 | a94a8fe5ccb19ba61c4c0873d391e987982fbbd3
|
| "test" | SHA256 |
9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08 |
| "coffee" | MD5 | 24eb05d18318ac2db8b2b959315d10f2
|
| "coffee" | SHA1 | 44213f9f4d59b557314fadcd233232eebcac8012
|
| "coffee" | SHA256 |
37290d74ac4d186e3a8e5785d259d2ec04fac91ae28092e7620ec8bc99e830aa |
{code}
Details:
1. In HashContentTest.cpp, HashAlgorithm property was being checked at a point
where FailOnEmpty had to be supposedly checked; thereby giving incorrect
results for the test.
Plan:
1. Read about Behavior Driven Development framework and Python-backed behave
test framework.
was:
*Background:*
HashContent is expected to add the hash value of the content of a flowfile to a
flowfile attribute. Currently, neither the unit tests tests for the presence of
such an attribute. The unit tests seem to test for logging and the docker based
integration test only test for the flowfile content being unmodified. The
actual expected behaviour of appending attributes currently seems untested.
*Proposal:*
We should create proper integration tests for HashContent:
{code:python|title=Example feature definition}
Scenario: HashContent adds hash attribute to flowfiles
Given a GetFile processor with the "Input Directory" property set to
"/tmp/input"
And a file with the content <content> is present in "/tmp/input"
And a HashContent processor with the "Hash Attribute" property set to "hash"
And the "Hash Algorithm" of the HashContent processor is set to
"<hash_algorithm>"
And a PutFile processor with the "Directory" property set to "/tmp/output"
And the "success" relationship of the GetFile processor is connected to the
HashContent
And the "success" relationship of the HashContent processor is connected to
the PutFile
When the MiNiFi instance starts up
Then a flowfile with the content <content> is placed in the monitored
directory in less than 10 seconds
And the flowfile has an attribute called "hash" set to <hash_value>
Examples:
| content | hash_algorithm | hash_value
|
| "test" | MD5 | 098f6bcd4621d373cade4e832627b4f6
|
| "test" | SHA1 | a94a8fe5ccb19ba61c4c0873d391e987982fbbd3
|
| "test" | SHA256 |
9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08 |
| "coffee" | MD5 | 24eb05d18318ac2db8b2b959315d10f2
|
| "coffee" | SHA1 | 44213f9f4d59b557314fadcd233232eebcac8012
|
| "coffee" | SHA256 |
37290d74ac4d186e3a8e5785d259d2ec04fac91ae28092e7620ec8bc99e830aa |
{code}
Details:
1. In HashContentTest.cpp, HashAlgorithm property was being checked at a point
where FailOnEmpty had to be supposedly checked; thereby giving incorrect
results for the test.
> Rework integration tests for HashContent
> ----------------------------------------
>
> Key: MINIFICPP-1479
> URL: https://issues.apache.org/jira/browse/MINIFICPP-1479
> Project: Apache NiFi MiNiFi C++
> Issue Type: Task
> Affects Versions: 0.7.0
> Reporter: Adam Hunyadi
> Assignee: Amina Dinari
> Priority: Minor
> Labels: MiNiFi-CPP-Hygiene
> Fix For: 1.0.0
>
>
> *Background:*
> HashContent is expected to add the hash value of the content of a flowfile to
> a flowfile attribute. Currently, neither the unit tests tests for the
> presence of such an attribute. The unit tests seem to test for logging and
> the docker based integration test only test for the flowfile content being
> unmodified. The actual expected behaviour of appending attributes currently
> seems untested.
> *Proposal:*
> We should create proper integration tests for HashContent:
> {code:python|title=Example feature definition}
> Scenario: HashContent adds hash attribute to flowfiles
> Given a GetFile processor with the "Input Directory" property set to
> "/tmp/input"
> And a file with the content <content> is present in "/tmp/input"
> And a HashContent processor with the "Hash Attribute" property set to
> "hash"
> And the "Hash Algorithm" of the HashContent processor is set to
> "<hash_algorithm>"
> And a PutFile processor with the "Directory" property set to "/tmp/output"
> And the "success" relationship of the GetFile processor is connected to
> the HashContent
> And the "success" relationship of the HashContent processor is connected
> to the PutFile
> When the MiNiFi instance starts up
> Then a flowfile with the content <content> is placed in the monitored
> directory in less than 10 seconds
> And the flowfile has an attribute called "hash" set to <hash_value>
> Examples:
> | content | hash_algorithm | hash_value
> |
> | "test" | MD5 | 098f6bcd4621d373cade4e832627b4f6
> |
> | "test" | SHA1 | a94a8fe5ccb19ba61c4c0873d391e987982fbbd3
> |
> | "test" | SHA256 |
> 9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08 |
> | "coffee" | MD5 | 24eb05d18318ac2db8b2b959315d10f2
> |
> | "coffee" | SHA1 | 44213f9f4d59b557314fadcd233232eebcac8012
> |
> | "coffee" | SHA256 |
> 37290d74ac4d186e3a8e5785d259d2ec04fac91ae28092e7620ec8bc99e830aa |
> {code}
> Details:
> 1. In HashContentTest.cpp, HashAlgorithm property was being checked at a
> point where FailOnEmpty had to be supposedly checked; thereby giving
> incorrect results for the test.
> Plan:
> 1. Read about Behavior Driven Development framework and Python-backed behave
> test framework.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)