[
https://issues.apache.org/jira/browse/MINIFICPP-1479?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ferenc Gerlits updated MINIFICPP-1479:
--------------------------------------
Fix Version/s: (was: 1.0.0)
0.11.0
> 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: 0.11.0
>
> Time Spent: 3h
> Remaining Estimate: 0h
>
> *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 Outline: 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)