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

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


The following commit(s) were added to refs/heads/master by this push:
     new c6542d2e1b Fixed flaky test
     new 15d79aeebe Merge pull request #3463 from wang3820/fix-flaky-xmlstream
c6542d2e1b is described below

commit c6542d2e1b845abeae72abfbf6b984ed52a8cd80
Author: Tong Wang <[email protected]>
AuthorDate: Mon Nov 27 17:09:11 2023 -0600

    Fixed flaky test
---
 .../xml/xmlinputstream/XmlInputStreamTest.java     | 77 +++++++++++-----------
 1 file changed, 37 insertions(+), 40 deletions(-)

diff --git 
a/plugins/transforms/xml/src/test/java/org/apache/hop/pipeline/transforms/xml/xmlinputstream/XmlInputStreamTest.java
 
b/plugins/transforms/xml/src/test/java/org/apache/hop/pipeline/transforms/xml/xmlinputstream/XmlInputStreamTest.java
index c1cb89c176..19aca91dff 100644
--- 
a/plugins/transforms/xml/src/test/java/org/apache/hop/pipeline/transforms/xml/xmlinputstream/XmlInputStreamTest.java
+++ 
b/plugins/transforms/xml/src/test/java/org/apache/hop/pipeline/transforms/xml/xmlinputstream/XmlInputStreamTest.java
@@ -37,9 +37,11 @@ import java.io.PrintWriter;
 import java.io.Writer;
 import java.net.URL;
 import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.List;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
 import static org.mockito.Matchers.any;
 import static org.mockito.Mockito.when;
 
@@ -123,6 +125,12 @@ public class XmlInputStreamTest {
         rl.getWritten().get(expectedRowNum)[dataNamePos]);
 
     // attributes
+    HashSet<String> expectedAttributeNames = new HashSet<>();
+    HashSet<String> expectedAttributeValues = new HashSet<>();
+    expectedAttributeNames.add("Fruits:attribute");
+    expectedAttributeNames.add("Fish:attribute");
+    expectedAttributeValues.add(ATTRIBUTE_1);
+    expectedAttributeValues.add(ATTRIBUTE_2);
     // ATTRIBUTE_1
     expectedRowNum++;
     assertEquals(
@@ -133,14 +141,10 @@ public class XmlInputStreamTest {
         INCORRECT_XML_PATH_MESSAGE,
         "/Products/Product/Fruits:ProductGroup",
         rl.getWritten().get(expectedRowNum)[pathPos]);
-    assertEquals(
-        INCORRECT_XML_DATA_NAME_MESSAGE,
-        "Fruits:attribute",
-        rl.getWritten().get(expectedRowNum)[dataNamePos]);
-    assertEquals(
-        INCORRECT_XML_DATA_VALUE_MESSAGE,
-        ATTRIBUTE_1,
-        rl.getWritten().get(expectedRowNum)[dataValue]);
+    assertTrue(INCORRECT_XML_DATA_NAME_MESSAGE,
+            
expectedAttributeNames.contains(rl.getWritten().get(expectedRowNum)[dataNamePos]));
+    assertTrue(INCORRECT_XML_DATA_VALUE_MESSAGE,
+            
expectedAttributeValues.contains(rl.getWritten().get(expectedRowNum)[dataValue]));
     // ATTRIBUTE_2
     expectedRowNum++;
     assertEquals(
@@ -151,14 +155,10 @@ public class XmlInputStreamTest {
         INCORRECT_XML_PATH_MESSAGE,
         "/Products/Product/Fruits:ProductGroup",
         rl.getWritten().get(expectedRowNum)[pathPos]);
-    assertEquals(
-        INCORRECT_XML_DATA_NAME_MESSAGE,
-        "Fish:attribute",
-        rl.getWritten().get(expectedRowNum)[dataNamePos]);
-    assertEquals(
-        INCORRECT_XML_DATA_VALUE_MESSAGE,
-        ATTRIBUTE_2,
-        rl.getWritten().get(expectedRowNum)[dataValue]);
+    assertTrue(INCORRECT_XML_DATA_NAME_MESSAGE,
+            
expectedAttributeNames.contains(rl.getWritten().get(expectedRowNum)[dataNamePos]));
+    assertTrue(INCORRECT_XML_DATA_VALUE_MESSAGE,
+            
expectedAttributeValues.contains(rl.getWritten().get(expectedRowNum)[dataValue]));
 
     // check EndElement for the ProductGroup element
     expectedRowNum = expectedRowNum + 2;
@@ -201,6 +201,9 @@ public class XmlInputStreamTest {
         rl.getWritten().get(expectedRowNum)[dataNamePos]);
 
     // attributes
+    HashSet<String> expectedAttributeValues = new HashSet<>();
+    expectedAttributeValues.add(ATTRIBUTE_1);
+    expectedAttributeValues.add(ATTRIBUTE_2);
     // ATTRIBUTE_1
     expectedRowNum++;
     assertEquals(
@@ -215,10 +218,8 @@ public class XmlInputStreamTest {
         INCORRECT_XML_DATA_NAME_MESSAGE,
         "attribute",
         rl.getWritten().get(expectedRowNum)[dataNamePos]);
-    assertEquals(
-        INCORRECT_XML_DATA_VALUE_MESSAGE,
-        ATTRIBUTE_1,
-        rl.getWritten().get(expectedRowNum)[dataValue]);
+    assertTrue(INCORRECT_XML_DATA_VALUE_MESSAGE,
+            
expectedAttributeValues.contains(rl.getWritten().get(expectedRowNum)[dataValue]));
     // ATTRIBUTE_2
     expectedRowNum++;
     assertEquals(
@@ -233,10 +234,8 @@ public class XmlInputStreamTest {
         INCORRECT_XML_DATA_NAME_MESSAGE,
         "attribute",
         rl.getWritten().get(expectedRowNum)[dataNamePos]);
-    assertEquals(
-        INCORRECT_XML_DATA_VALUE_MESSAGE,
-        ATTRIBUTE_2,
-        rl.getWritten().get(expectedRowNum)[dataValue]);
+    assertTrue(INCORRECT_XML_DATA_VALUE_MESSAGE,
+            
expectedAttributeValues.contains(rl.getWritten().get(expectedRowNum)[dataValue]));
 
     // check EndElement for the ProductGroup element
     expectedRowNum = expectedRowNum + 2;
@@ -280,6 +279,12 @@ public class XmlInputStreamTest {
         rl.getWritten().get(expectedRowNum)[dataNamePos]);
 
     // attributes
+    HashSet<String> expectedAttributeNames = new HashSet<>();
+    HashSet<String> expectedAttributeValues = new HashSet<>();
+    expectedAttributeNames.add("attribute1");
+    expectedAttributeNames.add("attribute2");
+    expectedAttributeValues.add(ATTRIBUTE_1);
+    expectedAttributeValues.add(ATTRIBUTE_2);
     // ATTRIBUTE_1
     expectedRowNum++;
     assertEquals(
@@ -290,14 +295,10 @@ public class XmlInputStreamTest {
         INCORRECT_XML_PATH_MESSAGE,
         "/Products/Product/ProductGroup",
         rl.getWritten().get(expectedRowNum)[pathPos]);
-    assertEquals(
-        INCORRECT_XML_DATA_NAME_MESSAGE,
-        "attribute1",
-        rl.getWritten().get(expectedRowNum)[dataNamePos]);
-    assertEquals(
-        INCORRECT_XML_DATA_VALUE_MESSAGE,
-        ATTRIBUTE_1,
-        rl.getWritten().get(expectedRowNum)[dataValue]);
+    assertTrue(INCORRECT_XML_DATA_NAME_MESSAGE,
+            
expectedAttributeNames.contains(rl.getWritten().get(expectedRowNum)[dataNamePos]));
+    assertTrue(INCORRECT_XML_DATA_VALUE_MESSAGE,
+            
expectedAttributeValues.contains(rl.getWritten().get(expectedRowNum)[dataValue]));
     // ATTRIBUTE_2
     expectedRowNum++;
     assertEquals(
@@ -308,14 +309,10 @@ public class XmlInputStreamTest {
         INCORRECT_XML_PATH_MESSAGE,
         "/Products/Product/ProductGroup",
         rl.getWritten().get(expectedRowNum)[pathPos]);
-    assertEquals(
-        INCORRECT_XML_DATA_NAME_MESSAGE,
-        "attribute2",
-        rl.getWritten().get(expectedRowNum)[dataNamePos]);
-    assertEquals(
-        INCORRECT_XML_DATA_VALUE_MESSAGE,
-        ATTRIBUTE_2,
-        rl.getWritten().get(expectedRowNum)[dataValue]);
+    assertTrue(INCORRECT_XML_DATA_NAME_MESSAGE,
+            
expectedAttributeNames.contains(rl.getWritten().get(expectedRowNum)[dataNamePos]));
+    assertTrue(INCORRECT_XML_DATA_VALUE_MESSAGE,
+            
expectedAttributeValues.contains(rl.getWritten().get(expectedRowNum)[dataValue]));
 
     // check EndElement for the ProductGroup element
     expectedRowNum = expectedRowNum + 2;

Reply via email to