Skip to content

Commit

Permalink
Adjust randomization in ResolveClusterActionResponseTests (#105932) (#…
Browse files Browse the repository at this point in the history
…106756)

to avoid failures in `testEqualsAndHashcode` tests.

Fixes #105898
  • Loading branch information
quux00 committed Mar 26, 2024
1 parent 57b0de7 commit 23628b0
Showing 1 changed file with 23 additions and 6 deletions.
Expand Up @@ -20,22 +20,39 @@ public class ResolveClusterActionResponseTests extends AbstractWireSerializingTe

@Override
protected ResolveClusterActionResponse createTestInstance() {
return new ResolveClusterActionResponse(randomResolveClusterInfoMap());
return new ResolveClusterActionResponse(randomResolveClusterInfoMap(null));
}

private Map<String, ResolveClusterInfo> randomResolveClusterInfoMap() {
private ResolveClusterInfo randomResolveClusterInfo(ResolveClusterInfo existing) {
if (existing == null) {
return randomResolveClusterInfo();
} else {
return randomValueOtherThan(existing, () -> randomResolveClusterInfo());
}
}

private ResolveClusterInfo getResolveClusterInfoFromResponse(String key, ResolveClusterActionResponse response) {
if (response == null || response.getResolveClusterInfo() == null) {
return null;
}
return response.getResolveClusterInfo().get(key);
}

private Map<String, ResolveClusterInfo> randomResolveClusterInfoMap(ResolveClusterActionResponse existingResponse) {
Map<String, ResolveClusterInfo> infoMap = new HashMap<>();
int numClusters = randomIntBetween(0, 50);
if (randomBoolean() || numClusters == 0) {
infoMap.put(RemoteClusterAware.LOCAL_CLUSTER_GROUP_KEY, randomResolveClusterInfo());
String key = RemoteClusterAware.LOCAL_CLUSTER_GROUP_KEY;
infoMap.put(key, randomResolveClusterInfo(getResolveClusterInfoFromResponse(key, existingResponse)));
}
for (int i = 0; i < numClusters; i++) {
infoMap.put("remote_" + i, randomResolveClusterInfo());
String key = "remote_" + i;
infoMap.put(key, randomResolveClusterInfo(getResolveClusterInfoFromResponse(key, existingResponse)));
}
return infoMap;
}

private ResolveClusterInfo randomResolveClusterInfo() {
static ResolveClusterInfo randomResolveClusterInfo() {
int val = randomIntBetween(1, 3);
return switch (val) {
case 1 -> new ResolveClusterInfo(false, randomBoolean());
Expand All @@ -52,6 +69,6 @@ protected Writeable.Reader<ResolveClusterActionResponse> instanceReader() {

@Override
protected ResolveClusterActionResponse mutateInstance(ResolveClusterActionResponse response) {
return new ResolveClusterActionResponse(randomResolveClusterInfoMap());
return new ResolveClusterActionResponse(randomResolveClusterInfoMap(response));
}
}

0 comments on commit 23628b0

Please sign in to comment.