This is an automated email from the ASF dual-hosted git repository.
exceptionfactory pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git
The following commit(s) were added to refs/heads/main by this push:
new abf03e1ec0 NIFI-15390 Enabled Tests on Windows for ExecuteGroovyScript
and CLI Toolkit (#10694)
abf03e1ec0 is described below
commit abf03e1ec09be26e70ef194fe8e526ec066f1226
Author: dan-s1 <[email protected]>
AuthorDate: Sat Dec 27 10:34:49 2025 -0500
NIFI-15390 Enabled Tests on Windows for ExecuteGroovyScript and CLI Toolkit
(#10694)
Signed-off-by: David Handermann <[email protected]>
---
.../groovyx/ExecuteGroovyScriptTest.java | 18 +++++--
.../apache/nifi/toolkit/cli/TestCLICompleter.java | 3 --
.../toolkit/cli/impl/result/TestBucketsResult.java | 22 ++++-----
.../TestRegisteredFlowSnapshotMetadataResult.java | 10 ++--
.../cli/impl/result/TestRegistryClientResult.java | 9 ++--
.../cli/impl/result/TestVersionedFlowsResult.java | 25 +++++-----
.../toolkit/cli/impl/result/util/OutputUtil.java | 36 ++++++++++++++
.../impl/result/writer/TestDynamicTableWriter.java | 57 ++++++++++++----------
8 files changed, 111 insertions(+), 69 deletions(-)
diff --git
a/nifi-extension-bundles/nifi-groovyx-bundle/nifi-groovyx-processors/src/test/java/org/apache/nifi/processors/groovyx/ExecuteGroovyScriptTest.java
b/nifi-extension-bundles/nifi-groovyx-bundle/nifi-groovyx-processors/src/test/java/org/apache/nifi/processors/groovyx/ExecuteGroovyScriptTest.java
index 914c0cb7c8..0fb2f832e7 100644
---
a/nifi-extension-bundles/nifi-groovyx-bundle/nifi-groovyx-processors/src/test/java/org/apache/nifi/processors/groovyx/ExecuteGroovyScriptTest.java
+++
b/nifi-extension-bundles/nifi-groovyx-bundle/nifi-groovyx-processors/src/test/java/org/apache/nifi/processors/groovyx/ExecuteGroovyScriptTest.java
@@ -41,8 +41,6 @@ import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.condition.DisabledOnOs;
-import org.junit.jupiter.api.condition.OS;
import org.junit.jupiter.api.io.TempDir;
import java.io.ByteArrayOutputStream;
import java.io.File;
@@ -67,7 +65,6 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
-@DisabledOnOs(OS.WINDOWS)
public class ExecuteGroovyScriptTest {
private final static String DB_LOCATION = "target/db";
@@ -542,7 +539,7 @@ public class ExecuteGroovyScriptTest {
resultFile.assertAttributeExists("a");
resultFile.assertAttributeEquals("a", "A");
System.setOut(originalOut);
- assertEquals("onStop invoked successfully\n", outContent.toString());
+ assertEquals(getExpectedContent("onStop invoked successfully\n"),
outContent.toString());
// Inspect the output visually for onStop, no way to pass back values
}
@@ -556,7 +553,7 @@ public class ExecuteGroovyScriptTest {
System.setOut(new PrintStream(outContent));
runner.run();
System.setOut(originalOut);
- assertEquals("onUnscheduled invoked successfully\n",
outContent.toString());
+ assertEquals(getExpectedContent("onUnscheduled invoked
successfully\n"), outContent.toString());
}
@Test
@@ -594,6 +591,17 @@ public class ExecuteGroovyScriptTest {
return attrs;
}
+ private static String getExpectedContent(String string) {
+ final boolean windows =
System.getProperty("os.name").startsWith("Windows");
+ String expectedContent = string;
+
+ if (windows) {
+ expectedContent = expectedContent.replaceAll("\n", "\r\n");
+ }
+
+ return expectedContent;
+ }
+
private static class DBCPServiceSimpleImpl extends
AbstractControllerService implements DBCPService {
private String dbName;
diff --git
a/nifi-toolkit/nifi-toolkit-cli/src/test/java/org/apache/nifi/toolkit/cli/TestCLICompleter.java
b/nifi-toolkit/nifi-toolkit-cli/src/test/java/org/apache/nifi/toolkit/cli/TestCLICompleter.java
index 1506ff3e23..d267cb4234 100644
---
a/nifi-toolkit/nifi-toolkit-cli/src/test/java/org/apache/nifi/toolkit/cli/TestCLICompleter.java
+++
b/nifi-toolkit/nifi-toolkit-cli/src/test/java/org/apache/nifi/toolkit/cli/TestCLICompleter.java
@@ -36,8 +36,6 @@ import org.jline.reader.LineReader;
import org.jline.reader.ParsedLine;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.condition.DisabledOnOs;
-import org.junit.jupiter.api.condition.OS;
import org.mockito.Mockito;
import java.io.File;
@@ -53,7 +51,6 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
-@DisabledOnOs(OS.WINDOWS)
public class TestCLICompleter {
private static final String TEST_RESOURCES_DIRECTORY =
"src/test/resources";
diff --git
a/nifi-toolkit/nifi-toolkit-cli/src/test/java/org/apache/nifi/toolkit/cli/impl/result/TestBucketsResult.java
b/nifi-toolkit/nifi-toolkit-cli/src/test/java/org/apache/nifi/toolkit/cli/impl/result/TestBucketsResult.java
index 71f1a31957..6da2021ced 100644
---
a/nifi-toolkit/nifi-toolkit-cli/src/test/java/org/apache/nifi/toolkit/cli/impl/result/TestBucketsResult.java
+++
b/nifi-toolkit/nifi-toolkit-cli/src/test/java/org/apache/nifi/toolkit/cli/impl/result/TestBucketsResult.java
@@ -19,10 +19,9 @@ package org.apache.nifi.toolkit.cli.impl.result;
import org.apache.nifi.registry.bucket.Bucket;
import org.apache.nifi.toolkit.cli.api.ResultType;
import org.apache.nifi.toolkit.cli.impl.result.registry.BucketsResult;
+import org.apache.nifi.toolkit.cli.impl.result.util.OutputUtil;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.condition.DisabledOnOs;
-import org.junit.jupiter.api.condition.OS;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
@@ -34,7 +33,6 @@ import java.util.UUID;
import static org.junit.jupiter.api.Assertions.assertEquals;
-@DisabledOnOs(OS.WINDOWS)
public class TestBucketsResult {
private ByteArrayOutputStream outputStream;
@@ -65,15 +63,17 @@ public class TestBucketsResult {
final BucketsResult result = new BucketsResult(ResultType.SIMPLE,
buckets);
result.write(printStream);
- final String resultOut = new String(outputStream.toByteArray(),
StandardCharsets.UTF_8);
+ final String resultOut = outputStream.toString(StandardCharsets.UTF_8);
- final String expected = "\n" +
- "# Name Id
Description \n" +
- "- -------- ------------------------------------
---------------- \n" +
- "1 Bucket 1 ea752054-22c6-4fc0-b851-967d9a3837cb This is
bucket 1 \n" +
- "2 Bucket 2 ddf5f289-7502-46df-9798-4b0457c1816b (empty)
\n" +
- "\n";
+ final String expected = """
- assertEquals(expected, resultOut);
+ # Name Id
Description \s
+ - -------- ------------------------------------
---------------- \s
+ 1 Bucket 1 ea752054-22c6-4fc0-b851-967d9a3837cb This is
bucket 1 \s
+ 2 Bucket 2 ddf5f289-7502-46df-9798-4b0457c1816b (empty)
\s
+
+ """;
+
+ assertEquals(OutputUtil.getExpectedContent(expected), resultOut);
}
}
diff --git
a/nifi-toolkit/nifi-toolkit-cli/src/test/java/org/apache/nifi/toolkit/cli/impl/result/TestRegisteredFlowSnapshotMetadataResult.java
b/nifi-toolkit/nifi-toolkit-cli/src/test/java/org/apache/nifi/toolkit/cli/impl/result/TestRegisteredFlowSnapshotMetadataResult.java
index cba1118e90..6de5920f73 100644
---
a/nifi-toolkit/nifi-toolkit-cli/src/test/java/org/apache/nifi/toolkit/cli/impl/result/TestRegisteredFlowSnapshotMetadataResult.java
+++
b/nifi-toolkit/nifi-toolkit-cli/src/test/java/org/apache/nifi/toolkit/cli/impl/result/TestRegisteredFlowSnapshotMetadataResult.java
@@ -19,10 +19,9 @@ package org.apache.nifi.toolkit.cli.impl.result;
import org.apache.nifi.registry.flow.VersionedFlowSnapshotMetadata;
import org.apache.nifi.toolkit.cli.api.ResultType;
import
org.apache.nifi.toolkit.cli.impl.result.registry.RegisteredFlowSnapshotMetadataResult;
+import org.apache.nifi.toolkit.cli.impl.result.util.OutputUtil;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.condition.DisabledOnOs;
-import org.junit.jupiter.api.condition.OS;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
@@ -36,7 +35,7 @@ import java.util.List;
import static org.junit.jupiter.api.Assertions.assertTrue;
-@DisabledOnOs(OS.WINDOWS)
+
public class TestRegisteredFlowSnapshotMetadataResult {
private ByteArrayOutputStream outputStream;
@@ -71,16 +70,17 @@ public class TestRegisteredFlowSnapshotMetadataResult {
final RegisteredFlowSnapshotMetadataResult result = new
RegisteredFlowSnapshotMetadataResult(ResultType.SIMPLE, versions);
result.write(printStream);
- final String resultOut = new String(outputStream.toByteArray(),
StandardCharsets.UTF_8);
+ final String resultOut = outputStream.toString(StandardCharsets.UTF_8);
// can't get the time zone to line up on travis, so ignore this for now
- final String expectedPattern = "^\\n" +
+ String expectedPattern = "^\\n" +
"Ver +Date + Author + Message +\\n" +
"-+ +-+ +-+ +-+ +\\n" +
//"1 Wed, Feb 14 2018 12:00 EST user1 This is a long
comment, longer than t... \n" +
//"2 Wed, Feb 14 2018 12:30 EST user2 This is v2
\n" +
"(.|\\n)+$";
+ expectedPattern = OutputUtil.isWindows() ?
expectedPattern.replaceAll("\\\\n", "\\\\r\\\\n") : expectedPattern;
assertTrue(resultOut.matches(expectedPattern));
}
}
diff --git
a/nifi-toolkit/nifi-toolkit-cli/src/test/java/org/apache/nifi/toolkit/cli/impl/result/TestRegistryClientResult.java
b/nifi-toolkit/nifi-toolkit-cli/src/test/java/org/apache/nifi/toolkit/cli/impl/result/TestRegistryClientResult.java
index 7cb4237332..5ca29f6e2c 100644
---
a/nifi-toolkit/nifi-toolkit-cli/src/test/java/org/apache/nifi/toolkit/cli/impl/result/TestRegistryClientResult.java
+++
b/nifi-toolkit/nifi-toolkit-cli/src/test/java/org/apache/nifi/toolkit/cli/impl/result/TestRegistryClientResult.java
@@ -18,13 +18,12 @@ package org.apache.nifi.toolkit.cli.impl.result;
import org.apache.nifi.toolkit.cli.api.ResultType;
import org.apache.nifi.toolkit.cli.impl.result.nifi.RegistryClientsResult;
+import org.apache.nifi.toolkit.cli.impl.result.util.OutputUtil;
import org.apache.nifi.web.api.dto.FlowRegistryClientDTO;
import org.apache.nifi.web.api.entity.FlowRegistryClientEntity;
import org.apache.nifi.web.api.entity.FlowRegistryClientsEntity;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.condition.DisabledOnOs;
-import org.junit.jupiter.api.condition.OS;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
@@ -37,7 +36,6 @@ import java.util.UUID;
import static org.junit.jupiter.api.Assertions.assertEquals;
-@DisabledOnOs(OS.WINDOWS)
public class TestRegistryClientResult {
private ByteArrayOutputStream outputStream;
@@ -83,7 +81,7 @@ public class TestRegistryClientResult {
final String resultOut = outputStream.toString(StandardCharsets.UTF_8);
- final String expected = """
+ String expected = """
# Name Type Id
Properties
\s
- ------------------------------------ ------
------------------------------------
--------------------------------------------------------------------- \s
@@ -92,7 +90,6 @@ public class TestRegistryClientResult {
""";
- assertEquals(expected, resultOut);
+ assertEquals(OutputUtil.getExpectedContent(expected), resultOut);
}
-
}
diff --git
a/nifi-toolkit/nifi-toolkit-cli/src/test/java/org/apache/nifi/toolkit/cli/impl/result/TestVersionedFlowsResult.java
b/nifi-toolkit/nifi-toolkit-cli/src/test/java/org/apache/nifi/toolkit/cli/impl/result/TestVersionedFlowsResult.java
index 54c69cc501..6b1ffe225c 100644
---
a/nifi-toolkit/nifi-toolkit-cli/src/test/java/org/apache/nifi/toolkit/cli/impl/result/TestVersionedFlowsResult.java
+++
b/nifi-toolkit/nifi-toolkit-cli/src/test/java/org/apache/nifi/toolkit/cli/impl/result/TestVersionedFlowsResult.java
@@ -22,10 +22,9 @@ import org.apache.nifi.toolkit.cli.api.ReferenceResolver;
import org.apache.nifi.toolkit.cli.api.ResultType;
import org.apache.nifi.toolkit.cli.impl.command.CommandOption;
import org.apache.nifi.toolkit.cli.impl.result.registry.VersionedFlowsResult;
+import org.apache.nifi.toolkit.cli.impl.result.util.OutputUtil;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.condition.DisabledOnOs;
-import org.junit.jupiter.api.condition.OS;
import org.mockito.Mockito;
import java.io.ByteArrayOutputStream;
@@ -37,8 +36,8 @@ import java.util.List;
import java.util.UUID;
import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNull;
-@DisabledOnOs(OS.WINDOWS)
public class TestVersionedFlowsResult {
private ByteArrayOutputStream outputStream;
@@ -74,16 +73,18 @@ public class TestVersionedFlowsResult {
final VersionedFlowsResult result = new
VersionedFlowsResult(ResultType.SIMPLE, flows);
result.write(printStream);
- final String resultOut = new String(outputStream.toByteArray(),
StandardCharsets.UTF_8);
+ final String resultOut = outputStream.toString(StandardCharsets.UTF_8);
- final String expected = "\n" +
- "# Name Id
Description \n" +
- "- ------ ------------------------------------
-------------- \n" +
- "1 Flow 1 ea752054-22c6-4fc0-b851-967d9a3837cb This is
flow 1 \n" +
- "2 Flow 2 ddf5f289-7502-46df-9798-4b0457c1816b (empty)
\n" +
- "\n";
+ String expected = """
- assertEquals(expected, resultOut);
+ # Name Id
Description \s
+ - ------ ------------------------------------
-------------- \s
+ 1 Flow 1 ea752054-22c6-4fc0-b851-967d9a3837cb This is
flow 1 \s
+ 2 Flow 2 ddf5f289-7502-46df-9798-4b0457c1816b (empty)
\s
+
+ """;
+
+ assertEquals(OutputUtil.getExpectedContent(expected), resultOut);
}
@Test
@@ -104,6 +105,6 @@ public class TestVersionedFlowsResult {
assertEquals("b2", resolver.resolve(CommandOption.BUCKET_ID,
2).getResolvedValue());
// should resolve to null when position doesn't exist
- assertEquals(null, resolver.resolve(CommandOption.FLOW_ID, 3));
+ assertNull(resolver.resolve(CommandOption.FLOW_ID, 3));
}
}
diff --git
a/nifi-toolkit/nifi-toolkit-cli/src/test/java/org/apache/nifi/toolkit/cli/impl/result/util/OutputUtil.java
b/nifi-toolkit/nifi-toolkit-cli/src/test/java/org/apache/nifi/toolkit/cli/impl/result/util/OutputUtil.java
new file mode 100644
index 0000000000..6e095d649c
--- /dev/null
+++
b/nifi-toolkit/nifi-toolkit-cli/src/test/java/org/apache/nifi/toolkit/cli/impl/result/util/OutputUtil.java
@@ -0,0 +1,36 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.nifi.toolkit.cli.impl.result.util;
+
+public class OutputUtil {
+ private OutputUtil() {
+ }
+
+ public static String getExpectedContent(String string) {
+ String expectedContent = string;
+
+ if (isWindows()) {
+ expectedContent = expectedContent.replaceAll("\n", "\r\n");
+ }
+
+ return expectedContent;
+ }
+
+ public static boolean isWindows() {
+ return System.getProperty("os.name").startsWith("Windows");
+ }
+}
diff --git
a/nifi-toolkit/nifi-toolkit-cli/src/test/java/org/apache/nifi/toolkit/cli/impl/result/writer/TestDynamicTableWriter.java
b/nifi-toolkit/nifi-toolkit-cli/src/test/java/org/apache/nifi/toolkit/cli/impl/result/writer/TestDynamicTableWriter.java
index 3839e06a2b..f5f50d9464 100644
---
a/nifi-toolkit/nifi-toolkit-cli/src/test/java/org/apache/nifi/toolkit/cli/impl/result/writer/TestDynamicTableWriter.java
+++
b/nifi-toolkit/nifi-toolkit-cli/src/test/java/org/apache/nifi/toolkit/cli/impl/result/writer/TestDynamicTableWriter.java
@@ -16,10 +16,9 @@
*/
package org.apache.nifi.toolkit.cli.impl.result.writer;
+import org.apache.nifi.toolkit.cli.impl.result.util.OutputUtil;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.condition.DisabledOnOs;
-import org.junit.jupiter.api.condition.OS;
import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
@@ -27,7 +26,6 @@ import java.nio.charset.StandardCharsets;
import static org.junit.jupiter.api.Assertions.assertEquals;
-@DisabledOnOs(OS.WINDOWS)
public class TestDynamicTableWriter {
private Table table;
@@ -55,14 +53,16 @@ public class TestDynamicTableWriter {
public void testWriteEmptyTable() {
tableWriter.write(table, printStream);
- final String result = new String(outputStream.toByteArray(),
StandardCharsets.UTF_8);
+ final String result = outputStream.toString(StandardCharsets.UTF_8);
- final String expected = "\n" +
- "# Name Id
Description \n" +
- "--- --------------------
------------------------------------ ----------- \n" +
- "\n";
+ final String expected = """
- assertEquals(expected, result);
+ # Name Id
Description \s
+ --- --------------------
------------------------------------ ----------- \s
+
+ """;
+
+ assertEquals(OutputUtil.getExpectedContent(expected), result);
}
@Test
@@ -90,17 +90,19 @@ public class TestDynamicTableWriter {
tableWriter.write(table, printStream);
- final String result = new String(outputStream.toByteArray(),
StandardCharsets.UTF_8);
+ final String result = outputStream.toString(StandardCharsets.UTF_8);
+
+ final String expected = """
+
+ # Name Id
Description \s
+ - ------------------------------------
----------------------------------- ----------------------------------------
\s
+ 1 Bucket 1
12345-12345-12345-12345-12345-12345
\s
+ 2 Bucket 2 - This is a really reall...
12345-12345-12345-12345-12345-12345 This is a really really really really...
\s
+ 3 Bucket 3
12345-12345-12345-12345-12345-12345 (empty)
\s
- final String expected = "\n" +
- "# Name Id
Description \n" +
- "- ------------------------------------
----------------------------------- ----------------------------------------
\n" +
- "1 Bucket 1
12345-12345-12345-12345-12345-12345
\n" +
- "2 Bucket 2 - This is a really reall...
12345-12345-12345-12345-12345-12345 This is a really really really really...
\n" +
- "3 Bucket 3
12345-12345-12345-12345-12345-12345 (empty)
\n" +
- "\n";
+ """;
- assertEquals(expected, result);
+ assertEquals(OutputUtil.getExpectedContent(expected), result);
}
@Test
@@ -109,16 +111,17 @@ public class TestDynamicTableWriter {
table.addRow("2", "Bucket 2", "12345-12345-12345-12345-12345-12345",
null);
tableWriter.write(table, printStream);
- final String result = new String(outputStream.toByteArray(),
StandardCharsets.UTF_8);
+ final String result = outputStream.toString(StandardCharsets.UTF_8);
- final String expected = "\n" +
- "# Name Id
Description \n" +
- "- -------- -----------------------------------
----------- \n" +
- "1 Bucket 1 12345-12345-12345-12345-12345-12345 (empty)
\n" +
- "2 Bucket 2 12345-12345-12345-12345-12345-12345 (empty)
\n" +
- "\n";
+ final String expected = """
- assertEquals(expected, result);
- }
+ # Name Id
Description \s
+ - -------- -----------------------------------
----------- \s
+ 1 Bucket 1 12345-12345-12345-12345-12345-12345 (empty)
\s
+ 2 Bucket 2 12345-12345-12345-12345-12345-12345 (empty)
\s
+
+ """;
+ assertEquals(OutputUtil.getExpectedContent(expected), result);
+ }
}
\ No newline at end of file