From 982e29f9babba8a96f95a7610cc7fcaafcfdf110 Mon Sep 17 00:00:00 2001 From: Xue Zhou Date: Wed, 19 Oct 2022 21:59:38 -0700 Subject: [PATCH] fix test failure Signed-off-by: Xue Zhou --- .../azure/classic/AzureSimpleTests.java | 7 +++++-- .../ExampleCustomSettingsConfigTests.java | 9 ++++++--- .../repositories/s3/S3RepositoryTests.java | 15 +++++++++------ .../metadata/EvilSystemPropertyTests.java | 17 +++++++++++------ 4 files changed, 31 insertions(+), 17 deletions(-) diff --git a/plugins/discovery-azure-classic/src/internalClusterTest/java/org/opensearch/discovery/azure/classic/AzureSimpleTests.java b/plugins/discovery-azure-classic/src/internalClusterTest/java/org/opensearch/discovery/azure/classic/AzureSimpleTests.java index 4c2dda180eda6..95117beb3a0a9 100644 --- a/plugins/discovery-azure-classic/src/internalClusterTest/java/org/opensearch/discovery/azure/classic/AzureSimpleTests.java +++ b/plugins/discovery-azure-classic/src/internalClusterTest/java/org/opensearch/discovery/azure/classic/AzureSimpleTests.java @@ -36,9 +36,11 @@ import org.opensearch.cloud.azure.classic.management.AzureComputeService.Discovery; import org.opensearch.cloud.azure.classic.management.AzureComputeService.Management; import org.opensearch.common.settings.Settings; +import org.opensearch.common.settings.SettingsException; import org.opensearch.test.OpenSearchIntegTestCase; import static org.hamcrest.Matchers.containsString; +import static org.hamcrest.Matchers.instanceOf; @OpenSearchIntegTestCase.ClusterScope(scope = OpenSearchIntegTestCase.Scope.TEST, numDataNodes = 0, numClientNodes = 0) public class AzureSimpleTests extends AbstractAzureComputeServiceTestCase { @@ -78,7 +80,8 @@ public void testOneNodeShouldRunUsingWrongSettings() { .put(Management.SERVICE_NAME_SETTING.getKey(), "dummy") .put(Discovery.HOST_TYPE_SETTING.getKey(), "do_not_exist"); - IllegalArgumentException e = expectThrows(IllegalArgumentException.class, () -> internalCluster().startNode(settings)); - assertThat(e.getMessage(), containsString("invalid value for host type [do_not_exist]")); + SettingsException e = expectThrows(SettingsException.class, () -> internalCluster().startNode(settings)); + assertThat(e.getCause(), instanceOf(IllegalArgumentException.class)); + assertThat(e.getCause().getMessage(), containsString("invalid value for host type [do_not_exist]")); } } diff --git a/plugins/examples/custom-settings/src/test/java/org/opensearch/example/customsettings/ExampleCustomSettingsConfigTests.java b/plugins/examples/custom-settings/src/test/java/org/opensearch/example/customsettings/ExampleCustomSettingsConfigTests.java index eb1fc056beaff..100edcf0eb79f 100644 --- a/plugins/examples/custom-settings/src/test/java/org/opensearch/example/customsettings/ExampleCustomSettingsConfigTests.java +++ b/plugins/examples/custom-settings/src/test/java/org/opensearch/example/customsettings/ExampleCustomSettingsConfigTests.java @@ -31,7 +31,9 @@ package org.opensearch.example.customsettings; +import org.hamcrest.Matchers; import org.opensearch.common.settings.Settings; +import org.opensearch.common.settings.SettingsException; import org.opensearch.test.OpenSearchTestCase; import static org.opensearch.example.customsettings.ExampleCustomSettingsConfig.VALIDATED_SETTING; @@ -50,10 +52,11 @@ public void testValidatedSetting() { final String actual = VALIDATED_SETTING.get(Settings.builder().put(VALIDATED_SETTING.getKey(), expected).build()); assertEquals(expected, actual); - final IllegalArgumentException exception = expectThrows( - IllegalArgumentException.class, + final SettingsException exception = expectThrows( + SettingsException.class, () -> VALIDATED_SETTING.get(Settings.builder().put("custom.validated", "it's forbidden").build()) ); - assertEquals("Setting must not contain [forbidden]", exception.getMessage()); + assertThat(exception.getCause(), Matchers.instanceOf(IllegalArgumentException.class)); + assertEquals("Setting must not contain [forbidden]", exception.getCause().getMessage()); } } diff --git a/plugins/repository-s3/src/test/java/org/opensearch/repositories/s3/S3RepositoryTests.java b/plugins/repository-s3/src/test/java/org/opensearch/repositories/s3/S3RepositoryTests.java index da1f5d71b4da5..9413e96070e63 100644 --- a/plugins/repository-s3/src/test/java/org/opensearch/repositories/s3/S3RepositoryTests.java +++ b/plugins/repository-s3/src/test/java/org/opensearch/repositories/s3/S3RepositoryTests.java @@ -36,6 +36,7 @@ import org.opensearch.cluster.metadata.RepositoryMetadata; import org.opensearch.common.settings.ClusterSettings; import org.opensearch.common.settings.Settings; +import org.opensearch.common.settings.SettingsException; import org.opensearch.common.unit.ByteSizeUnit; import org.opensearch.common.unit.ByteSizeValue; import org.opensearch.common.xcontent.NamedXContentRegistry; @@ -88,17 +89,19 @@ public void testInvalidChunkBufferSizeSettings() { createS3Repo(getRepositoryMetadata(s3)).close(); // buffer < 5mb should fail final Settings s4 = bufferAndChunkSettings(4, 10); - final IllegalArgumentException e2 = expectThrows( - IllegalArgumentException.class, + final SettingsException e2 = expectThrows( + SettingsException.class, () -> createS3Repo(getRepositoryMetadata(s4)).close() ); - assertThat(e2.getMessage(), containsString("failed to parse value [4mb] for setting [buffer_size], must be >= [5mb]")); + assertThat(e2.getCause(), Matchers.instanceOf(IllegalArgumentException.class)); + assertThat(e2.getCause().getMessage(), containsString("failed to parse value [4mb] for setting [buffer_size], must be >= [5mb]")); final Settings s5 = bufferAndChunkSettings(5, 6000000); - final IllegalArgumentException e3 = expectThrows( - IllegalArgumentException.class, + final SettingsException e3 = expectThrows( + SettingsException.class, () -> createS3Repo(getRepositoryMetadata(s5)).close() ); - assertThat(e3.getMessage(), containsString("failed to parse value [6000000mb] for setting [chunk_size], must be <= [5tb]")); + assertThat(e3.getCause(), Matchers.instanceOf(IllegalArgumentException.class)); + assertThat(e3.getCause().getMessage(), containsString("failed to parse value [6000000mb] for setting [chunk_size], must be <= [5tb]")); } private Settings bufferAndChunkSettings(long buffer, long chunk) { diff --git a/qa/evil-tests/src/test/java/org/opensearch/cluster/metadata/EvilSystemPropertyTests.java b/qa/evil-tests/src/test/java/org/opensearch/cluster/metadata/EvilSystemPropertyTests.java index ddb7913b0a1ed..aa9a3600a168c 100644 --- a/qa/evil-tests/src/test/java/org/opensearch/cluster/metadata/EvilSystemPropertyTests.java +++ b/qa/evil-tests/src/test/java/org/opensearch/cluster/metadata/EvilSystemPropertyTests.java @@ -31,8 +31,10 @@ package org.opensearch.cluster.metadata; +import org.hamcrest.Matchers; import org.opensearch.common.SuppressForbidden; import org.opensearch.common.settings.Settings; +import org.opensearch.common.settings.SettingsException; import org.opensearch.test.OpenSearchTestCase; import static org.opensearch.cluster.metadata.IndexMetadata.DEFAULT_NUMBER_OF_SHARDS; @@ -43,20 +45,22 @@ public class EvilSystemPropertyTests extends OpenSearchTestCase { @SuppressForbidden(reason = "manipulates system properties for testing") public void testNumShards() { - IllegalArgumentException exception = expectThrows(IllegalArgumentException.class, () -> + SettingsException exception = expectThrows(SettingsException.class, () -> IndexMetadata.buildNumberOfShardsSetting() .get(Settings.builder().put(SETTING_NUMBER_OF_SHARDS, 1025).build())); - assertEquals("Failed to parse value [1025] for setting [" + SETTING_NUMBER_OF_SHARDS + "] must be <= 1024", exception.getMessage()); + assertEquals("Failed to parse value [1025] for setting [" + SETTING_NUMBER_OF_SHARDS + "] must be <= 1024", exception.getCause().getMessage()); Integer numShards = IndexMetadata.INDEX_NUMBER_OF_SHARDS_SETTING.get(Settings.builder().put(SETTING_NUMBER_OF_SHARDS, 100).build()); assertEquals(100, numShards.intValue()); int limit = randomIntBetween(1, 10); System.setProperty(MAX_NUMBER_OF_SHARDS, Integer.toString(limit)); try { - IllegalArgumentException e = expectThrows(IllegalArgumentException.class, () -> + SettingsException e = expectThrows(SettingsException.class, () -> IndexMetadata.buildNumberOfShardsSetting() .get(Settings.builder().put("index.number_of_shards", 11).build())); - assertEquals("Failed to parse value [11] for setting [index.number_of_shards] must be <= " + limit, e.getMessage()); + Throwable cause = e.getCause(); + assertThat(cause, Matchers.instanceOf(IllegalArgumentException.class)); + assertEquals("Failed to parse value [11] for setting [index.number_of_shards] must be <= " + limit, cause.getMessage()); System.clearProperty(MAX_NUMBER_OF_SHARDS); Integer defaultFromSetting = IndexMetadata.INDEX_NUMBER_OF_SHARDS_SETTING.getDefault(Settings.EMPTY); @@ -70,9 +74,10 @@ public void testNumShards() { randomDefault = randomIntBetween(1, 10); System.setProperty(MAX_NUMBER_OF_SHARDS, Integer.toString(randomDefault)); System.setProperty(DEFAULT_NUMBER_OF_SHARDS, Integer.toString(randomDefault + 1)); - e = expectThrows(IllegalArgumentException.class, IndexMetadata::buildNumberOfShardsSetting); + + cause = expectThrows(IllegalArgumentException.class, IndexMetadata::buildNumberOfShardsSetting); assertEquals(DEFAULT_NUMBER_OF_SHARDS + " value [" + (randomDefault + 1) + "] must between " + - "1 and " + MAX_NUMBER_OF_SHARDS + " [" + randomDefault + "]", e.getMessage()); + "1 and " + MAX_NUMBER_OF_SHARDS + " [" + randomDefault + "]", cause.getMessage()); } finally { System.clearProperty(MAX_NUMBER_OF_SHARDS); System.clearProperty(DEFAULT_NUMBER_OF_SHARDS);