This is an automated email from the ASF dual-hosted git repository.

mattyb149 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nifi.git


The following commit(s) were added to refs/heads/master by this push:
     new a9d1dd7  NIFI-6337 Resolved groovy unit test execution problems in 
nifi-properties-loader and fixed failing unit tests.
a9d1dd7 is described below

commit a9d1dd7b08f7d7a9ab7056393e042dc984e817ba
Author: Andy LoPresto <alopre...@apache.org>
AuthorDate: Thu May 30 17:46:12 2019 -0700

    NIFI-6337 Resolved groovy unit test execution problems in 
nifi-properties-loader and fixed failing unit tests.
    
    Signed-off-by: Matthew Burgess <mattyb...@apache.org>
    
    This closes #3508
---
 .../nifi-framework/nifi-properties-loader/pom.xml  | 27 ++++++++++++-
 .../AESSensitivePropertyProviderTest.groovy        | 10 ++---
 .../NiFiPropertiesLoaderGroovyTest.groovy          | 44 +++++++++++-----------
 .../unreadable_bootstrap/bootstrap.conf            |  0
 ...nsitive_properties_protected_aes_128.properties |  2 +-
 5 files changed, 54 insertions(+), 29 deletions(-)

diff --git 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-properties-loader/pom.xml
 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-properties-loader/pom.xml
index 8b4b970..6b10e61 100644
--- 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-properties-loader/pom.xml
+++ 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-properties-loader/pom.xml
@@ -1,4 +1,5 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
https://maven.apache.org/xsd/maven-4.0.0.xsd";>
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
https://maven.apache.org/xsd/maven-4.0.0.xsd";>
     <!--
       Licensed to the Apache Software Foundation (ASF) under one or more
       contributor license agreements.  See the NOTICE file distributed with
@@ -47,4 +48,28 @@
             <artifactId>commons-lang3</artifactId>
         </dependency>
     </dependencies>
+    <build>
+        <!-- Required to run Groovy tests without any Java tests -->
+        <plugins>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>build-helper-maven-plugin</artifactId>
+                <version>1.5</version>
+                <executions>
+                    <execution>
+                        <id>add-test-source</id>
+                        <phase>generate-test-sources</phase>
+                        <goals>
+                            <goal>add-test-source</goal>
+                        </goals>
+                        <configuration>
+                            <sources>
+                                <source>src/test/groovy</source>
+                            </sources>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
 </project>
\ No newline at end of file
diff --git 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-properties-loader/src/test/groovy/org/apache/nifi/properties/AESSensitivePropertyProviderTest.groovy
 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-properties-loader/src/test/groovy/org/apache/nifi/properties/AESSensitivePropertyProviderTest.groovy
index 73ae55a..56a702a 100644
--- 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-properties-loader/src/test/groovy/org/apache/nifi/properties/AESSensitivePropertyProviderTest.groovy
+++ 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-properties-loader/src/test/groovy/org/apache/nifi/properties/AESSensitivePropertyProviderTest.groovy
@@ -17,7 +17,6 @@
 package org.apache.nifi.properties
 
 import org.bouncycastle.jce.provider.BouncyCastleProvider
-import org.bouncycastle.util.encoders.DecoderException
 import org.bouncycastle.util.encoders.Hex
 import org.junit.After
 import org.junit.Assume
@@ -302,9 +301,10 @@ class AESSensitivePropertyProviderTest extends 
GroovyTestCase {
             SensitivePropertyProvider spp = new 
AESSensitivePropertyProvider(Hex.decode(getKeyOfSize(keySize)))
             logger.info("Initialized ${spp.name} with key size ${keySize}")
             String cipherText = spp.protect(PLAINTEXT)
+
             // Remove the IV from the "complete" cipher text
             final String MISSING_IV_CIPHER_TEXT = cipherText[18..-1]
-            logger.info("Manipulated ${cipherText} 
to\n${MISSING_IV_CIPHER_TEXT.padLeft(163)}")
+            logger.info("Manipulated ${cipherText} 
to\n${MISSING_IV_CIPHER_TEXT.padLeft(172)}")
 
             def msg = shouldFail(IllegalArgumentException) {
                 spp.unprotect(MISSING_IV_CIPHER_TEXT)
@@ -313,9 +313,9 @@ class AESSensitivePropertyProviderTest extends 
GroovyTestCase {
 
             // Remove the IV from the "complete" cipher text but keep the 
delimiter
             final String MISSING_IV_CIPHER_TEXT_WITH_DELIMITER = 
cipherText[16..-1]
-            logger.info("Manipulated ${cipherText} 
to\n${MISSING_IV_CIPHER_TEXT_WITH_DELIMITER.padLeft(163)}")
+            logger.info("Manipulated ${cipherText} 
to\n${MISSING_IV_CIPHER_TEXT_WITH_DELIMITER.padLeft(172)}")
 
-            def msgWithDelimiter = shouldFail(DecoderException) {
+            def msgWithDelimiter = shouldFail(IllegalArgumentException) {
                 spp.unprotect(MISSING_IV_CIPHER_TEXT_WITH_DELIMITER)
             }
             logger.expected("${msgWithDelimiter} for keySize ${keySize} and 
cipher text [${MISSING_IV_CIPHER_TEXT_WITH_DELIMITER}]")
@@ -324,7 +324,7 @@ class AESSensitivePropertyProviderTest extends 
GroovyTestCase {
             assert msg == "The cipher text does not contain the delimiter || 
-- it should be of the form Base64(IV) || Base64(cipherText)"
 
             // Assert
-            assert msgWithDelimiter =~ "unable to decode base64 string"
+            assert msgWithDelimiter == "The IV (0 bytes) must be at least 12 
bytes"
         }
     }
 
diff --git 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-properties-loader/src/test/groovy/org/apache/nifi/properties/NiFiPropertiesLoaderGroovyTest.groovy
 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-properties-loader/src/test/groovy/org/apache/nifi/properties/NiFiPropertiesLoaderGroovyTest.groovy
index 980f86f..53f4070 100644
--- 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-properties-loader/src/test/groovy/org/apache/nifi/properties/NiFiPropertiesLoaderGroovyTest.groovy
+++ 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-properties-loader/src/test/groovy/org/apache/nifi/properties/NiFiPropertiesLoaderGroovyTest.groovy
@@ -67,7 +67,7 @@ class NiFiPropertiesLoaderGroovyTest extends GroovyTestCase {
     }
 
     @BeforeClass
-    public static void setUpOnce() throws Exception {
+    static void setUpOnce() throws Exception {
         Security.addProvider(new BouncyCastleProvider())
 
         logger.metaClass.methodMissing = { String name, args ->
@@ -76,11 +76,11 @@ class NiFiPropertiesLoaderGroovyTest extends GroovyTestCase 
{
     }
 
     @Before
-    public void setUp() throws Exception {
+    void setUp() throws Exception {
     }
 
     @After
-    public void tearDown() throws Exception {
+    void tearDown() throws Exception {
         // Clear the sensitive property providers between runs
 //        if (ProtectedNiFiProperties.@localProviderCache) {
 //            ProtectedNiFiProperties.@localProviderCache = [:]
@@ -89,14 +89,14 @@ class NiFiPropertiesLoaderGroovyTest extends GroovyTestCase 
{
     }
 
     @AfterClass
-    public static void tearDownOnce() {
+    static void tearDownOnce() {
         if (originalPropertiesPath) {
             System.setProperty(NiFiProperties.PROPERTIES_FILE_PATH, 
originalPropertiesPath)
         }
     }
 
     @Test
-    public void testConstructorShouldCreateNewInstance() throws Exception {
+    void testConstructorShouldCreateNewInstance() throws Exception {
         // Arrange
 
         // Act
@@ -108,7 +108,7 @@ class NiFiPropertiesLoaderGroovyTest extends GroovyTestCase 
{
     }
 
     @Test
-    public void testShouldCreateInstanceWithKey() throws Exception {
+    void testShouldCreateInstanceWithKey() throws Exception {
         // Arrange
 
         // Act
@@ -120,7 +120,7 @@ class NiFiPropertiesLoaderGroovyTest extends GroovyTestCase 
{
     }
 
     @Test
-    public void testShouldGetDefaultProviderKey() throws Exception {
+    void testShouldGetDefaultProviderKey() throws Exception {
         // Arrange
         final String EXPECTED_PROVIDER_KEY = 
"aes/gcm/${Cipher.getMaxAllowedKeyLength("AES") > 128 ? 256 : 128}"
         logger.info("Expected provider key: ${EXPECTED_PROVIDER_KEY}")
@@ -133,7 +133,7 @@ class NiFiPropertiesLoaderGroovyTest extends GroovyTestCase 
{
     }
 
     @Test
-    public void testShouldInitializeSensitivePropertyProviderFactory() throws 
Exception {
+    void testShouldInitializeSensitivePropertyProviderFactory() throws 
Exception {
         // Arrange
         NiFiPropertiesLoader niFiPropertiesLoader = new NiFiPropertiesLoader()
 
@@ -145,7 +145,7 @@ class NiFiPropertiesLoaderGroovyTest extends GroovyTestCase 
{
     }
 
     @Test
-    public void testShouldLoadUnprotectedPropertiesFromFile() throws Exception 
{
+    void testShouldLoadUnprotectedPropertiesFromFile() throws Exception {
         // Arrange
         File unprotectedFile = new 
File("src/test/resources/conf/nifi.properties")
         NiFiPropertiesLoader niFiPropertiesLoader = new NiFiPropertiesLoader()
@@ -161,7 +161,7 @@ class NiFiPropertiesLoaderGroovyTest extends GroovyTestCase 
{
     }
 
     @Test
-    public void testShouldNotLoadUnprotectedPropertiesFromNullFile() throws 
Exception {
+    void testShouldNotLoadUnprotectedPropertiesFromNullFile() throws Exception 
{
         // Arrange
         NiFiPropertiesLoader niFiPropertiesLoader = new NiFiPropertiesLoader()
 
@@ -176,7 +176,7 @@ class NiFiPropertiesLoaderGroovyTest extends GroovyTestCase 
{
     }
 
     @Test
-    public void testShouldNotLoadUnprotectedPropertiesFromMissingFile() throws 
Exception {
+    void testShouldNotLoadUnprotectedPropertiesFromMissingFile() throws 
Exception {
         // Arrange
         File missingFile = new 
File("src/test/resources/conf/nifi_missing.properties")
         assert !missingFile.exists()
@@ -194,7 +194,7 @@ class NiFiPropertiesLoaderGroovyTest extends GroovyTestCase 
{
     }
 
     @Test
-    public void testShouldNotLoadUnprotectedPropertiesFromUnreadableFile() 
throws Exception {
+    void testShouldNotLoadUnprotectedPropertiesFromUnreadableFile() throws 
Exception {
         // Arrange
         File unreadableFile = new 
File("src/test/resources/conf/nifi_no_permissions.properties")
         Files.setPosixFilePermissions(unreadableFile.toPath(), [] as Set)
@@ -216,7 +216,7 @@ class NiFiPropertiesLoaderGroovyTest extends GroovyTestCase 
{
     }
 
     @Test
-    public void testShouldLoadUnprotectedPropertiesFromPath() throws Exception 
{
+    void testShouldLoadUnprotectedPropertiesFromPath() throws Exception {
         // Arrange
         File unprotectedFile = new 
File("src/test/resources/conf/nifi.properties")
         NiFiPropertiesLoader niFiPropertiesLoader = new NiFiPropertiesLoader()
@@ -232,7 +232,7 @@ class NiFiPropertiesLoaderGroovyTest extends GroovyTestCase 
{
     }
 
     @Test
-    public void testShouldLoadUnprotectedPropertiesFromProtectedFile() throws 
Exception {
+    void testShouldLoadUnprotectedPropertiesFromProtectedFile() throws 
Exception {
         // Arrange
         File protectedFile = new 
File("src/test/resources/conf/nifi_with_sensitive_properties_protected_aes.properties")
         NiFiPropertiesLoader niFiPropertiesLoader = 
NiFiPropertiesLoader.withKey(KEY_HEX)
@@ -272,7 +272,7 @@ class NiFiPropertiesLoaderGroovyTest extends GroovyTestCase 
{
     }
 
     @Test
-    public void testShouldExtractKeyFromBootstrapFile() throws Exception {
+    void testShouldExtractKeyFromBootstrapFile() throws Exception {
         // Arrange
         def defaultNiFiPropertiesFilePath = 
"src/test/resources/bootstrap_tests/conf/nifi.properties"
         System.setProperty(NiFiProperties.PROPERTIES_FILE_PATH, 
defaultNiFiPropertiesFilePath)
@@ -285,7 +285,7 @@ class NiFiPropertiesLoaderGroovyTest extends GroovyTestCase 
{
     }
 
     @Test
-    public void testShouldNotExtractKeyFromBootstrapFileWithoutKeyLine() 
throws Exception {
+    void testShouldNotExtractKeyFromBootstrapFileWithoutKeyLine() throws 
Exception {
         // Arrange
         def defaultNiFiPropertiesFilePath = 
"src/test/resources/bootstrap_tests/missing_key_line/nifi.properties"
         System.setProperty(NiFiProperties.PROPERTIES_FILE_PATH, 
defaultNiFiPropertiesFilePath)
@@ -298,7 +298,7 @@ class NiFiPropertiesLoaderGroovyTest extends GroovyTestCase 
{
     }
 
     @Test
-    public void testShouldNotExtractKeyFromBootstrapFileWithoutKey() throws 
Exception {
+    void testShouldNotExtractKeyFromBootstrapFileWithoutKey() throws Exception 
{
         // Arrange
         def defaultNiFiPropertiesFilePath = 
"src/test/resources/bootstrap_tests/missing_key_line/nifi.properties"
         System.setProperty(NiFiProperties.PROPERTIES_FILE_PATH, 
defaultNiFiPropertiesFilePath)
@@ -311,7 +311,7 @@ class NiFiPropertiesLoaderGroovyTest extends GroovyTestCase 
{
     }
 
     @Test
-    public void testShouldNotExtractKeyFromMissingBootstrapFile() throws 
Exception {
+    void testShouldNotExtractKeyFromMissingBootstrapFile() throws Exception {
         // Arrange
         def defaultNiFiPropertiesFilePath = 
"src/test/resources/bootstrap_tests/missing_bootstrap/nifi.properties"
         System.setProperty(NiFiProperties.PROPERTIES_FILE_PATH, 
defaultNiFiPropertiesFilePath)
@@ -327,7 +327,7 @@ class NiFiPropertiesLoaderGroovyTest extends GroovyTestCase 
{
     }
 
     @Test
-    public void testShouldNotExtractKeyFromUnreadableBootstrapFile() throws 
Exception {
+    void testShouldNotExtractKeyFromUnreadableBootstrapFile() throws Exception 
{
         // Arrange
         File unreadableFile = new 
File("src/test/resources/bootstrap_tests/unreadable_bootstrap/bootstrap.conf")
         Set<PosixFilePermission> originalPermissions = 
Files.getPosixFilePermissions(unreadableFile.toPath())
@@ -352,7 +352,7 @@ class NiFiPropertiesLoaderGroovyTest extends GroovyTestCase 
{
 
     @Ignore("Unreadable conf directory breaks build")
     @Test
-    public void testShouldNotExtractKeyFromUnreadableConfDir() throws 
Exception {
+    void testShouldNotExtractKeyFromUnreadableConfDir() throws Exception {
         // Arrange
         File unreadableDir = new 
File("src/test/resources/bootstrap_tests/unreadable_conf")
         Set<PosixFilePermission> originalPermissions = 
Files.getPosixFilePermissions(unreadableDir.toPath())
@@ -376,7 +376,7 @@ class NiFiPropertiesLoaderGroovyTest extends GroovyTestCase 
{
     }
 
     @Test
-    public void 
testShouldLoadUnprotectedPropertiesFromProtectedDefaultFileAndUseBootstrapKey() 
throws Exception {
+    void 
testShouldLoadUnprotectedPropertiesFromProtectedDefaultFileAndUseBootstrapKey() 
throws Exception {
         // Arrange
         File protectedFile = new 
File("src/test/resources/bootstrap_tests/conf/nifi_with_sensitive_properties_protected_aes.properties")
         System.setProperty(NiFiProperties.PROPERTIES_FILE_PATH, 
protectedFile.path)
@@ -402,7 +402,7 @@ class NiFiPropertiesLoaderGroovyTest extends GroovyTestCase 
{
     }
 
     @Test
-    public void testShouldUpdateKeyInFactory() throws Exception {
+    void testShouldUpdateKeyInFactory() throws Exception {
         // Arrange
         File originalKeyFile = new 
File("src/test/resources/conf/nifi_with_sensitive_properties_protected_aes_128.properties")
         File passwordKeyFile = new 
File("src/test/resources/conf/nifi_with_sensitive_properties_protected_aes_128_password.properties")
diff --git 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-properties-loader/src/test/resources/bootstrap_tests/unreadable_bootstrap/bootstrap.conf
 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-properties-loader/src/test/resources/bootstrap_tests/unreadable_bootstrap/bootstrap.conf
old mode 100755
new mode 100644
diff --git 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-properties-loader/src/test/resources/conf/nifi_with_sensitive_properties_protected_aes_128.properties
 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-properties-loader/src/test/resources/conf/nifi_with_sensitive_properties_protected_aes_128.properties
index 25e8ce2..6d1e541 100644
--- 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-properties-loader/src/test/resources/conf/nifi_with_sensitive_properties_protected_aes_128.properties
+++ 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-properties-loader/src/test/resources/conf/nifi_with_sensitive_properties_protected_aes_128.properties
@@ -74,7 +74,7 @@ 
nifi.sensitive.props.key=6WUpex+VZiN05LXu||joWJMuoSzYniEC7IAoingTimlG7+RGk8I2irl
 nifi.sensitive.props.key.protected=aes/gcm/128
 nifi.sensitive.props.algorithm=PBEWITHMD5AND256BITAES-CBC-OPENSSL
 nifi.sensitive.props.provider=BC
-nifi.sensitive.props.additional.keys=nifi.ui.banner.text
+nifi.sensitive.props.additional.keys=nifi.ui.banner.text, nifi.version
 
 nifi.security.keystore=/path/to/keystore.jks
 nifi.security.keystoreType=JKS

Reply via email to