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;