[ 
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)

Reply via email to