Skip to content

Commit baf28fe

Browse files
committed
Test fix - Graph connections could appear in different orders
Graph connections could appear in different orders based on insertion sequence Closes #33686
1 parent e351b45 commit baf28fe

File tree

2 files changed

+28
-1
lines changed

2 files changed

+28
-1
lines changed

x-pack/plugin/core/src/test/java/org/elasticsearch/protocol/xpack/graph/GraphExploreResponseTests.java

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313
import org.elasticsearch.test.AbstractXContentTestCase;
1414

1515
import java.io.IOException;
16+
import java.util.Arrays;
17+
import java.util.Comparator;
1618
import java.util.HashMap;
1719
import java.util.Map;
1820
import java.util.function.Predicate;
@@ -88,12 +90,29 @@ protected void assertEqualInstances( GraphExploreResponse expectedInstance, Gra
8890
assertThat(newInstance.getTook(), equalTo(expectedInstance.getTook()));
8991
assertThat(newInstance.isTimedOut(), equalTo(expectedInstance.isTimedOut()));
9092

93+
Comparator<Connection> connComparator = new Comparator<Connection>() {
94+
@Override
95+
public int compare(Connection o1, Connection o2) {
96+
return o1.getId().toString().compareTo(o2.getId().toString());
97+
}
98+
};
9199
Connection[] newConns = newInstance.getConnections().toArray(new Connection[0]);
92100
Connection[] expectedConns = expectedInstance.getConnections().toArray(new Connection[0]);
101+
Arrays.sort(newConns, connComparator);
102+
Arrays.sort(expectedConns, connComparator);
93103
assertArrayEquals(expectedConns, newConns);
94104

95-
Vertex[] newVertices = newInstance.getVertices().toArray(new Vertex[0]);
105+
//Sort the vertices lists before equality test (map insertion sequences can cause order differences)
106+
Comparator<Vertex> comparator = new Comparator<Vertex>() {
107+
@Override
108+
public int compare(Vertex o1, Vertex o2) {
109+
return o1.getId().toString().compareTo(o2.getId().toString());
110+
}
111+
};
112+
Vertex[] newVertices = newInstance.getVertices().toArray(new Vertex[0]);
96113
Vertex[] expectedVertices = expectedInstance.getVertices().toArray(new Vertex[0]);
114+
Arrays.sort(newVertices, comparator);
115+
Arrays.sort(expectedVertices, comparator);
97116
assertArrayEquals(expectedVertices, newVertices);
98117

99118
ShardOperationFailedException[] newFailures = newInstance.getShardFailures();

x-pack/protocol/src/test/java/org/elasticsearch/protocol/xpack/graph/GraphExploreResponseTests.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,8 +103,16 @@ protected void assertEqualInstances( GraphExploreResponse expectedInstance, Gra
103103
assertThat(newInstance.getTook(), equalTo(expectedInstance.getTook()));
104104
assertThat(newInstance.isTimedOut(), equalTo(expectedInstance.isTimedOut()));
105105

106+
Comparator<Connection> connComparator = new Comparator<Connection>() {
107+
@Override
108+
public int compare(Connection o1, Connection o2) {
109+
return o1.getId().toString().compareTo(o2.getId().toString());
110+
}
111+
};
106112
Connection[] newConns = newInstance.getConnections().toArray(new Connection[0]);
107113
Connection[] expectedConns = expectedInstance.getConnections().toArray(new Connection[0]);
114+
Arrays.sort(newConns, connComparator);
115+
Arrays.sort(expectedConns, connComparator);
108116
assertArrayEquals(expectedConns, newConns);
109117

110118
//Sort the vertices lists before equality test (map insertion sequences can cause order differences)

0 commit comments

Comments
 (0)