diff --git a/dist-build/porting-package/readme.txt b/dist-build/porting-package/readme.txt index f03f42b87d..a23a7cca40 100644 --- a/dist-build/porting-package/readme.txt +++ b/dist-build/porting-package/readme.txt @@ -5,4 +5,4 @@ Run the build to copy all Weld Porting Package dependencies into /target/depende Specify the version of Weld and CDI TCK explicitly. -> mvn clean package -Dweld.version=5.0.0.Beta1 -Dcdi.tck.version=4.0.0-RC3 \ No newline at end of file +> mvn clean package -Dweld.version=5.0.0.CR2 -Dcdi.tck.version=4.0.0-RC7 \ No newline at end of file diff --git a/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/changeBeanQualifier/ChangeBeanQualifierTest.java b/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/changeBeanQualifier/ChangeBeanQualifierTest.java index aa93905939..47dff89f7f 100644 --- a/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/changeBeanQualifier/ChangeBeanQualifierTest.java +++ b/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/changeBeanQualifier/ChangeBeanQualifierTest.java @@ -2,8 +2,10 @@ import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.cdi.tck.AbstractTest; +import org.jboss.cdi.tck.cdi.Sections; import org.jboss.cdi.tck.shrinkwrap.WebArchiveBuilder; import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.jboss.test.audit.annotations.SpecAssertion; import org.jboss.test.audit.annotations.SpecVersion; import org.testng.annotations.Test; @@ -20,7 +22,7 @@ public static WebArchive createTestArchive() { } @Test - //@SpecAssertion(section = TODO, id = "TODO") + @SpecAssertion(section = Sections.ENHANCEMENT_PHASE, id = "b", note="Extension changes of MyQualifier are seen") public void test() { MyOtherService bean = getContextualReference(MyOtherService.class); // all beans are dependent, so there's no client proxy and direct field access and `instanceof` are OK diff --git a/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/changeInjectionPoint/ChangeInjectionPointTest.java b/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/changeInjectionPoint/ChangeInjectionPointTest.java index 4a95a6e1fa..3f96bc7656 100644 --- a/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/changeInjectionPoint/ChangeInjectionPointTest.java +++ b/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/changeInjectionPoint/ChangeInjectionPointTest.java @@ -2,8 +2,10 @@ import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.cdi.tck.AbstractTest; +import org.jboss.cdi.tck.cdi.Sections; import org.jboss.cdi.tck.shrinkwrap.WebArchiveBuilder; import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.jboss.test.audit.annotations.SpecAssertion; import org.jboss.test.audit.annotations.SpecVersion; import org.testng.annotations.Test; @@ -20,7 +22,7 @@ public static WebArchive createTestArchive() { } @Test - //@SpecAssertion(section = TODO, id = "TODO") + @SpecAssertion(section = Sections.ENHANCEMENT_PHASE, id = "b", note = "MyOtherService.myService with @MyQualifier matches MyServiceBar") public void test() { MyOtherService bean = getContextualReference(MyOtherService.class); // all beans are dependent, so there's no client proxy and direct field access and `instanceof` are OK diff --git a/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/changeObserverQualifier/ChangeObserverQualifierTest.java b/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/changeObserverQualifier/ChangeObserverQualifierTest.java index 18eaba0743..650d1390cc 100644 --- a/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/changeObserverQualifier/ChangeObserverQualifierTest.java +++ b/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/changeObserverQualifier/ChangeObserverQualifierTest.java @@ -4,8 +4,10 @@ import jakarta.enterprise.inject.spi.Bean; import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.cdi.tck.AbstractTest; +import org.jboss.cdi.tck.cdi.Sections; import org.jboss.cdi.tck.shrinkwrap.WebArchiveBuilder; import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.jboss.test.audit.annotations.SpecAssertion; import org.jboss.test.audit.annotations.SpecVersion; import org.testng.annotations.Test; @@ -27,7 +29,7 @@ public static WebArchive createTestArchive() { } @Test - //@SpecAssertion(section = TODO, id = "TODO") + @SpecAssertion(section = Sections.ENHANCEMENT_PHASE, id = "b", note = "MyConsumer.noConsume not invoked") public void test() { MyProducer producer = getContextualReference(MyProducer.class); producer.produce(); diff --git a/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/customInterceptorBinding/CustomInterceptorBindingTest.java b/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/customInterceptorBinding/CustomInterceptorBindingTest.java index 20067dbc42..84197b3100 100644 --- a/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/customInterceptorBinding/CustomInterceptorBindingTest.java +++ b/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/customInterceptorBinding/CustomInterceptorBindingTest.java @@ -2,8 +2,10 @@ import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.cdi.tck.AbstractTest; +import org.jboss.cdi.tck.cdi.Sections; import org.jboss.cdi.tck.shrinkwrap.WebArchiveBuilder; import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.jboss.test.audit.annotations.SpecAssertion; import org.jboss.test.audit.annotations.SpecVersion; import org.testng.annotations.Test; @@ -20,7 +22,7 @@ public static WebArchive createTestArchive() { } @Test - //@SpecAssertion(section = TODO, id = "TODO") + @SpecAssertion(section = Sections.ENHANCEMENT_PHASE, id = "b", note = "MyCustomInterceptorBinding.value is @Nonbinding") public void test() { assertEquals("Intercepted: Hello!", getContextualReference(MyService.class).hello()); } diff --git a/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/customQualifier/CustomQualifierTest.java b/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/customQualifier/CustomQualifierTest.java index 4ba08f548c..e8cc89677c 100644 --- a/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/customQualifier/CustomQualifierTest.java +++ b/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/customQualifier/CustomQualifierTest.java @@ -2,8 +2,10 @@ import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.cdi.tck.AbstractTest; +import org.jboss.cdi.tck.cdi.Sections; import org.jboss.cdi.tck.shrinkwrap.WebArchiveBuilder; import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.jboss.test.audit.annotations.SpecAssertion; import org.jboss.test.audit.annotations.SpecVersion; import org.testng.annotations.Test; @@ -20,7 +22,7 @@ public static WebArchive createTestArchive() { } @Test - //@SpecAssertion(section = TODO, id = "TODO") + @SpecAssertion(section = Sections.DISCOVERY_PHASE, id = "a", note = "MyCustomQualifier.value is @Nonbinding") public void test() { assertEquals("bar", getContextualReference(MyService.class, new MyCustomQualifier.Literal("something")).hello()); diff --git a/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/customStereotype/CustomStereotypeTest.java b/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/customStereotype/CustomStereotypeTest.java index 93db4eaaa5..b1f7f0ce28 100644 --- a/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/customStereotype/CustomStereotypeTest.java +++ b/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/customStereotype/CustomStereotypeTest.java @@ -3,8 +3,10 @@ import jakarta.enterprise.context.ApplicationScoped; import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.cdi.tck.AbstractTest; +import org.jboss.cdi.tck.cdi.Sections; import org.jboss.cdi.tck.shrinkwrap.WebArchiveBuilder; import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.jboss.test.audit.annotations.SpecAssertion; import org.jboss.test.audit.annotations.SpecVersion; import org.testng.annotations.Test; @@ -24,7 +26,8 @@ public static WebArchive createTestArchive() { } @Test - //@SpecAssertion(section = TODO, id = "TODO") + @SpecAssertion(section = Sections.DISCOVERY_PHASE, id = "a", note = "MyCustomStereotype.value has @Stereotype") + @SpecAssertion(section = Sections.DISCOVERY_PHASE, id = "b", note = "NotDiscoveredBean not in scanned classes") public void test() { assertEquals(ApplicationScoped.class, getUniqueBean(MyService.class).getScope()); assertEquals("Hello!", getContextualReference(MyService.class).hello()); diff --git a/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/inspectAnnotatedSubtypes/InspectAnnotatedSubtypesTest.java b/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/inspectAnnotatedSubtypes/InspectAnnotatedSubtypesTest.java index 1de54158bc..7b75dfe2fc 100644 --- a/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/inspectAnnotatedSubtypes/InspectAnnotatedSubtypesTest.java +++ b/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/inspectAnnotatedSubtypes/InspectAnnotatedSubtypesTest.java @@ -2,8 +2,10 @@ import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.cdi.tck.AbstractTest; +import org.jboss.cdi.tck.cdi.Sections; import org.jboss.cdi.tck.shrinkwrap.WebArchiveBuilder; import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.jboss.test.audit.annotations.SpecAssertion; import org.jboss.test.audit.annotations.SpecVersion; import org.testng.annotations.Test; @@ -18,7 +20,8 @@ public static WebArchive createTestArchive() { } @Test - //@SpecAssertion(section = TODO, id = "TODO") + @SpecAssertion(section = Sections.ENHANCEMENT_PHASE, id = "c", note = "MyServiceBar not seen by extension method") + @SpecAssertion(section = Sections.VALIDATION_PHASE, id = "a", note = "Validation determine test outcome") public void test() { // test is present in InspectAnnotatedSubtypesExtension and if it fails, deployment should fail } diff --git a/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/invalid/AbstractInvalidExtensionParamTest.java b/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/invalid/AbstractInvalidExtensionParamTest.java index d0716d2972..c34b864280 100644 --- a/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/invalid/AbstractInvalidExtensionParamTest.java +++ b/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/invalid/AbstractInvalidExtensionParamTest.java @@ -3,7 +3,6 @@ import org.jboss.cdi.tck.AbstractTest; import org.jboss.cdi.tck.shrinkwrap.WebArchiveBuilder; import org.jboss.shrinkwrap.impl.BeansXml; -import org.testng.annotations.Test; public abstract class AbstractInvalidExtensionParamTest extends AbstractTest { @@ -20,9 +19,4 @@ static WebArchiveBuilder prepareArchiveBuilder() { } - @Test() - //@SpecAssertion(section = TODO, id = "TODO") - public void test() { - // deployment should fail - } } diff --git a/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/invalid/EnhancementMultipleParams2Test.java b/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/invalid/EnhancementMultipleParams2Test.java index d57864dad9..ff29a24244 100644 --- a/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/invalid/EnhancementMultipleParams2Test.java +++ b/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/invalid/EnhancementMultipleParams2Test.java @@ -3,8 +3,11 @@ import jakarta.enterprise.inject.spi.DefinitionException; import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.arquillian.container.test.api.ShouldThrowException; +import org.jboss.cdi.tck.cdi.Sections; import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.jboss.test.audit.annotations.SpecAssertion; import org.jboss.test.audit.annotations.SpecVersion; +import org.testng.annotations.Test; @SpecVersion(spec = "cdi", version = "4.0") public class EnhancementMultipleParams2Test extends AbstractInvalidExtensionParamTest { @@ -12,8 +15,11 @@ public class EnhancementMultipleParams2Test extends AbstractInvalidExtensionPara @ShouldThrowException(DefinitionException.class) @Deployment public static WebArchive createTestArchive() { - return prepareArchiveBuilder().withBuildCompatibleExtension(EnhancementMultipleParamsExtension2.class) - .withClass(EnhancementMultipleParamsExtension2.class) - .build(); + return prepareArchiveBuilder().withBuildCompatibleExtension(EnhancementMultipleParamsExtension2.class).build(); + } + + @Test + @SpecAssertion(section = Sections.REGISTRATION_PHASE, id= "ab", note = "Fail due to more than one parameter ext method") + public void shouldFail() { } } diff --git a/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/invalid/EnhancementMultipleParamsTest.java b/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/invalid/EnhancementMultipleParamsTest.java index 43d4ee4809..5b28b76818 100644 --- a/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/invalid/EnhancementMultipleParamsTest.java +++ b/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/invalid/EnhancementMultipleParamsTest.java @@ -3,8 +3,11 @@ import jakarta.enterprise.inject.spi.DefinitionException; import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.arquillian.container.test.api.ShouldThrowException; +import org.jboss.cdi.tck.cdi.Sections; import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.jboss.test.audit.annotations.SpecAssertion; import org.jboss.test.audit.annotations.SpecVersion; +import org.testng.annotations.Test; @SpecVersion(spec = "cdi", version = "4.0") public class EnhancementMultipleParamsTest extends AbstractInvalidExtensionParamTest { @@ -12,8 +15,10 @@ public class EnhancementMultipleParamsTest extends AbstractInvalidExtensionParam @ShouldThrowException(DefinitionException.class) @Deployment public static WebArchive createTestArchive() { - return prepareArchiveBuilder().withBuildCompatibleExtension(EnhancementMultipleParamsExtension.class) - .withClass(EnhancementMultipleParamsExtension.class) - .build(); + return prepareArchiveBuilder().withBuildCompatibleExtension(EnhancementMultipleParamsExtension.class).build(); } -} + + @Test + @SpecAssertion(section = Sections.ENHANCEMENT_PHASE, id= "ab", note = "Fail due to more than one parameter ext method") + public void shouldFail() { + }} diff --git a/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/invalid/EnhancementNoParamTest.java b/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/invalid/EnhancementNoParamTest.java index 96d56f1a7c..a6c2da46b1 100644 --- a/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/invalid/EnhancementNoParamTest.java +++ b/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/invalid/EnhancementNoParamTest.java @@ -3,8 +3,11 @@ import jakarta.enterprise.inject.spi.DefinitionException; import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.arquillian.container.test.api.ShouldThrowException; +import org.jboss.cdi.tck.cdi.Sections; import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.jboss.test.audit.annotations.SpecAssertion; import org.jboss.test.audit.annotations.SpecVersion; +import org.testng.annotations.Test; @SpecVersion(spec = "cdi", version = "4.0") public class EnhancementNoParamTest extends AbstractInvalidExtensionParamTest { @@ -12,8 +15,11 @@ public class EnhancementNoParamTest extends AbstractInvalidExtensionParamTest { @ShouldThrowException(DefinitionException.class) @Deployment public static WebArchive createTestArchive() { - return prepareArchiveBuilder().withBuildCompatibleExtension(EnhancementNoParamExtension.class) - .withClass(EnhancementNoParamExtension.class) - .build(); + return prepareArchiveBuilder().withBuildCompatibleExtension(EnhancementNoParamExtension.class).build(); + } + + @Test + @SpecAssertion(section = Sections.ENHANCEMENT_PHASE, id= "aa", note = "Fail due to no parameter ext method") + public void shouldFail() { } } diff --git a/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/invalid/EnhancementOnlyMessagesTest.java b/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/invalid/EnhancementOnlyMessagesTest.java index 00a1916052..c8bf6970d4 100644 --- a/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/invalid/EnhancementOnlyMessagesTest.java +++ b/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/invalid/EnhancementOnlyMessagesTest.java @@ -3,8 +3,11 @@ import jakarta.enterprise.inject.spi.DefinitionException; import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.arquillian.container.test.api.ShouldThrowException; +import org.jboss.cdi.tck.cdi.Sections; import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.jboss.test.audit.annotations.SpecAssertion; import org.jboss.test.audit.annotations.SpecVersion; +import org.testng.annotations.Test; @SpecVersion(spec = "cdi", version = "4.0") public class EnhancementOnlyMessagesTest extends AbstractInvalidExtensionParamTest { @@ -12,8 +15,11 @@ public class EnhancementOnlyMessagesTest extends AbstractInvalidExtensionParamTe @ShouldThrowException(DefinitionException.class) @Deployment public static WebArchive createTestArchive() { - return prepareArchiveBuilder().withBuildCompatibleExtension(EnhancementOnlyMessagesExtension.class) - .withClass(EnhancementOnlyMessagesExtension.class) - .build(); + return prepareArchiveBuilder().withBuildCompatibleExtension(EnhancementOnlyMessagesExtension.class).build(); + } + + @Test + @SpecAssertion(section = Sections.ENHANCEMENT_PHASE, id= "aa", note = "Fail due to no required parameter ext method") + public void shouldFail() { } } diff --git a/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/invalid/EnhancementOnlyTypesTest.java b/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/invalid/EnhancementOnlyTypesTest.java index 565dd3ab17..d4b4aefb3d 100644 --- a/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/invalid/EnhancementOnlyTypesTest.java +++ b/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/invalid/EnhancementOnlyTypesTest.java @@ -3,8 +3,11 @@ import jakarta.enterprise.inject.spi.DefinitionException; import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.arquillian.container.test.api.ShouldThrowException; +import org.jboss.cdi.tck.cdi.Sections; import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.jboss.test.audit.annotations.SpecAssertion; import org.jboss.test.audit.annotations.SpecVersion; +import org.testng.annotations.Test; @SpecVersion(spec = "cdi", version = "4.0") public class EnhancementOnlyTypesTest extends AbstractInvalidExtensionParamTest { @@ -12,8 +15,11 @@ public class EnhancementOnlyTypesTest extends AbstractInvalidExtensionParamTest @ShouldThrowException(DefinitionException.class) @Deployment public static WebArchive createTestArchive() { - return prepareArchiveBuilder().withBuildCompatibleExtension(EnhancementOnlyTypesExtension.class) - .withClass(EnhancementOnlyTypesExtension.class) - .build(); + return prepareArchiveBuilder().withBuildCompatibleExtension(EnhancementOnlyTypesExtension.class).build(); + } + + @Test + @SpecAssertion(section = Sections.ENHANCEMENT_PHASE, id= "aa", note = "Fail due to no required parameter ext method") + public void shouldFail() { } } diff --git a/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/invalid/RegistrationMultipleParams2Test.java b/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/invalid/RegistrationMultipleParams2Test.java index 320d438fa4..3d8ea4c34b 100644 --- a/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/invalid/RegistrationMultipleParams2Test.java +++ b/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/invalid/RegistrationMultipleParams2Test.java @@ -3,8 +3,11 @@ import jakarta.enterprise.inject.spi.DefinitionException; import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.arquillian.container.test.api.ShouldThrowException; +import org.jboss.cdi.tck.cdi.Sections; import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.jboss.test.audit.annotations.SpecAssertion; import org.jboss.test.audit.annotations.SpecVersion; +import org.testng.annotations.Test; @SpecVersion(spec = "cdi", version = "4.0") public class RegistrationMultipleParams2Test extends AbstractInvalidExtensionParamTest { @@ -12,8 +15,11 @@ public class RegistrationMultipleParams2Test extends AbstractInvalidExtensionPar @ShouldThrowException(DefinitionException.class) @Deployment public static WebArchive createTestArchive() { - return prepareArchiveBuilder().withBuildCompatibleExtension(RegistrationMultipleParamsExtension2.class) - .withClass(RegistrationMultipleParamsExtension2.class) - .build(); + return prepareArchiveBuilder().withBuildCompatibleExtension(RegistrationMultipleParamsExtension2.class).build(); + } + + @Test + @SpecAssertion(section = Sections.REGISTRATION_PHASE, id= "ab", note = "Fail due to more than one parameter ext method") + public void shouldFail() { } } diff --git a/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/invalid/RegistrationMultipleParamsTest.java b/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/invalid/RegistrationMultipleParamsTest.java index 6b94f4e77a..5270318de0 100644 --- a/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/invalid/RegistrationMultipleParamsTest.java +++ b/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/invalid/RegistrationMultipleParamsTest.java @@ -3,8 +3,11 @@ import jakarta.enterprise.inject.spi.DefinitionException; import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.arquillian.container.test.api.ShouldThrowException; +import org.jboss.cdi.tck.cdi.Sections; import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.jboss.test.audit.annotations.SpecAssertion; import org.jboss.test.audit.annotations.SpecVersion; +import org.testng.annotations.Test; @SpecVersion(spec = "cdi", version = "4.0") public class RegistrationMultipleParamsTest extends AbstractInvalidExtensionParamTest { @@ -12,8 +15,11 @@ public class RegistrationMultipleParamsTest extends AbstractInvalidExtensionPara @ShouldThrowException(DefinitionException.class) @Deployment public static WebArchive createTestArchive() { - return prepareArchiveBuilder().withBuildCompatibleExtension(RegistrationMultipleParamsExtension.class) - .withClass(RegistrationMultipleParamsExtension.class) - .build(); + return prepareArchiveBuilder().withBuildCompatibleExtension(RegistrationMultipleParamsExtension.class).build(); + } + + @Test + @SpecAssertion(section = Sections.REGISTRATION_PHASE, id= "ab", note = "Fail due to more than one parameter ext method") + public void shouldFail() { } } diff --git a/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/invalid/RegistrationNoParamTest.java b/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/invalid/RegistrationNoParamTest.java index 25c1d574d4..2b850044d2 100644 --- a/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/invalid/RegistrationNoParamTest.java +++ b/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/invalid/RegistrationNoParamTest.java @@ -3,8 +3,11 @@ import jakarta.enterprise.inject.spi.DefinitionException; import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.arquillian.container.test.api.ShouldThrowException; +import org.jboss.cdi.tck.cdi.Sections; import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.jboss.test.audit.annotations.SpecAssertion; import org.jboss.test.audit.annotations.SpecVersion; +import org.testng.annotations.Test; @SpecVersion(spec = "cdi", version = "4.0") public class RegistrationNoParamTest extends AbstractInvalidExtensionParamTest { @@ -12,8 +15,11 @@ public class RegistrationNoParamTest extends AbstractInvalidExtensionParamTest { @ShouldThrowException(DefinitionException.class) @Deployment public static WebArchive createTestArchive() { - return prepareArchiveBuilder().withBuildCompatibleExtension(RegistrationNoParamExtension.class) - .withClass(RegistrationNoParamExtension.class) - .build(); + return prepareArchiveBuilder().withBuildCompatibleExtension(RegistrationNoParamExtension.class).build(); + } + + @Test + @SpecAssertion(section = Sections.REGISTRATION_PHASE, id= "aa", note = "Fail due to no parameter ext method") + public void shouldFail() { } } diff --git a/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/invalid/RegistrationOnlyMessagesTest.java b/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/invalid/RegistrationOnlyMessagesTest.java index 33b16b4333..ca512f0805 100644 --- a/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/invalid/RegistrationOnlyMessagesTest.java +++ b/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/invalid/RegistrationOnlyMessagesTest.java @@ -3,8 +3,11 @@ import jakarta.enterprise.inject.spi.DefinitionException; import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.arquillian.container.test.api.ShouldThrowException; +import org.jboss.cdi.tck.cdi.Sections; import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.jboss.test.audit.annotations.SpecAssertion; import org.jboss.test.audit.annotations.SpecVersion; +import org.testng.annotations.Test; @SpecVersion(spec = "cdi", version = "4.0") public class RegistrationOnlyMessagesTest extends AbstractInvalidExtensionParamTest { @@ -12,8 +15,11 @@ public class RegistrationOnlyMessagesTest extends AbstractInvalidExtensionParamT @ShouldThrowException(DefinitionException.class) @Deployment public static WebArchive createTestArchive() { - return prepareArchiveBuilder().withBuildCompatibleExtension(RegistrationOnlyMessagesExtension.class) - .withClass(RegistrationOnlyMessagesExtension.class) - .build(); + return prepareArchiveBuilder().withBuildCompatibleExtension(RegistrationOnlyMessagesExtension.class).build(); + } + + @Test + @SpecAssertion(section = Sections.REGISTRATION_PHASE, id= "aa", note = "Fail due to no required parameter ext method") + public void shouldFail() { } } diff --git a/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/invalid/RegistrationOnlyTypesTest.java b/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/invalid/RegistrationOnlyTypesTest.java index 7fcc3a1142..682197d1fe 100644 --- a/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/invalid/RegistrationOnlyTypesTest.java +++ b/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/invalid/RegistrationOnlyTypesTest.java @@ -3,8 +3,11 @@ import jakarta.enterprise.inject.spi.DefinitionException; import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.arquillian.container.test.api.ShouldThrowException; +import org.jboss.cdi.tck.cdi.Sections; import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.jboss.test.audit.annotations.SpecAssertion; import org.jboss.test.audit.annotations.SpecVersion; +import org.testng.annotations.Test; @SpecVersion(spec = "cdi", version = "4.0") public class RegistrationOnlyTypesTest extends AbstractInvalidExtensionParamTest { @@ -12,8 +15,11 @@ public class RegistrationOnlyTypesTest extends AbstractInvalidExtensionParamTest @ShouldThrowException(DefinitionException.class) @Deployment public static WebArchive createTestArchive() { - return prepareArchiveBuilder().withBuildCompatibleExtension(RegistrationOnlyTypesExtension.class) - .withClass(RegistrationOnlyTypesExtension.class) - .build(); + return prepareArchiveBuilder().withBuildCompatibleExtension(RegistrationOnlyTypesExtension.class).build(); + } + + @Test + @SpecAssertion(section = Sections.REGISTRATION_PHASE, id= "aa", note = "Fail due to no required parameter ext method") + public void shouldFail() { } } diff --git a/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/priority/PriorityTest.java b/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/priority/PriorityTest.java index 5c234a643c..2dc18ebe0d 100644 --- a/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/priority/PriorityTest.java +++ b/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/priority/PriorityTest.java @@ -2,8 +2,10 @@ import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.cdi.tck.AbstractTest; +import org.jboss.cdi.tck.cdi.Sections; import org.jboss.cdi.tck.shrinkwrap.WebArchiveBuilder; import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.jboss.test.audit.annotations.SpecAssertion; import org.jboss.test.audit.annotations.SpecVersion; import org.testng.annotations.Test; @@ -18,7 +20,8 @@ public static WebArchive createTestArchive() { } @Test - //@SpecAssertion(section = TODO, id = "TODO") + @SpecAssertion(section = Sections.BCE_INTERFACE, id = "a", note = "order for extension methods may be controlled using the @Priority annotation") + @SpecAssertion(section = Sections.VALIDATION_PHASE, id = "a", note = "Validation determine test outcome") public void trigger() { // test is present in PriorityExtension and if it fails, deployment should fail } diff --git a/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/registration/RegistrationTest.java b/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/registration/RegistrationTest.java index 545d867a1f..14d7f56e93 100644 --- a/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/registration/RegistrationTest.java +++ b/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/registration/RegistrationTest.java @@ -2,8 +2,10 @@ import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.cdi.tck.AbstractTest; +import org.jboss.cdi.tck.cdi.Sections; import org.jboss.cdi.tck.shrinkwrap.WebArchiveBuilder; import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.jboss.test.audit.annotations.SpecAssertion; import org.jboss.test.audit.annotations.SpecVersion; import org.testng.annotations.Test; @@ -18,7 +20,9 @@ public static WebArchive createTestArchive() { } @Test - //@SpecAssertion(section = TODO, id = "TODO") + @SpecAssertion(section = Sections.REGISTRATION_PHASE, id = "ac", note = "BeanInfo filtered to MyService") + @SpecAssertion(section = Sections.REGISTRATION_PHASE, id = "ae", note = "ObserverInfo filtered to Object") + @SpecAssertion(section = Sections.VALIDATION_PHASE, id = "a", note = "Validation determine test outcome") public void trigger() { // test is present in RegistrationExtension and if it fails, deployment should fail } diff --git a/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/syntheticBean/SyntheticBeanTest.java b/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/syntheticBean/SyntheticBeanTest.java index b0649fa4a7..6694ca8711 100644 --- a/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/syntheticBean/SyntheticBeanTest.java +++ b/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/syntheticBean/SyntheticBeanTest.java @@ -3,8 +3,10 @@ import jakarta.enterprise.inject.Instance; import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.cdi.tck.AbstractTest; +import org.jboss.cdi.tck.cdi.Sections; import org.jboss.cdi.tck.shrinkwrap.WebArchiveBuilder; import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.jboss.test.audit.annotations.SpecAssertion; import org.jboss.test.audit.annotations.SpecVersion; import org.testng.annotations.Test; @@ -23,7 +25,7 @@ public static WebArchive createTestArchive() { } @Test - //@SpecAssertion(section = TODO, id = "TODO") + @SpecAssertion(section = Sections.SYNTHESIS_PHASE, id = "a") public void test() { Instance lookup = getCurrentBeanContainer().createInstance(); diff --git a/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/syntheticBeanInjectionPoint/SyntheticBeanInjectionPointTest.java b/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/syntheticBeanInjectionPoint/SyntheticBeanInjectionPointTest.java index be761b1f5b..22f893cbd4 100644 --- a/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/syntheticBeanInjectionPoint/SyntheticBeanInjectionPointTest.java +++ b/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/syntheticBeanInjectionPoint/SyntheticBeanInjectionPointTest.java @@ -3,8 +3,10 @@ import jakarta.enterprise.inject.Instance; import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.cdi.tck.AbstractTest; +import org.jboss.cdi.tck.cdi.Sections; import org.jboss.cdi.tck.shrinkwrap.WebArchiveBuilder; import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.jboss.test.audit.annotations.SpecAssertion; import org.jboss.test.audit.annotations.SpecVersion; import org.testng.annotations.Test; @@ -23,7 +25,7 @@ public static WebArchive createTestArchive() { } @Test - //@SpecAssertion(section = TODO, id = "TODO") + @SpecAssertion(section = Sections.SYNTHESIS_PHASE, id = "a") public void test() { Instance lookup = getCurrentBeanContainer().createInstance(); diff --git a/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/syntheticBeanWithLookup/SyntheticBeanWithLookupTest.java b/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/syntheticBeanWithLookup/SyntheticBeanWithLookupTest.java index a50cf329a6..71be9c9539 100644 --- a/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/syntheticBeanWithLookup/SyntheticBeanWithLookupTest.java +++ b/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/syntheticBeanWithLookup/SyntheticBeanWithLookupTest.java @@ -3,8 +3,10 @@ import jakarta.enterprise.inject.Instance; import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.cdi.tck.AbstractTest; +import org.jboss.cdi.tck.cdi.Sections; import org.jboss.cdi.tck.shrinkwrap.WebArchiveBuilder; import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.jboss.test.audit.annotations.SpecAssertion; import org.jboss.test.audit.annotations.SpecVersion; import org.testng.annotations.Test; @@ -23,7 +25,8 @@ public static WebArchive createTestArchive() { } @Test - //@SpecAssertion(section = TODO, id = "TODO") + @SpecAssertion(section = Sections.DISCOVERY_PHASE, id = "c") + @SpecAssertion(section = Sections.SYNTHESIS_PHASE, id = "a") public void test() { Instance lookup = getCurrentBeanContainer().createInstance(); diff --git a/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/syntheticObserver/SyntheticObserverTest.java b/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/syntheticObserver/SyntheticObserverTest.java index 9549b42bd9..9143da9a86 100644 --- a/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/syntheticObserver/SyntheticObserverTest.java +++ b/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/syntheticObserver/SyntheticObserverTest.java @@ -2,8 +2,10 @@ import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.cdi.tck.AbstractTest; +import org.jboss.cdi.tck.cdi.Sections; import org.jboss.cdi.tck.shrinkwrap.WebArchiveBuilder; import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.jboss.test.audit.annotations.SpecAssertion; import org.jboss.test.audit.annotations.SpecVersion; import org.testng.Assert; import org.testng.annotations.Test; @@ -23,7 +25,7 @@ public static WebArchive createTestArchive() { } @Test - //@SpecAssertion(section = TODO, id = "TODO") + @SpecAssertion(section = Sections.SYNTHESIS_PHASE, id = "b") public void test() { MyService myService = getContextualReference(MyService.class); myService.fireEvent(); diff --git a/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/syntheticObserverOfParameterizedType/SyntheticObserverOfParameterizedTypeTest.java b/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/syntheticObserverOfParameterizedType/SyntheticObserverOfParameterizedTypeTest.java index 9fae815577..892943ab65 100644 --- a/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/syntheticObserverOfParameterizedType/SyntheticObserverOfParameterizedTypeTest.java +++ b/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/syntheticObserverOfParameterizedType/SyntheticObserverOfParameterizedTypeTest.java @@ -2,8 +2,10 @@ import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.cdi.tck.AbstractTest; +import org.jboss.cdi.tck.cdi.Sections; import org.jboss.cdi.tck.shrinkwrap.WebArchiveBuilder; import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.jboss.test.audit.annotations.SpecAssertion; import org.jboss.test.audit.annotations.SpecVersion; import org.testng.annotations.Test; @@ -22,7 +24,7 @@ public static WebArchive createTestArchive() { } @Test - //@SpecAssertion(section = TODO, id = "TODO") + @SpecAssertion(section = Sections.SYNTHESIS_PHASE, id = "b", note = "ParameterizedType event") public void test() { MyService myService = getContextualReference(MyService.class); myService.fireEvent(); diff --git a/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/validation/ValidationTest.java b/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/validation/ValidationTest.java index 582d8a2889..d46ff09b27 100644 --- a/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/validation/ValidationTest.java +++ b/impl/src/main/java/org/jboss/cdi/tck/tests/build/compatible/extensions/validation/ValidationTest.java @@ -4,8 +4,10 @@ import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.arquillian.container.test.api.ShouldThrowException; import org.jboss.cdi.tck.AbstractTest; +import org.jboss.cdi.tck.cdi.Sections; import org.jboss.cdi.tck.shrinkwrap.WebArchiveBuilder; import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.jboss.test.audit.annotations.SpecAssertion; import org.jboss.test.audit.annotations.SpecVersion; import org.testng.annotations.Test; @@ -21,7 +23,7 @@ public static WebArchive createTestArchive() { } @Test - //@SpecAssertion(section = TODO, id = "TODO") + @SpecAssertion(section = Sections.VALIDATION_PHASE, id = "a", note = "should fail") public void trigger() { // deployment should fail } diff --git a/impl/src/main/java/org/jboss/cdi/tck/tests/definition/stereotype/broken/multiplePriorities/ConflictingPrioritiesFromSingleStereotypeTest.java b/impl/src/main/java/org/jboss/cdi/tck/tests/definition/stereotype/broken/multiplePriorities/ConflictingPrioritiesFromSingleStereotypeTest.java index 9fa3e00415..e323c44cde 100644 --- a/impl/src/main/java/org/jboss/cdi/tck/tests/definition/stereotype/broken/multiplePriorities/ConflictingPrioritiesFromSingleStereotypeTest.java +++ b/impl/src/main/java/org/jboss/cdi/tck/tests/definition/stereotype/broken/multiplePriorities/ConflictingPrioritiesFromSingleStereotypeTest.java @@ -4,10 +4,12 @@ import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.arquillian.container.test.api.ShouldThrowException; import org.jboss.cdi.tck.AbstractTest; +import org.jboss.cdi.tck.cdi.Sections; import org.jboss.cdi.tck.shrinkwrap.WebArchiveBuilder; import org.jboss.cdi.tck.tests.definition.stereotype.priority.PriorityStereotype; import org.jboss.shrinkwrap.api.spec.WebArchive; import org.jboss.shrinkwrap.impl.BeansXml; +import org.jboss.test.audit.annotations.SpecAssertion; import org.jboss.test.audit.annotations.SpecVersion; import org.testng.annotations.Test; @@ -27,7 +29,7 @@ public static WebArchive deploy() { } @Test - //@SpecAssertion(section = "TODO", id = "TODO") + @SpecAssertion(section = Sections.DECLARING_STEREOTYPE_WITH_PRIORITY, id = "b", note = "indirect") public void testConflictingPrioritiesFromStereotype() { // test should throw an exception } diff --git a/impl/src/main/java/org/jboss/cdi/tck/tests/definition/stereotype/broken/multiplePriorities/ConflictingPriorityStereotypesTest.java b/impl/src/main/java/org/jboss/cdi/tck/tests/definition/stereotype/broken/multiplePriorities/ConflictingPriorityStereotypesTest.java index 340303cf9d..c6d989eeca 100644 --- a/impl/src/main/java/org/jboss/cdi/tck/tests/definition/stereotype/broken/multiplePriorities/ConflictingPriorityStereotypesTest.java +++ b/impl/src/main/java/org/jboss/cdi/tck/tests/definition/stereotype/broken/multiplePriorities/ConflictingPriorityStereotypesTest.java @@ -4,10 +4,12 @@ import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.arquillian.container.test.api.ShouldThrowException; import org.jboss.cdi.tck.AbstractTest; +import org.jboss.cdi.tck.cdi.Sections; import org.jboss.cdi.tck.shrinkwrap.WebArchiveBuilder; import org.jboss.cdi.tck.tests.definition.stereotype.priority.PriorityStereotype; import org.jboss.shrinkwrap.api.spec.WebArchive; import org.jboss.shrinkwrap.impl.BeansXml; +import org.jboss.test.audit.annotations.SpecAssertion; import org.jboss.test.audit.annotations.SpecVersion; import org.testng.annotations.Test; @@ -24,7 +26,7 @@ public static WebArchive deploy() { } @Test - //@SpecAssertion(section = "TODO", id = "TODO") + @SpecAssertion(section = Sections.DECLARING_STEREOTYPE_WITH_PRIORITY, id = "b", note = "direct") public void testConflictingPrioritiesFromStereotypes() { // test should throw an exception } diff --git a/impl/src/main/java/org/jboss/cdi/tck/tests/definition/stereotype/priority/StereotypeWithPriorityTest.java b/impl/src/main/java/org/jboss/cdi/tck/tests/definition/stereotype/priority/StereotypeWithPriorityTest.java index 7d145512d5..2720becfa1 100644 --- a/impl/src/main/java/org/jboss/cdi/tck/tests/definition/stereotype/priority/StereotypeWithPriorityTest.java +++ b/impl/src/main/java/org/jboss/cdi/tck/tests/definition/stereotype/priority/StereotypeWithPriorityTest.java @@ -5,9 +5,11 @@ import jakarta.inject.Inject; import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.cdi.tck.AbstractTest; +import org.jboss.cdi.tck.cdi.Sections; import org.jboss.cdi.tck.shrinkwrap.WebArchiveBuilder; import org.jboss.shrinkwrap.api.spec.WebArchive; import org.jboss.shrinkwrap.impl.BeansXml; +import org.jboss.test.audit.annotations.SpecAssertion; import org.jboss.test.audit.annotations.SpecVersion; import org.testng.annotations.Test; @@ -34,28 +36,30 @@ public static WebArchive deploy() { Charlie charlie; @Test - //@SpecAssertion(section = "TODO", id = "TODO") + @SpecAssertion(section = Sections.DECLARING_STEREOTYPE_WITH_PRIORITY, id = "a") public void testStereotypeWithPriority() { // injected Foo should be FooAlternative assertEquals(foo.ping(), FooAlternative.class.getSimpleName()); } @Test - //@SpecAssertion(section = "TODO", id = "TODO") + @SpecAssertion(section = Sections.DECLARING_STEREOTYPE_WITH_PRIORITY, id = "a") + @SpecAssertion(section = Sections.ALTERNATIVE_STEREOTYPE, id = "a") public void testStereotypeWithAlternativeAndPriority() { // injected Bar should be instance of BarExtended assertEquals(bar.ping(), BarExtended.class.getSimpleName()); } @Test - //@SpecAssertion(section = "TODO", id = "TODO") + @SpecAssertion(section = Sections.DECLARING_STEREOTYPE_WITH_PRIORITY, id = "a") + @SpecAssertion(section = Sections.ALTERNATIVE_STEREOTYPE, id = "a", note = "PriorityStereotype overrides BazAlternative") public void testBeanPriorityFromStereotypeOverridesOtherAlternative() { // injected Baz should be instance of BazAlternative2 assertEquals(baz.ping(), BazAlternative2.class.getSimpleName()); } @Test - //@SpecAssertion(section = "TODO", id = "TODO") + @SpecAssertion(section = Sections.DECLARING_SELECTED_ALTERNATIVES_APPLICATION, id = "aa") public void testBeanOverridesPriorityFromStereotype() { // injected Charlie should be instance of CharlieAlternative assertEquals(charlie.ping(), CharlieAlternative.class.getSimpleName()); diff --git a/impl/src/main/java/org/jboss/cdi/tck/tests/event/lifecycle/StartupShutdownTest.java b/impl/src/main/java/org/jboss/cdi/tck/tests/event/lifecycle/StartupShutdownTest.java index 7ad26906b6..fa95766ad1 100644 --- a/impl/src/main/java/org/jboss/cdi/tck/tests/event/lifecycle/StartupShutdownTest.java +++ b/impl/src/main/java/org/jboss/cdi/tck/tests/event/lifecycle/StartupShutdownTest.java @@ -1,6 +1,6 @@ package org.jboss.cdi.tck.tests.event.lifecycle; -import static org.jboss.cdi.tck.cdi.Sections.BUILTIN_EVENT; +import static org.jboss.cdi.tck.cdi.Sections.STARTUP_EVENT; import jakarta.enterprise.context.ApplicationScoped; import jakarta.enterprise.event.Startup; @@ -8,6 +8,7 @@ import org.jboss.cdi.tck.AbstractTest; import org.jboss.cdi.tck.shrinkwrap.WebArchiveBuilder; import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.jboss.test.audit.annotations.SpecAssertion; import org.jboss.test.audit.annotations.SpecVersion; import org.testng.Assert; import org.testng.annotations.Test; @@ -28,7 +29,8 @@ public static WebArchive createTestArchive() { } @Test - //@SpecAssertion(section = TODO, id = "TODO") + @SpecAssertion(section = STARTUP_EVENT, id = "aa") + @SpecAssertion(section = STARTUP_EVENT, id = "ab") public void testEventsObserved() { Assert.assertTrue(ObservingBean.OBSERVED_STARTING_EVENTS.size() == 2); Assert.assertTrue(ObservingBean.OBSERVED_STARTING_EVENTS.get(0).equals(ApplicationScoped.class.getSimpleName())); diff --git a/impl/src/main/java/org/jboss/cdi/tck/tests/event/observer/method/ObserverMethodTest.java b/impl/src/main/java/org/jboss/cdi/tck/tests/event/observer/method/ObserverMethodTest.java index f7bb0f780a..e078a53844 100644 --- a/impl/src/main/java/org/jboss/cdi/tck/tests/event/observer/method/ObserverMethodTest.java +++ b/impl/src/main/java/org/jboss/cdi/tck/tests/event/observer/method/ObserverMethodTest.java @@ -62,7 +62,7 @@ public void testGetBeanClassOnObserverMethod() { } @Test - //@SpecAssertion(section = TODO, id = "TODO") + @SpecAssertion(section = OBSERVER_METHOD, id = "h") public void testGetDeclaringBeanOnObserverMethod() { Set> observers = getCurrentManager().resolveObserverMethods(new StockPrice()); assertEquals(observers.size(), 1); diff --git a/impl/src/main/java/org/jboss/cdi/tck/tests/full/extensions/configurators/bean/alternativePriority/BeanConfiguratorAlternativePriorityTest.java b/impl/src/main/java/org/jboss/cdi/tck/tests/full/extensions/configurators/bean/alternativePriority/BeanConfiguratorAlternativePriorityTest.java index 849d0b2100..874f841d45 100644 --- a/impl/src/main/java/org/jboss/cdi/tck/tests/full/extensions/configurators/bean/alternativePriority/BeanConfiguratorAlternativePriorityTest.java +++ b/impl/src/main/java/org/jboss/cdi/tck/tests/full/extensions/configurators/bean/alternativePriority/BeanConfiguratorAlternativePriorityTest.java @@ -5,10 +5,12 @@ import org.jboss.cdi.tck.AbstractTest; import org.jboss.cdi.tck.shrinkwrap.WebArchiveBuilder; import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.jboss.test.audit.annotations.SpecAssertion; import org.jboss.test.audit.annotations.SpecVersion; import org.testng.annotations.Test; import static org.jboss.cdi.tck.TestGroups.CDI_FULL; +import static org.jboss.cdi.tck.cdi.Sections.BEAN_CONFIGURATOR; import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertTrue; @@ -30,7 +32,7 @@ public static WebArchive createTestArchive() { Bar bar; @Test(groups = CDI_FULL, dataProvider = ARQUILLIAN_DATA_PROVIDER) - //@SpecAssertion(section = BEAN_CONFIGURATOR, id = "TODO") + @SpecAssertion(section = BEAN_CONFIGURATOR, id = "h") public void testSyntheticAlternativeIsEnabled(AlternativePriorityExtension extension) { assertTrue(extension.isSyntheticAlternativeProcessed()); diff --git a/impl/src/main/java/org/jboss/cdi/tck/tests/full/extensions/lite/coexistence/BuildCompatibleExtensionSmokeTest.java b/impl/src/main/java/org/jboss/cdi/tck/tests/full/extensions/lite/coexistence/BuildCompatibleExtensionSmokeTest.java index 1d456515af..41df7dcf9d 100644 --- a/impl/src/main/java/org/jboss/cdi/tck/tests/full/extensions/lite/coexistence/BuildCompatibleExtensionSmokeTest.java +++ b/impl/src/main/java/org/jboss/cdi/tck/tests/full/extensions/lite/coexistence/BuildCompatibleExtensionSmokeTest.java @@ -3,12 +3,14 @@ import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.cdi.tck.AbstractTest; import org.jboss.cdi.tck.TestGroups; +import org.jboss.cdi.tck.cdi.Sections; import org.jboss.cdi.tck.shrinkwrap.WebArchiveBuilder; import org.jboss.cdi.tck.tests.full.extensions.lifecycle.ExtensionLifecycleTest; import org.jboss.cdi.tck.tests.full.extensions.lifecycle.SimpleExtension; import org.jboss.shrinkwrap.api.BeanDiscoveryMode; import org.jboss.shrinkwrap.api.spec.WebArchive; import org.jboss.shrinkwrap.impl.BeansXml; +import org.jboss.test.audit.annotations.SpecAssertion; import org.jboss.test.audit.annotations.SpecVersion; import org.testng.Assert; import org.testng.annotations.Test; @@ -30,7 +32,7 @@ public static WebArchive getDeployment() { } @Test - // @SpecAssertion(section = TODO, id = "TODO") + @SpecAssertion(section = Sections.INIT_EVENTS, id = "g") public void testExtensionsCanCoexist() { // assert the deployment is fine, DummyBean should be resolvable Assert.assertTrue(getCurrentManager().createInstance().select(DummyBean.class).isResolvable()); diff --git a/impl/src/main/java/org/jboss/cdi/tck/tests/full/extensions/lite/coexistence/OverridenBuildCompatibleExtension.java b/impl/src/main/java/org/jboss/cdi/tck/tests/full/extensions/lite/coexistence/OverridenBuildCompatibleExtension.java index 40bca3b1fd..97f7e28157 100644 --- a/impl/src/main/java/org/jboss/cdi/tck/tests/full/extensions/lite/coexistence/OverridenBuildCompatibleExtension.java +++ b/impl/src/main/java/org/jboss/cdi/tck/tests/full/extensions/lite/coexistence/OverridenBuildCompatibleExtension.java @@ -13,7 +13,6 @@ /** * This BCE is overriden and should never be invoked */ -// TODO change to OverridingPortableExtension.class once https://github.com/eclipse-ee4j/cdi/issues/585 is resolved @SkipIfPortableExtensionPresent(OverridingPortableExtension.class) public class OverridenBuildCompatibleExtension implements BuildCompatibleExtension { diff --git a/impl/src/main/java/org/jboss/cdi/tck/tests/lookup/dynamic/handle/InstanceHandleTest.java b/impl/src/main/java/org/jboss/cdi/tck/tests/lookup/dynamic/handle/InstanceHandleTest.java index 3896255dc7..5a6cbe93a8 100644 --- a/impl/src/main/java/org/jboss/cdi/tck/tests/lookup/dynamic/handle/InstanceHandleTest.java +++ b/impl/src/main/java/org/jboss/cdi/tck/tests/lookup/dynamic/handle/InstanceHandleTest.java @@ -1,5 +1,7 @@ package org.jboss.cdi.tck.tests.lookup.dynamic.handle; +import static org.jboss.cdi.tck.cdi.Sections.DYNAMIC_LOOKUP; +import static org.jboss.cdi.tck.cdi.Sections.HANDLE_INTERFACE; import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertFalse; import static org.testng.Assert.assertNotNull; @@ -15,6 +17,7 @@ import org.jboss.cdi.tck.shrinkwrap.WebArchiveBuilder; import org.jboss.cdi.tck.util.ActionSequence; import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.jboss.test.audit.annotations.SpecAssertion; import org.jboss.test.audit.annotations.SpecVersion; import org.testng.annotations.Test; @@ -29,7 +32,7 @@ public static WebArchive createTestArchive() { return new WebArchiveBuilder().withTestClassPackage(InstanceHandleTest.class).build(); } - //@SpecAssertion(section = PROGRAMMATIC_LOOKUP, id = "TODO") + @SpecAssertion(section = DYNAMIC_LOOKUP, id = "ma") @Test public void testIsResolvable() { Client client = getContextualReference(Client.class); @@ -39,7 +42,8 @@ public void testIsResolvable() { assertFalse(client.getBigDecimalInstance().isResolvable()); } - //@SpecAssertion(section = PROGRAMMATIC_LOOKUP, id = "TODO") + @SpecAssertion(section = DYNAMIC_LOOKUP, id = "qa") + @SpecAssertion(section = DYNAMIC_LOOKUP, id = "qa") @Test public void testGetHandle() { Client client = getContextualReference(Client.class); @@ -86,7 +90,8 @@ public void testGetHandle() { assertEquals(bravoId, sequence.get(0)); } - //@SpecAssertion(section = PROGRAMMATIC_LOOKUP, id = "TODO") + @SpecAssertion(section = DYNAMIC_LOOKUP, id = "qa") + @SpecAssertion(section = HANDLE_INTERFACE, id = "ab", note = "get called after destroy") @Test public void testGetAfterDestroyingContextualInstance() { ActionSequence.reset(); @@ -111,7 +116,8 @@ public void testGetAfterDestroyingContextualInstance() { } } - //@SpecAssertion(section = PROGRAMMATIC_LOOKUP, id = "TODO") + @SpecAssertion(section = DYNAMIC_LOOKUP, id = "m", note = "when isAmbiguous is true") + @SpecAssertion(section = DYNAMIC_LOOKUP, id = "ra", note = "handles() iteration") @Test public void testHandles() { Instance instance = getCurrentManager().createInstance().select(Processor.class); diff --git a/impl/src/main/java/org/jboss/cdi/tck/tests/se/events/lifecycle/StartupShutdownTest.java b/impl/src/main/java/org/jboss/cdi/tck/tests/se/events/lifecycle/StartupShutdownTest.java index d77d4968be..5c8c64a302 100644 --- a/impl/src/main/java/org/jboss/cdi/tck/tests/se/events/lifecycle/StartupShutdownTest.java +++ b/impl/src/main/java/org/jboss/cdi/tck/tests/se/events/lifecycle/StartupShutdownTest.java @@ -11,9 +11,11 @@ import jakarta.enterprise.inject.se.SeContainerInitializer; import org.jboss.arquillian.container.se.api.ClassPath; import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.cdi.tck.cdi.Sections; import org.jboss.shrinkwrap.api.Archive; import org.jboss.shrinkwrap.api.ShrinkWrap; import org.jboss.shrinkwrap.api.spec.JavaArchive; +import org.jboss.test.audit.annotations.SpecAssertion; import org.jboss.test.audit.annotations.SpecVersion; import org.testng.Assert; import org.testng.annotations.Test; @@ -34,7 +36,10 @@ public static Archive createTestArchive() { } @Test - // @SpecAssertion(section = TODO, id = "TODO") + @SpecAssertion(section = Sections.STARTUP_EVENT, id = "aa") + @SpecAssertion(section = Sections.STARTUP_EVENT, id = "ab") + @SpecAssertion(section = Sections.SHUTDOWN_EVENT, id = "aa") + @SpecAssertion(section = Sections.SHUTDOWN_EVENT, id = "ab") public void testEvents() { // assert initial state Assert.assertTrue(ObservingBean.OBSERVED_STARTING_EVENTS.isEmpty()); diff --git a/impl/src/main/resources/sigtest-weld-pom.xml b/impl/src/main/resources/sigtest-weld-pom.xml index a3aacaabc9..0c7e711312 100644 --- a/impl/src/main/resources/sigtest-weld-pom.xml +++ b/impl/src/main/resources/sigtest-weld-pom.xml @@ -16,7 +16,7 @@ CDI TCK Signature test validation of CDI dependent API jars - 5.0.0.Beta1 + 5.0.0.CR2 diff --git a/impl/src/main/resources/tck-audit-cdi.xml b/impl/src/main/resources/tck-audit-cdi.xml index 368ff109dc..1ea886f5c6 100644 --- a/impl/src/main/resources/tck-audit-cdi.xml +++ b/impl/src/main/resources/tck-audit-cdi.xml @@ -723,6 +723,20 @@ +
+ + A stereotype may declare a @Priority annotation which functions as a means of enabling and ordering affected beans. + + + + If there are two different stereotypes present on a bean, directly, indirectly, or transitively, that declare + different priority values, then the bean must explicitly declare a @Priority annotation. If the bean does not + explicitly declare priority, the container automatically detects the problem and treats it as a definition error. + + + +
+
A stereotype may declare other stereotypes. @@ -3262,6 +3276,7 @@ The method |isResolvable()| returns true if there is exactly one bean found, or false otherwise. + @@ -3282,6 +3297,60 @@ + + The |getHandle()| method must: + + Return an initialized contextual reference |Handle| for a bean that has the required type and qualifiers + and is eligible for injection. The contextual reference must be resolved lazily, i.e. when first needed. + + + + Throw UnsatisfiedResolutionException if there is no bean with given type and qualifiers. + + + Throw AmbiguousResolutionException if there is more than one bean given type and qualifiers. + + + + + + The |handles()| method must: + + Allow iterating over contextual reference handles for all beans that have the required type and required qualifiers and are eligible for injection. + + + + Return stateless Iterable. Therefore, each Iterable#iterator() produces a new set of handles. + + + +
+ +
+ + The get() method returns a contextual reference object. + + The contextual reference is resolved lazily. + + + Test IllegalStateException is thrown if invoked on Handle that previously successfully destroyed its underlying contextual reference. + + + + + The destroy() method destroys the contextual instance and is a no-op if: + + + called multiple times + + + the producing Instance does not exist + the handle does not hold a contextual reference, i.e. get() was never called + + + the handle does not hold a contextual reference, i.e. get() was never called + +
@@ -5307,7 +5376,7 @@ The built-in implementation must be a passivation capable dependency, as defined in Section 6.6.2, "Passivation capable - dependencies". + dependencies (CDI Full)".
@@ -5775,6 +5844,150 @@ +
+ +
+ + + Implementations are required to fire a startup event during application initialization. + + This must be done synchronously with an event payload of jakarta.enterprise.event.Startup and qualifier jakarta.enterprise.inject.Any + + + + This event is fired after the event with qualifier @Initialized(ApplicationScope.class) but before processing requests. + + + + Applications must never manually fire any events with payload type jakarta.enterprise.event.Startup. + +
+ +
+ + + Implementations are required to fire a shutdown event during application shutdown. + + This must be done synchronously with an event payload of jakarta.enterprise.event.Shutdown and qualifier jakarta.enterprise.inject.Any. + + + + This event is fired during CDI container shutdown but not later than the event with qualifier @BeforeDestroyed(ApplicationScoped.class). + + + + Applications must never manually fire any events with payload type jakarta.enterprise.event.Shutdown. + +
+ + +
+
+ +
+ + A build compatible extension is a service provider of the jakarta.enterprise.inject.build.compatible.spi.BuildCompatibleExtension interface, declared in META-INF/services. + + + The invocation order for extension methods may be controlled using the @Priority annotation. If an extension + method does not have the @Priority annotation, the default priority jakarta.interceptor.Interceptor.Priority.APPLICATION + 500 is assumed. + If two extension methods have equal priority, the ordering between them is undefined. Note that priority only affects + order of extension methods in a single phase. + + + At deployment time, CDI container does not have to be running, so calling CDI.current() from an extension + method, or attempting to access a running CDI container in any other way, results in non-portable behavior. + +
+ +
+ + Test that discovery phase changes are seen + + + Test that classes with bean defining annotations not added to scan are not seen in non-bean archives + + + Test that classes added to scan are seen in non-bean archives + +
+
+ + Extension methods annotated @Enhancement must declare exactly one parameter of one of the following types: + ClassConfig or ClassInfo + MethodConfig or MethodInfo + FieldConfig or FieldInfo + + + Test that a method with none of these parameters fails deployment. + + + + Test that a method with more than one of these parameters fails deployment. + + + + Test that a method with more than one of these parameters fails deployment. + + + + Test that enhancment phase annotation changes are seen + + + When an extension method declares a parameter of type ClassConfig or ClassInfo, it will be called for each + discovered class matching the criteria defined on the @Enhancement annotation + +
+
+ + Extension methods annotated @Registration must declare exactly one parameter of one of the following types: + BeanInfo + InterceptorInfo + ObserverInfo + + + Test that a method with none of these parameters fails deployment. + + + + Test that a method with more than one of these parameters fails deployment. + + + When an extension method declares a parameter of type BeanInfo, it will be called for each bean whose set + of bean types matches the criteria defined on the @Registration annotation. + + + + When an extension method declares a parameter of type ObserverInfo, it will be called for each observer + whose observed event type matches the criteria defined on the @Registration annotation. + + + + + Test that enhancment phase annotation changes are seen + +
+
+ + Test that synthesis phase beans are availalble for use by runtime + + + Test that synthesis observers are notified of fired events + +
+
+ + Test that validation phase controls test outcome + +
+ + +
+
+
A portable extension may integrate with the container by providing its own beans, interceptors and decorators to the container. @@ -5931,6 +6144,10 @@ An instance of |ObserverMethod| exists for every observer method of every enabled bean. + + + |getDeclaringBean()| returns the Bean object that declares the observer method. Return value is undefined for synthetic observers. +
@@ -7222,6 +7439,14 @@ interfaces. + + + As these lifecycle events are fired, the container must also execute build compatible extensions. Which phase + of build compatible extensions should be executed when is indicated in the description of the corresponding + lifecycle events. Build compatible extensions annotated @SkipIfPortableExtensionPresent must be ignored in + CDI Full, if given portable extension is present. + +
@@ -7523,6 +7748,9 @@ Set a callback to destroy a bean instance with destroyWith() or disposeWith() method. + + Set the priority of the bean, if it is an alternative, with priority() method. + If a |BeanConfigurator| has no scope specified, the default scope rules, defined in the Default Scope rules apply.