diff --git a/muted-tests.yml b/muted-tests.yml index 56911ed60250d..fc54ae207b481 100644 --- a/muted-tests.yml +++ b/muted-tests.yml @@ -239,12 +239,6 @@ tests: - class: org.elasticsearch.xpack.inference.action.filter.ShardBulkInferenceActionFilterIT method: testBulkOperations {p0=false} issue: https://github.com/elastic/elasticsearch/issues/119901 -- class: org.elasticsearch.xpack.security.authz.IndicesAndAliasesResolverTests - method: testBackingIndicesAreVisibleWhenIncludedByRequestWithWildcard - issue: https://github.com/elastic/elasticsearch/issues/119908 -- class: org.elasticsearch.xpack.security.authz.IndicesAndAliasesResolverTests - method: testBackingIndicesAreNotVisibleWhenNotIncludedByRequestWithoutWildcard - issue: https://github.com/elastic/elasticsearch/issues/119909 - class: org.elasticsearch.xpack.inference.InferenceCrudIT method: testGetServicesWithCompletionTaskType issue: https://github.com/elastic/elasticsearch/issues/119959 diff --git a/x-pack/plugin/security/src/test/java/org/elasticsearch/xpack/security/authz/IndicesAndAliasesResolverTests.java b/x-pack/plugin/security/src/test/java/org/elasticsearch/xpack/security/authz/IndicesAndAliasesResolverTests.java index b62d895db7f1d..a0d63d26d475f 100644 --- a/x-pack/plugin/security/src/test/java/org/elasticsearch/xpack/security/authz/IndicesAndAliasesResolverTests.java +++ b/x-pack/plugin/security/src/test/java/org/elasticsearch/xpack/security/authz/IndicesAndAliasesResolverTests.java @@ -161,7 +161,7 @@ public void setup() { IndexMetadata dataStreamFailureStore1 = DataStreamTestHelper.createFailureStore(dataStreamName, 1).build(); IndexMetadata dataStreamFailureStore2 = DataStreamTestHelper.createFailureStore(dataStreamName, 2).build(); IndexMetadata dataStreamIndex3 = DataStreamTestHelper.createBackingIndex(otherDataStreamName, 1).build(); - Metadata metadata = Metadata.builder() + Metadata.Builder metadataBuilder = Metadata.builder() .put( indexBuilder("foo").putAlias(AliasMetadata.builder("foofoobar")) .putAlias(AliasMetadata.builder("foounauthorized")) @@ -219,23 +219,27 @@ public void setup() { .put(dataStreamIndex1, true) .put(dataStreamIndex2, true) .put(dataStreamIndex3, true) - .put(dataStreamFailureStore1, true) - .put(dataStreamFailureStore2, true) - .put( - newInstance( - dataStreamName, - List.of(dataStreamIndex1.getIndex(), dataStreamIndex2.getIndex()), - List.of(dataStreamFailureStore1.getIndex(), dataStreamFailureStore2.getIndex()) - ) - ) .put(newInstance(otherDataStreamName, List.of(dataStreamIndex3.getIndex()))) - .put(indexBuilder(securityIndexName).settings(settings)) - .build(); + .put(indexBuilder(securityIndexName).settings(settings)); + // Only add the failure indices if the failure store flag is enabled + if (DataStream.isFailureStoreFeatureFlagEnabled()) { + metadataBuilder.put(dataStreamFailureStore1, true).put(dataStreamFailureStore2, true); + } + metadataBuilder.put( + newInstance( + dataStreamName, + List.of(dataStreamIndex1.getIndex(), dataStreamIndex2.getIndex()), + DataStream.isFailureStoreFeatureFlagEnabled() + ? List.of(dataStreamFailureStore1.getIndex(), dataStreamFailureStore2.getIndex()) + : List.of() + ) + ); if (withAlias) { - metadata = SecurityTestUtils.addAliasToMetadata(metadata, securityIndexName); + this.metadata = SecurityTestUtils.addAliasToMetadata(metadataBuilder.build(), securityIndexName); + } else { + this.metadata = metadataBuilder.build(); } - this.metadata = metadata; user = new User("user", "role"); userDashIndices = new User("dash", "dash"); @@ -2367,7 +2371,7 @@ public void testDataStreamsAreVisibleWhenIncludedByRequestWithoutWildcard() { public void testBackingIndicesAreVisibleWhenIncludedByRequestWithWildcard() { final User user = new User("data-stream-tester3", "data_stream_test3"); - boolean failureStore = randomBoolean(); + boolean failureStore = runFailureStore(); SearchRequest request = new SearchRequest(failureStore ? ".fs-logs*" : ".ds-logs*"); assertThat(request, instanceOf(IndicesRequest.Replaceable.class)); assertThat(request.includeDataStreams(), is(true)); @@ -2447,7 +2451,7 @@ public void testBackingIndicesAreNotVisibleWhenNotIncludedByRequestWithoutWildca public void testDataStreamNotAuthorizedWhenBackingIndicesAreAuthorizedViaWildcardAndRequestThatIncludesDataStreams() { final User user = new User("data-stream-tester2", "backing_index_test_wildcards"); - boolean failureStore = randomBoolean(); + boolean failureStore = runFailureStore(); String indexName = failureStore ? ".fs-logs-foobar-*" : ".ds-logs-foobar-*"; SearchRequest request = new SearchRequest(indexName); assertThat(request, instanceOf(IndicesRequest.Replaceable.class)); @@ -2487,7 +2491,7 @@ public void testDataStreamNotAuthorizedWhenBackingIndicesAreAuthorizedViaWildcar public void testDataStreamNotAuthorizedWhenBackingIndicesAreAuthorizedViaNameAndRequestThatIncludesDataStreams() { final User user = new User("data-stream-tester2", "backing_index_test_name"); - boolean failureStore = randomBoolean(); + boolean failureStore = runFailureStore(); String indexName = failureStore ? ".fs-logs-foobar-*" : ".ds-logs-foobar-*"; SearchRequest request = new SearchRequest(indexName); assertThat(request, instanceOf(IndicesRequest.Replaceable.class)); @@ -2519,7 +2523,7 @@ public void testDataStreamNotAuthorizedWhenBackingIndicesAreAuthorizedViaNameAnd public void testDataStreamNotAuthorizedWhenBackingIndicesAreAuthorizedViaWildcardAndRequestThatExcludesDataStreams() { final User user = new User("data-stream-tester2", "backing_index_test_wildcards"); - boolean failureStore = randomBoolean(); + boolean failureStore = runFailureStore(); String indexName = failureStore ? ".fs-logs-foobar-*" : ".ds-logs-foobar-*"; GetAliasesRequest request = new GetAliasesRequest(TEST_REQUEST_TIMEOUT, indexName); assertThat(request, instanceOf(IndicesRequest.Replaceable.class)); @@ -2559,7 +2563,7 @@ public void testDataStreamNotAuthorizedWhenBackingIndicesAreAuthorizedViaWildcar public void testDataStreamNotAuthorizedWhenBackingIndicesAreAuthorizedViaNameAndRequestThatExcludesDataStreams() { final User user = new User("data-stream-tester2", "backing_index_test_name"); - boolean failureStore = randomBoolean(); + boolean failureStore = runFailureStore(); String indexName = failureStore ? ".fs-logs-foobar-*" : ".ds-logs-foobar-*"; GetAliasesRequest request = new GetAliasesRequest(TEST_REQUEST_TIMEOUT, indexName); assertThat(request, instanceOf(IndicesRequest.Replaceable.class)); @@ -2674,4 +2678,8 @@ private void assertSameValues(List indices, String[] expectedIndices) { assertThat(indices.stream().distinct().count(), equalTo((long) expectedIndices.length)); assertThat(indices, hasItems(expectedIndices)); } + + private boolean runFailureStore() { + return DataStream.isFailureStoreFeatureFlagEnabled() && randomBoolean(); + } }