From 056146b49908f1c42038cca985a0937891cd23d9 Mon Sep 17 00:00:00 2001 From: Jay DeLuca Date: Sat, 14 Sep 2024 06:13:47 -0400 Subject: [PATCH 1/5] remove assertion for host.arch to reduce flakiness --- .../resources/internal/DeclarativeConfigTest.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/instrumentation/resources/library/src/test/java/io/opentelemetry/instrumentation/resources/internal/DeclarativeConfigTest.java b/instrumentation/resources/library/src/test/java/io/opentelemetry/instrumentation/resources/internal/DeclarativeConfigTest.java index 14b8aacc2aa1..8b54cc6f0d4b 100644 --- a/instrumentation/resources/library/src/test/java/io/opentelemetry/instrumentation/resources/internal/DeclarativeConfigTest.java +++ b/instrumentation/resources/library/src/test/java/io/opentelemetry/instrumentation/resources/internal/DeclarativeConfigTest.java @@ -48,8 +48,7 @@ void endToEnd() { .collect(Collectors.toSet()); // ContainerResourceComponentProvider - no container attributes reliably provided // HostIdResourceComponentProvider - host.id attribute not reliably provided - // HostResourceComponentProvider - assertThat(attributeKeys).contains("host.arch"); + // HostResourceComponentProvider - host.arch attribute not reliably provided assertThat(attributeKeys).contains("host.name"); // OsResourceComponentProvider assertThat(attributeKeys).contains("os.description"); From 782c70eadf0d4909aa18f67e38cbd2c6fcc382eb Mon Sep 17 00:00:00 2001 From: Jay DeLuca Date: Sun, 15 Sep 2024 07:57:09 -0400 Subject: [PATCH 2/5] move security manager tests to their own suite --- .../resources/library/build.gradle.kts | 18 +++++++ .../resources/HostResourceTest.java | 19 -------- .../resources/OsResourceTest.java | 18 ------- .../resources/ProcessResourceTest.java | 19 -------- .../resources/ProcessRuntimeResourceTest.java | 18 ------- .../internal/DeclarativeConfigTest.java | 3 +- .../resources/SecurityManagerExtension.java | 0 .../SecurityManagerResourceTest.java | 47 +++++++++++++++++++ 8 files changed, 67 insertions(+), 75 deletions(-) rename instrumentation/resources/library/src/{test => testSecurityManager}/java/io/opentelemetry/instrumentation/resources/SecurityManagerExtension.java (100%) create mode 100644 instrumentation/resources/library/src/testSecurityManager/java/io/opentelemetry/instrumentation/resources/SecurityManagerResourceTest.java diff --git a/instrumentation/resources/library/build.gradle.kts b/instrumentation/resources/library/build.gradle.kts index 2c2ba58a3901..b779e231aee9 100644 --- a/instrumentation/resources/library/build.gradle.kts +++ b/instrumentation/resources/library/build.gradle.kts @@ -69,3 +69,21 @@ tasks { ) } } + +testing { + suites { + // Security Manager tests involve setup that can poison the environment for other tests + val testSecurityManager by registering(JvmTestSuite::class) { + dependencies { + implementation(project(":instrumentation:resources:library")) + implementation("io.opentelemetry:opentelemetry-sdk-common") + } + } + } +} + +tasks { + check { + dependsOn(testing.suites) + } +} diff --git a/instrumentation/resources/library/src/test/java/io/opentelemetry/instrumentation/resources/HostResourceTest.java b/instrumentation/resources/library/src/test/java/io/opentelemetry/instrumentation/resources/HostResourceTest.java index 4c2e0ca45514..ef46578cd619 100644 --- a/instrumentation/resources/library/src/test/java/io/opentelemetry/instrumentation/resources/HostResourceTest.java +++ b/instrumentation/resources/library/src/test/java/io/opentelemetry/instrumentation/resources/HostResourceTest.java @@ -11,12 +11,7 @@ import io.opentelemetry.sdk.resources.Resource; import io.opentelemetry.semconv.SchemaUrls; import io.opentelemetry.semconv.incubating.HostIncubatingAttributes; -import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.TestInstance; -import org.junit.jupiter.api.condition.EnabledOnJre; -import org.junit.jupiter.api.condition.JRE; -import org.junit.jupiter.api.extension.ExtendWith; class HostResourceTest { @Test @@ -30,18 +25,4 @@ void shouldCreateRuntimeAttributes() { assertThat(attributes.get(HostIncubatingAttributes.HOST_NAME)).isNotBlank(); assertThat(attributes.get(HostIncubatingAttributes.HOST_ARCH)).isNotBlank(); } - - @Nested - @TestInstance(TestInstance.Lifecycle.PER_CLASS) - @ExtendWith(SecurityManagerExtension.class) - @EnabledOnJre( - value = {JRE.JAVA_8, JRE.JAVA_11, JRE.JAVA_16}, - disabledReason = "Java 17 deprecates security manager for removal") - static class SecurityManagerEnabled { - @Test - void empty() { - Attributes attributes = HostResource.buildResource().getAttributes(); - assertThat(attributes.asMap()).containsOnlyKeys(HostIncubatingAttributes.HOST_NAME); - } - } } diff --git a/instrumentation/resources/library/src/test/java/io/opentelemetry/instrumentation/resources/OsResourceTest.java b/instrumentation/resources/library/src/test/java/io/opentelemetry/instrumentation/resources/OsResourceTest.java index 682de97565a1..453fb92ac071 100644 --- a/instrumentation/resources/library/src/test/java/io/opentelemetry/instrumentation/resources/OsResourceTest.java +++ b/instrumentation/resources/library/src/test/java/io/opentelemetry/instrumentation/resources/OsResourceTest.java @@ -10,12 +10,7 @@ import io.opentelemetry.sdk.resources.Resource; import io.opentelemetry.semconv.SchemaUrls; import io.opentelemetry.semconv.incubating.OsIncubatingAttributes; -import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.TestInstance; -import org.junit.jupiter.api.condition.EnabledOnJre; -import org.junit.jupiter.api.condition.JRE; -import org.junit.jupiter.api.extension.ExtendWith; import org.junitpioneer.jupiter.SetSystemProperty; class OsResourceTest { @@ -138,17 +133,4 @@ void unknown() { assertThat(resource.getAttribute(OsIncubatingAttributes.OS_TYPE)).isNull(); assertThat(resource.getAttribute(OsIncubatingAttributes.OS_DESCRIPTION)).isNotEmpty(); } - - @Nested - @TestInstance(TestInstance.Lifecycle.PER_CLASS) - @ExtendWith(SecurityManagerExtension.class) - @EnabledOnJre( - value = {JRE.JAVA_8, JRE.JAVA_11, JRE.JAVA_16}, - disabledReason = "Java 17 deprecates security manager for removal") - static class SecurityManagerEnabled { - @Test - void empty() { - assertThat(OsResource.buildResource()).isEqualTo(Resource.empty()); - } - } } diff --git a/instrumentation/resources/library/src/test/java/io/opentelemetry/instrumentation/resources/ProcessResourceTest.java b/instrumentation/resources/library/src/test/java/io/opentelemetry/instrumentation/resources/ProcessResourceTest.java index 27bfe409e2c2..c40429e147d3 100644 --- a/instrumentation/resources/library/src/test/java/io/opentelemetry/instrumentation/resources/ProcessResourceTest.java +++ b/instrumentation/resources/library/src/test/java/io/opentelemetry/instrumentation/resources/ProcessResourceTest.java @@ -11,12 +11,7 @@ import io.opentelemetry.sdk.resources.Resource; import io.opentelemetry.semconv.SchemaUrls; import io.opentelemetry.semconv.incubating.ProcessIncubatingAttributes; -import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.TestInstance; -import org.junit.jupiter.api.condition.EnabledOnJre; -import org.junit.jupiter.api.condition.JRE; -import org.junit.jupiter.api.extension.ExtendWith; import org.junitpioneer.jupiter.SetSystemProperty; class ProcessResourceTest { @@ -52,18 +47,4 @@ void windows() { // With Java 9+ and a compiled jar, ResourceAttributes.PROCESS_COMMAND_ARGS // will be set instead of ResourceAttributes.PROCESS_COMMAND_LINE } - - @Nested - @TestInstance(TestInstance.Lifecycle.PER_CLASS) - @ExtendWith(SecurityManagerExtension.class) - @EnabledOnJre( - value = {JRE.JAVA_8, JRE.JAVA_11, JRE.JAVA_16}, - disabledReason = "Java 17 deprecates security manager for removal") - static class SecurityManagerEnabled { - @Test - void empty() { - Attributes attributes = ProcessResource.buildResource().getAttributes(); - assertThat(attributes.asMap()).containsOnlyKeys(ProcessIncubatingAttributes.PROCESS_PID); - } - } } diff --git a/instrumentation/resources/library/src/test/java/io/opentelemetry/instrumentation/resources/ProcessRuntimeResourceTest.java b/instrumentation/resources/library/src/test/java/io/opentelemetry/instrumentation/resources/ProcessRuntimeResourceTest.java index d8fd1084c009..ab56bbffc875 100644 --- a/instrumentation/resources/library/src/test/java/io/opentelemetry/instrumentation/resources/ProcessRuntimeResourceTest.java +++ b/instrumentation/resources/library/src/test/java/io/opentelemetry/instrumentation/resources/ProcessRuntimeResourceTest.java @@ -11,12 +11,7 @@ import io.opentelemetry.sdk.resources.Resource; import io.opentelemetry.semconv.SchemaUrls; import io.opentelemetry.semconv.incubating.ProcessIncubatingAttributes; -import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.TestInstance; -import org.junit.jupiter.api.condition.EnabledOnJre; -import org.junit.jupiter.api.condition.JRE; -import org.junit.jupiter.api.extension.ExtendWith; class ProcessRuntimeResourceTest { @Test @@ -32,17 +27,4 @@ void shouldCreateRuntimeAttributes() { assertThat(attributes.get(ProcessIncubatingAttributes.PROCESS_RUNTIME_DESCRIPTION)) .isNotBlank(); } - - @Nested - @TestInstance(TestInstance.Lifecycle.PER_CLASS) - @ExtendWith(SecurityManagerExtension.class) - @EnabledOnJre( - value = {JRE.JAVA_8, JRE.JAVA_11, JRE.JAVA_16}, - disabledReason = "Java 17 deprecates security manager for removal") - static class SecurityManagerEnabled { - @Test - void empty() { - assertThat(ProcessRuntimeResource.buildResource()).isEqualTo(Resource.empty()); - } - } } diff --git a/instrumentation/resources/library/src/test/java/io/opentelemetry/instrumentation/resources/internal/DeclarativeConfigTest.java b/instrumentation/resources/library/src/test/java/io/opentelemetry/instrumentation/resources/internal/DeclarativeConfigTest.java index 8b54cc6f0d4b..14b8aacc2aa1 100644 --- a/instrumentation/resources/library/src/test/java/io/opentelemetry/instrumentation/resources/internal/DeclarativeConfigTest.java +++ b/instrumentation/resources/library/src/test/java/io/opentelemetry/instrumentation/resources/internal/DeclarativeConfigTest.java @@ -48,7 +48,8 @@ void endToEnd() { .collect(Collectors.toSet()); // ContainerResourceComponentProvider - no container attributes reliably provided // HostIdResourceComponentProvider - host.id attribute not reliably provided - // HostResourceComponentProvider - host.arch attribute not reliably provided + // HostResourceComponentProvider + assertThat(attributeKeys).contains("host.arch"); assertThat(attributeKeys).contains("host.name"); // OsResourceComponentProvider assertThat(attributeKeys).contains("os.description"); diff --git a/instrumentation/resources/library/src/test/java/io/opentelemetry/instrumentation/resources/SecurityManagerExtension.java b/instrumentation/resources/library/src/testSecurityManager/java/io/opentelemetry/instrumentation/resources/SecurityManagerExtension.java similarity index 100% rename from instrumentation/resources/library/src/test/java/io/opentelemetry/instrumentation/resources/SecurityManagerExtension.java rename to instrumentation/resources/library/src/testSecurityManager/java/io/opentelemetry/instrumentation/resources/SecurityManagerExtension.java diff --git a/instrumentation/resources/library/src/testSecurityManager/java/io/opentelemetry/instrumentation/resources/SecurityManagerResourceTest.java b/instrumentation/resources/library/src/testSecurityManager/java/io/opentelemetry/instrumentation/resources/SecurityManagerResourceTest.java new file mode 100644 index 000000000000..9243214e3f37 --- /dev/null +++ b/instrumentation/resources/library/src/testSecurityManager/java/io/opentelemetry/instrumentation/resources/SecurityManagerResourceTest.java @@ -0,0 +1,47 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +package io.opentelemetry.instrumentation.resources; + +import static org.assertj.core.api.Assertions.assertThat; + +import io.opentelemetry.api.common.AttributeKey; +import io.opentelemetry.api.common.Attributes; +import io.opentelemetry.sdk.resources.Resource; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.TestInstance; +import org.junit.jupiter.api.condition.EnabledOnJre; +import org.junit.jupiter.api.condition.JRE; +import org.junit.jupiter.api.extension.ExtendWith; + +@TestInstance(TestInstance.Lifecycle.PER_CLASS) +@ExtendWith(SecurityManagerExtension.class) +@EnabledOnJre( + value = {JRE.JAVA_8, JRE.JAVA_11, JRE.JAVA_16}, + disabledReason = "Java 17 deprecates security manager for removal") +class SecurityManagerResourceTest { + + @Test + void hostResourceTestEmpty() { + Attributes attributes = HostResource.buildResource().getAttributes(); + assertThat(attributes.asMap()).containsOnlyKeys(AttributeKey.stringKey("host.name")); + } + + @Test + void osResourceEmpty() { + assertThat(OsResource.buildResource()).isEqualTo(Resource.empty()); + } + + @Test + void processResourceEmpty() { + Attributes attributes = ProcessResource.buildResource().getAttributes(); + assertThat(attributes.asMap()).containsOnlyKeys(AttributeKey.longKey("process.pid")); + } + + @Test + void processRuntimeResourceEmpty() { + assertThat(ProcessRuntimeResource.buildResource()).isEqualTo(Resource.empty()); + } +} From 00414f6630b6ede946333b7d41ed034fa2be8e96 Mon Sep 17 00:00:00 2001 From: Jay DeLuca Date: Sun, 15 Sep 2024 08:03:43 -0400 Subject: [PATCH 3/5] use constants for attribute references --- .../instrumentation/resources/ProcessResource.java | 8 ++++---- .../resources/SecurityManagerResourceTest.java | 5 ++--- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/instrumentation/resources/library/src/main/java/io/opentelemetry/instrumentation/resources/ProcessResource.java b/instrumentation/resources/library/src/main/java/io/opentelemetry/instrumentation/resources/ProcessResource.java index fe9b398abe79..2f964a428845 100644 --- a/instrumentation/resources/library/src/main/java/io/opentelemetry/instrumentation/resources/ProcessResource.java +++ b/instrumentation/resources/library/src/main/java/io/opentelemetry/instrumentation/resources/ProcessResource.java @@ -23,13 +23,13 @@ public final class ProcessResource { // copied from ProcessIncubatingAttributes - private static final AttributeKey> PROCESS_COMMAND_ARGS = + static final AttributeKey> PROCESS_COMMAND_ARGS = AttributeKey.stringArrayKey("process.command_args"); - private static final AttributeKey PROCESS_COMMAND_LINE = + static final AttributeKey PROCESS_COMMAND_LINE = AttributeKey.stringKey("process.command_line"); - private static final AttributeKey PROCESS_EXECUTABLE_PATH = + static final AttributeKey PROCESS_EXECUTABLE_PATH = AttributeKey.stringKey("process.executable.path"); - private static final AttributeKey PROCESS_PID = AttributeKey.longKey("process.pid"); + static final AttributeKey PROCESS_PID = AttributeKey.longKey("process.pid"); // Note: This pattern doesn't support file paths with spaces in them. // Important: This is statically used in buildResource, so must be declared/initialized first. diff --git a/instrumentation/resources/library/src/testSecurityManager/java/io/opentelemetry/instrumentation/resources/SecurityManagerResourceTest.java b/instrumentation/resources/library/src/testSecurityManager/java/io/opentelemetry/instrumentation/resources/SecurityManagerResourceTest.java index 9243214e3f37..6f392c324088 100644 --- a/instrumentation/resources/library/src/testSecurityManager/java/io/opentelemetry/instrumentation/resources/SecurityManagerResourceTest.java +++ b/instrumentation/resources/library/src/testSecurityManager/java/io/opentelemetry/instrumentation/resources/SecurityManagerResourceTest.java @@ -7,7 +7,6 @@ import static org.assertj.core.api.Assertions.assertThat; -import io.opentelemetry.api.common.AttributeKey; import io.opentelemetry.api.common.Attributes; import io.opentelemetry.sdk.resources.Resource; import org.junit.jupiter.api.Test; @@ -26,7 +25,7 @@ class SecurityManagerResourceTest { @Test void hostResourceTestEmpty() { Attributes attributes = HostResource.buildResource().getAttributes(); - assertThat(attributes.asMap()).containsOnlyKeys(AttributeKey.stringKey("host.name")); + assertThat(attributes.asMap()).containsOnlyKeys(HostResource.HOST_NAME); } @Test @@ -37,7 +36,7 @@ void osResourceEmpty() { @Test void processResourceEmpty() { Attributes attributes = ProcessResource.buildResource().getAttributes(); - assertThat(attributes.asMap()).containsOnlyKeys(AttributeKey.longKey("process.pid")); + assertThat(attributes.asMap()).containsOnlyKeys(ProcessResource.PROCESS_PID); } @Test From b14e7bd7d770f8e1073486d34cff42728f33edd0 Mon Sep 17 00:00:00 2001 From: Jay DeLuca Date: Mon, 16 Sep 2024 06:41:16 -0400 Subject: [PATCH 4/5] use ProcessIncubatingAttributes --- instrumentation/resources/library/build.gradle.kts | 1 + .../instrumentation/resources/ProcessResource.java | 8 ++++---- .../resources/SecurityManagerResourceTest.java | 3 ++- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/instrumentation/resources/library/build.gradle.kts b/instrumentation/resources/library/build.gradle.kts index b779e231aee9..ec94154e0749 100644 --- a/instrumentation/resources/library/build.gradle.kts +++ b/instrumentation/resources/library/build.gradle.kts @@ -77,6 +77,7 @@ testing { dependencies { implementation(project(":instrumentation:resources:library")) implementation("io.opentelemetry:opentelemetry-sdk-common") + implementation("io.opentelemetry.semconv:opentelemetry-semconv-incubating") } } } diff --git a/instrumentation/resources/library/src/main/java/io/opentelemetry/instrumentation/resources/ProcessResource.java b/instrumentation/resources/library/src/main/java/io/opentelemetry/instrumentation/resources/ProcessResource.java index 2f964a428845..fe9b398abe79 100644 --- a/instrumentation/resources/library/src/main/java/io/opentelemetry/instrumentation/resources/ProcessResource.java +++ b/instrumentation/resources/library/src/main/java/io/opentelemetry/instrumentation/resources/ProcessResource.java @@ -23,13 +23,13 @@ public final class ProcessResource { // copied from ProcessIncubatingAttributes - static final AttributeKey> PROCESS_COMMAND_ARGS = + private static final AttributeKey> PROCESS_COMMAND_ARGS = AttributeKey.stringArrayKey("process.command_args"); - static final AttributeKey PROCESS_COMMAND_LINE = + private static final AttributeKey PROCESS_COMMAND_LINE = AttributeKey.stringKey("process.command_line"); - static final AttributeKey PROCESS_EXECUTABLE_PATH = + private static final AttributeKey PROCESS_EXECUTABLE_PATH = AttributeKey.stringKey("process.executable.path"); - static final AttributeKey PROCESS_PID = AttributeKey.longKey("process.pid"); + private static final AttributeKey PROCESS_PID = AttributeKey.longKey("process.pid"); // Note: This pattern doesn't support file paths with spaces in them. // Important: This is statically used in buildResource, so must be declared/initialized first. diff --git a/instrumentation/resources/library/src/testSecurityManager/java/io/opentelemetry/instrumentation/resources/SecurityManagerResourceTest.java b/instrumentation/resources/library/src/testSecurityManager/java/io/opentelemetry/instrumentation/resources/SecurityManagerResourceTest.java index 6f392c324088..85216d6b9586 100644 --- a/instrumentation/resources/library/src/testSecurityManager/java/io/opentelemetry/instrumentation/resources/SecurityManagerResourceTest.java +++ b/instrumentation/resources/library/src/testSecurityManager/java/io/opentelemetry/instrumentation/resources/SecurityManagerResourceTest.java @@ -9,6 +9,7 @@ import io.opentelemetry.api.common.Attributes; import io.opentelemetry.sdk.resources.Resource; +import io.opentelemetry.semconv.incubating.ProcessIncubatingAttributes; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.TestInstance; import org.junit.jupiter.api.condition.EnabledOnJre; @@ -36,7 +37,7 @@ void osResourceEmpty() { @Test void processResourceEmpty() { Attributes attributes = ProcessResource.buildResource().getAttributes(); - assertThat(attributes.asMap()).containsOnlyKeys(ProcessResource.PROCESS_PID); + assertThat(attributes.asMap()).containsOnlyKeys(ProcessIncubatingAttributes.PROCESS_PID); } @Test From ca73d29c8cdfe9683521ab7fa28842ffdd224d2d Mon Sep 17 00:00:00 2001 From: Jay DeLuca Date: Mon, 16 Sep 2024 07:27:58 -0400 Subject: [PATCH 5/5] use HostIncubatingAttributes and remove enabling for java 16, make HostResource attribute constants private --- .../instrumentation/resources/HostResource.java | 4 ++-- .../resources/SecurityManagerResourceTest.java | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/instrumentation/resources/library/src/main/java/io/opentelemetry/instrumentation/resources/HostResource.java b/instrumentation/resources/library/src/main/java/io/opentelemetry/instrumentation/resources/HostResource.java index 82810aeb9178..0c38d860639c 100644 --- a/instrumentation/resources/library/src/main/java/io/opentelemetry/instrumentation/resources/HostResource.java +++ b/instrumentation/resources/library/src/main/java/io/opentelemetry/instrumentation/resources/HostResource.java @@ -17,8 +17,8 @@ public final class HostResource { // copied from HostIncubatingAttributes - public static final AttributeKey HOST_ARCH = AttributeKey.stringKey("host.arch"); - public static final AttributeKey HOST_NAME = AttributeKey.stringKey("host.name"); + private static final AttributeKey HOST_ARCH = AttributeKey.stringKey("host.arch"); + private static final AttributeKey HOST_NAME = AttributeKey.stringKey("host.name"); private static final Resource INSTANCE = buildResource(); diff --git a/instrumentation/resources/library/src/testSecurityManager/java/io/opentelemetry/instrumentation/resources/SecurityManagerResourceTest.java b/instrumentation/resources/library/src/testSecurityManager/java/io/opentelemetry/instrumentation/resources/SecurityManagerResourceTest.java index 85216d6b9586..fad07fcccd30 100644 --- a/instrumentation/resources/library/src/testSecurityManager/java/io/opentelemetry/instrumentation/resources/SecurityManagerResourceTest.java +++ b/instrumentation/resources/library/src/testSecurityManager/java/io/opentelemetry/instrumentation/resources/SecurityManagerResourceTest.java @@ -9,6 +9,7 @@ import io.opentelemetry.api.common.Attributes; import io.opentelemetry.sdk.resources.Resource; +import io.opentelemetry.semconv.incubating.HostIncubatingAttributes; import io.opentelemetry.semconv.incubating.ProcessIncubatingAttributes; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.TestInstance; @@ -19,14 +20,14 @@ @TestInstance(TestInstance.Lifecycle.PER_CLASS) @ExtendWith(SecurityManagerExtension.class) @EnabledOnJre( - value = {JRE.JAVA_8, JRE.JAVA_11, JRE.JAVA_16}, + value = {JRE.JAVA_8, JRE.JAVA_11}, disabledReason = "Java 17 deprecates security manager for removal") class SecurityManagerResourceTest { @Test void hostResourceTestEmpty() { Attributes attributes = HostResource.buildResource().getAttributes(); - assertThat(attributes.asMap()).containsOnlyKeys(HostResource.HOST_NAME); + assertThat(attributes.asMap()).containsOnlyKeys(HostIncubatingAttributes.HOST_NAME); } @Test