Skip to content

Commit a691060

Browse files
committed
Fixes UpdateSettingsRequestStreamableTests mutate bug
The mutate function in UpdateSettingsRequestStreamableTests did not guarantee that the masterNodeTimeout and timeout values are definitely changed and occassionally the randomTimeValue() method would select the sime time value as the original request which caused a failure.
1 parent f0a2ccf commit a691060

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

server/src/test/java/org/elasticsearch/action/admin/indices/settings/put/UpdateSettingsRequestStreamableTests.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import org.elasticsearch.common.settings.Settings.Builder;
2525
import org.elasticsearch.common.util.CollectionUtils;
2626
import org.elasticsearch.test.AbstractStreamableTestCase;
27+
import org.elasticsearch.test.ESTestCase;
2728

2829
import java.util.ArrayList;
2930
import java.util.Arrays;
@@ -38,8 +39,9 @@ public class UpdateSettingsRequestStreamableTests extends AbstractStreamableTest
3839
protected UpdateSettingsRequest mutateInstance(UpdateSettingsRequest request) {
3940
UpdateSettingsRequest mutation = copyRequest(request);
4041
List<Runnable> mutators = new ArrayList<>();
41-
mutators.add(() -> mutation.masterNodeTimeout(randomTimeValue()));
42-
mutators.add(() -> mutation.timeout(randomTimeValue()));
42+
mutators.add(() -> mutation
43+
.masterNodeTimeout(randomValueOtherThan(request.masterNodeTimeout().getStringRep(), ESTestCase::randomTimeValue)));
44+
mutators.add(() -> mutation.timeout(randomValueOtherThan(request.masterNodeTimeout().getStringRep(), ESTestCase::randomTimeValue)));
4345
mutators.add(() -> mutation.settings(mutateSettings(request.settings())));
4446
mutators.add(() -> mutation.indices(mutateIndices(request.indices())));
4547
mutators.add(() -> mutation.indicesOptions(randomValueOtherThan(request.indicesOptions(),
@@ -72,7 +74,7 @@ public static UpdateSettingsRequest createTestItem() {
7274

7375
private static UpdateSettingsRequest copyRequest(UpdateSettingsRequest request) {
7476
UpdateSettingsRequest result = new UpdateSettingsRequest(request.settings(), request.indices());
75-
result.masterNodeTimeout(request.timeout());
77+
result.masterNodeTimeout(request.masterNodeTimeout());
7678
result.timeout(request.timeout());
7779
result.indicesOptions(request.indicesOptions());
7880
result.setPreserveExisting(request.isPreserveExisting());

0 commit comments

Comments
 (0)