Adalennis opened a new pull request, #9197:
URL: https://github.com/apache/hop/pull/9197

   Addresses #8970
   
   Twelfth batch: a Result section on the pages of Send SNMP trap, Send Nagios 
passive check, Run pipeline unit tests, Delete execution information and Set 
password encoder.
   
   Every row comes from a hop-run test against the current code (91 workflows: 
a UDP listener for the SNMP traps, a fake NSCA server that answers with the 
init packet and decodes what it receives (and one that never answers), pipeline 
unit tests with golden data sets, File and Caching file execution information 
locations shared by two projects and filled by running a workflow before each 
test). Each action was also run after an action that is true with 2 errors and 
after a false action on an unconditional hop (all pass on true with 0 errors), 
and with a previous result holding files and rows, on success and on failure. 
What the tests show:
   - Send Nagios passive check can't send anything since Hop 2.18: jsendnsca 
needs commons-lang 2 (org.apache.commons.lang.Validate), which was removed from 
Hop's libraries in 8745d6ed87, and the plugin pom excludes all jsendnsca 
dependencies. The workflow stops with NoClassDefFoundError; only an empty Host 
name/IP address or Message still gives false. With commons-lang-2.6.jar added 
to the plugin lib folder everything works (levels, XOR and Triple DES, 
timeouts), and that is what the table describes, with a WARNING about the 
current state.
   - Send SNMP trap: User (SNMP V3) is not kept. The dialog stores the code 
"user", but on load setTargettype() compares it with the description "User 
(SNMP V3)", so it falls back to "community": a workflow run from its file 
always sends an SNMP V1 trap with the community string. Documented as a WARNING.
   - Send SNMP trap doesn't wait for an answer: it is true when nothing listens 
on the port, with an empty server name (local machine), an empty OID or an 
empty message. Only an unresolvable host or an invalid OID make it false.
   - Delete execution information doesn't override isEvaluation(), so a success 
or failure hop from it is never followed (Workflow.isHopFollowed); only an 
unconditional hop is. The result and the metrics are still passed on. 
Documented as a WARNING.
   - Delete execution information, Lines deleted: a File location counts each 
run once (a workflow run with its pipeline, actions and transforms is 6 folders 
and counts 1), a Caching file location counts the workflow and each pipeline 
separately. A Caching file location only deletes the executions of the active 
project, a File location those of every project. On a failure the previous 
value is kept.
   - Set password encoder with an Encoder plugin ID that doesn't exist only 
logs an error in the General log and falls back to the Hop encoder; the action 
is true and logs that it initialized the ID it was given. With AES/AES2 it 
fails only when no key is found at all (named variable, HOP_AES_ENCODER_KEY, 
key file).
   - Run pipeline unit tests runs every test of the list, also after one that 
fails, and counts 1 error; the rows a test pipeline copies to its result are 
not added to the action's result.
   
   Also fixed:
   - Send SNMP trap: target type names (Community (SNMP V1), User (SNMP V3)), 
defaults (port 162, community public), a description for Engine ID; a port that 
is not a number becomes 162.
   - Send Nagios passive check: labels Host name/IP address, Connection 
timeout, Name/ IP host, Service name; default port 5667; what is sent when the 
sender host or service name is empty.
   - Run pipeline unit tests: labels Action name and Names of the tests to 
execute.
   
   Found while testing (not reported yet): Send Nagios passive check missing 
commons-lang 2 since 2.18, Send SNMP trap losing User (SNMP V3) on load, Delete 
execution information never following its success/failure hops, and Set 
password encoder being true for an unknown plugin ID.
   
   ------------------------
   
   Thank you for your contribution! Follow this checklist to help us 
incorporate your contribution quickly and easily:
   - [x] Run `mvn clean install apache-rat:check` to make sure basic checks 
pass. A more thorough check will be performed on your pull request 
automatically.
   - [x] If you have a group of commits related to the same change, please 
squash your commits into one and force push your branch using `git rebase -i`.
   - [x] Mention the appropriate issue in your description (for example: 
`addresses #123`), if applicable.
   
   To make clear that you license your contribution under the [Apache License 
Version 2.0, January 2004](http://www.apache.org/licenses/LICENSE-2.0)
   you have to acknowledge this by using the following check-box.
   
   - [x] I hereby declare this contribution to be licensed under the [Apache 
License Version 2.0, January 2004](http://www.apache.org/licenses/LICENSE-2.0)
   - [ ] In any other case, please file an [Apache Individual Contributor 
License Agreement](https://www.apache.org/licenses/icla.pdf).
   


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