[ 
https://issues.apache.org/jira/browse/NIFI-10047?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17763898#comment-17763898
 ] 

Daniel Stieglitz edited comment on NIFI-10047 at 9/11/23 7:59 PM:
------------------------------------------------------------------

[~exceptionfactory] It seems the main class in nifi-toolkit-encrypt-config is
{code:java}
ConfigEncryptionTool.groovy{code}
which is already Groovy itself. Would it's corresponding unit test 
{code:java}
ConfigEncryptionToolTest.groovy{code}
have to be refactored to Java? I noticed there are many cases in that unit test 
where access to properties are exceeding its rights. It would necessitate many 
changes to give properties private package scope. I know this was an issue when 
working NIFI-11873. Please advise. Thanks!


was (Author: JIRAUSER294662):
[~exceptionfactory] It seems the main class in nifi-toolkit-encrypt-config is

 
{code:java}
ConfigEncryptionTool.groovy{code}
 

which is already Groovy itself. Would it's corresponding unit test 
{code:java}
ConfigEncryptionToolTest.groovy{code}
have to be refactored to Java? I noticed there are many cases in that unit test 
where access to properties are exceeding its rights. It would necessitate many 
changes to give properties private package scope. I know this was an issue when 
working NIFI-11873. Please advise. Thanks!

> Refactor Groovy Tests to Java
> -----------------------------
>
>                 Key: NIFI-10047
>                 URL: https://issues.apache.org/jira/browse/NIFI-10047
>             Project: Apache NiFi
>          Issue Type: Epic
>          Components: Core Framework, Extensions, NiFi Registry
>            Reporter: David Handermann
>            Assignee: David Handermann
>            Priority: Minor
>
> A number of component modules include unit tests written in Groovy, while the 
> majority of tests are written in Java. Although Groovy has some advantages 
> for testing in particular, the lack of consistency across the framework 
> presents several maintenance challenges.
> Groovy is similar enough to Java that it is possible to read with minimal 
> effort, but writing idiomatic Groovy requires a greater understanding of the 
> language. Some unit tests have leveraged Groovy to bypass method visibility 
> constraints, which violates standard class and method contracts. Compiling 
> and running tests in Groovy requires additional Maven configuration and 
> plugin execution, which contributes to the overall runtime of continuous 
> integration workflows. Using Java as the standard language for both 
> implementation and tests also makes it easier for contributors to maintain 
> and review changes.
> For these reasons, existing Groovy test classes should be rewritten in Java, 
> with the exception of scripting components.
> Refactoring and rewriting tests should be done in logical groups of work to 
> avoid missing important test functions in the conversion process. Some of the 
> modules with larger numbers of Groovy tests include the following:
> * nifi-toolkit-encrypt-config
> * nifi-toolkit-admin
> * nifi-registry-core
> * nifi-security-utils
> * nifi-elasticsearch-restapi-processors
> * nifi-elasticsearch-client-service
> * nifi-framework-cluster
> * nifi-framework-core
> * nifi-web-api
> * nifi-lookup-services
> * nifi-standard-processors



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to