JSR 346: Contexts and Dependency Injection for Java EE 1.1 TCK Coverage
1.1 Final Release
Contents
Coverage Distribution
Chapter Summary
| Chapter |
Assertions |
Testable |
Total Tested |
Total Tests |
Tested (problematic) |
Tested (working) |
Coverage % |
| 1 Architecture | 0 | 0 | 0 | 0 | 0 | 0 | |
| 2 Concepts | 146 | 121 | 121 | 177 | 0 | 121 | 100,00% |
| 3 Programming model | 252 | 240 | 240 | 323 | 0 | 240 | 100,00% |
| 4 Inheritance and specialization | 90 | 84 | 84 | 132 | 0 | 84 | 100,00% |
| 5 Dependency injection, lookup and EL | 249 | 233 | 231 | 381 | 0 | 231 | 99,14% |
| 6 Scopes and contexts | 252 | 221 | 220 | 293 | 0 | 220 | 99,55% |
| 7 Lifecycle of contextual instances | 63 | 59 | 53 | 70 | 0 | 53 | 89,83% |
| 8 Decorators | 68 | 63 | 60 | 100 | 0 | 60 | 95,24% |
| 9 Interceptor bindings | 25 | 22 | 22 | 41 | 0 | 22 | 100,00% |
| 10 Events | 100 | 90 | 86 | 153 | 0 | 86 | 95,56% |
| 11 Portable extensions | 394 | 376 | 372 | 500 | 0 | 372 | 98,94% |
| 12 Packaging and deployment | 93 | 74 | 72 | 134 | 0 | 72 | 97,30% |
| Total | 1732 | 1583 | 1561 | 2304 | 0 | 1561 | 98,61% |
Section Summary
| Section | Assertions | Testable | Total Tested | Tested (problematic) | Tested (working) | Coverage % |
|---|
| 1 Architecture [architecture] | 0 | 0 | 0 | 0 | 0 | |
| 2 Concepts [concepts] | 7 | 6 | 6 | 0 | 6 | 100,00% |
| 2.1 Functionality provided by the container to the bean [capabilities] | 0 | 0 | 0 | 0 | 0 | |
| 2.2 Bean types [bean_types] | 2 | 2 | 2 | 0 | 2 | 100,00% |
| 2.2.1 Legal bean types [legal_bean_types] | 14 | 14 | 14 | 0 | 14 | 100,00% |
| 2.2.2 Restricting the bean types of a bean [restricting_bean_types] | 11 | 11 | 11 | 0 | 11 | 100,00% |
| 2.2.3 Typecasting between bean types [typecasting_between_bean_types] | 1 | 1 | 1 | 0 | 1 | 100,00% |
| 2.3 Qualifiers [qualifiers] | 0 | 0 | 0 | 0 | 0 | |
| 2.3.1 Built-in qualifier types [builtin_qualifiers] | 3 | 3 | 3 | 0 | 3 | 100,00% |
| 2.3.2 Defining new qualifier types [defining_qualifier_types] | 4 | 1 | 1 | 0 | 1 | 100,00% |
| 2.3.3 Declaring the qualifiers of a bean [declaring_bean_qualifiers] | 4 | 4 | 4 | 0 | 4 | 100,00% |
| 2.3.4 Specifying qualifiers of an injected field [injected_field_qualifiers] | 2 | 2 | 2 | 0 | 2 | 100,00% |
| 2.3.5 Specifying qualifiers of a method or constructor parameter [method_constructor_parameter_qualifiers] | 5 | 5 | 5 | 0 | 5 | 100,00% |
| 2.4 Scopes [scopes] | 3 | 2 | 2 | 0 | 2 | 100,00% |
| 2.4.1 Built-in scope types [builtin_scopes] | 6 | 5 | 5 | 0 | 5 | 100,00% |
| 2.4.2 Defining new scope types [defining_new_scope_type] | 4 | 2 | 2 | 0 | 2 | 100,00% |
| 2.4.3 Declaring the bean scope [declaring_bean_scope] | 5 | 5 | 5 | 0 | 5 | 100,00% |
| 2.4.4 Default scope [default_scope] | 5 | 5 | 5 | 0 | 5 | 100,00% |
| 2.5 Bean defining annotations [bean_defining_annotations] | 9 | 8 | 8 | 0 | 8 | 100,00% |
| 2.6 Bean names [names] | 1 | 1 | 1 | 0 | 1 | 100,00% |
| 2.6.1 Declaring the bean name [declaring_bean_name] | 4 | 4 | 4 | 0 | 4 | 100,00% |
| 2.6.2 Default bean names [default_name] | 7 | 7 | 7 | 0 | 7 | 100,00% |
| 2.6.3 Beans with no name [beans_with_no_name] | 2 | 1 | 1 | 0 | 1 | 100,00% |
| 2.7 Alternatives [alternatives] | 1 | 0 | 0 | 0 | 0 | |
| 2.7.1 Declaring an alternative [declaring_alternative] | 7 | 6 | 6 | 0 | 6 | 100,00% |
| 2.8 Stereotypes [stereotypes] | 5 | 4 | 4 | 0 | 4 | 100,00% |
| 2.8.1 Defining new stereotypes [defining_new_stereotype] | 6 | 1 | 1 | 0 | 1 | 100,00% |
| 2.8.1.1 Declaring the default scope for a stereotype [stereotype_default_scope] | 2 | 2 | 2 | 0 | 2 | 100,00% |
| 2.8.1.2 Specifying interceptor bindings for a stereotype [specify_stereotype_interceptor_bindings] | 4 | 4 | 4 | 0 | 4 | 100,00% |
| 2.8.1.3 Declaring a @Named stereotype [named_stereotype] | 5 | 3 | 3 | 0 | 3 | 100,00% |
| 2.8.1.4 Declaring an @Alternative stereotype [alternative_stereotype] | 1 | 1 | 1 | 0 | 1 | 100,00% |
| 2.8.1.5 Stereotypes with additional stereotypes [stereotypes_with_additional_stereotypes] | 3 | 2 | 2 | 0 | 2 | 100,00% |
| 2.8.2 Declaring the stereotypes for a bean [declaring_stereotypes] | 5 | 5 | 5 | 0 | 5 | 100,00% |
| 2.8.3 Built-in stereotypes [builtin_stereotypes] | 1 | 0 | 0 | 0 | 0 | |
| 2.9 Problems detected automatically by the container [exceptions] | 7 | 4 | 4 | 0 | 4 | 100,00% |
| 2.10 Priority ordering [priorities] | 0 | 0 | 0 | 0 | 0 | |
| 3 Programming model [implementation] | 0 | 0 | 0 | 0 | 0 | |
| 3.1 Managed beans [managed_beans] | 5 | 5 | 5 | 0 | 5 | 100,00% |
| 3.1.1 Which Java classes are managed beans? [what_classes_are_beans] | 11 | 10 | 10 | 0 | 10 | 100,00% |
| 3.1.2 Bean types of a managed bean [managed_bean_types] | 1 | 1 | 1 | 0 | 1 | 100,00% |
| 3.1.3 Declaring a managed bean [declaring_managed_bean] | 7 | 6 | 6 | 0 | 6 | 100,00% |
| 3.1.4 Specializing a managed bean [specialize_managed_bean] | 7 | 7 | 7 | 0 | 7 | 100,00% |
| 3.1.5 Default bean name for a managed bean [managed_bean_name] | 1 | 1 | 1 | 0 | 1 | 100,00% |
| 3.2 Session beans [session_beans] | 11 | 8 | 8 | 0 | 8 | 100,00% |
| 3.2.1 EJB remove methods of session beans [session_bean_ejb_remove_method] | 4 | 4 | 4 | 0 | 4 | 100,00% |
| 3.2.2 Bean types of a session bean [session_bean_types] | 4 | 4 | 4 | 0 | 4 | 100,00% |
| 3.2.3 Declaring a session bean [declaring_session_bean] | 6 | 6 | 6 | 0 | 6 | 100,00% |
| 3.2.4 Specializing a session bean [specialize_session_bean] | 2 | 2 | 2 | 0 | 2 | 100,00% |
| 3.2.5 Default bean name for a session bean [session_bean_name] | 1 | 1 | 1 | 0 | 1 | 100,00% |
| 3.3 Producer methods [producer_method] | 15 | 15 | 15 | 0 | 15 | 100,00% |
| 3.3.1 Bean types of a producer method [producer_method_types] | 4 | 4 | 4 | 0 | 4 | 100,00% |
| 3.3.2 Declaring a producer method [declaring_producer_method] | 13 | 13 | 13 | 0 | 13 | 100,00% |
| 3.3.3 Specializing a producer method [specialize_producer_method] | 3 | 3 | 3 | 0 | 3 | 100,00% |
| 3.3.4 Default bean name for a producer method [producer_method_name] | 2 | 2 | 2 | 0 | 2 | 100,00% |
| 3.4 Producer fields [producer_field] | 16 | 15 | 15 | 0 | 15 | 100,00% |
| 3.4.1 Bean types of a producer field [producer_field_types] | 4 | 4 | 4 | 0 | 4 | 100,00% |
| 3.4.2 Declaring a producer field [declaring_producer_field] | 9 | 9 | 9 | 0 | 9 | 100,00% |
| 3.4.3 Default bean name for a producer field [producer_field_name] | 1 | 1 | 1 | 0 | 1 | 100,00% |
| 3.5 Disposer methods [disposer_method] | 5 | 5 | 5 | 0 | 5 | 100,00% |
| 3.5.1 Disposed parameter of a disposer method [disposer_method_disposed_parameter] | 3 | 3 | 3 | 0 | 3 | 100,00% |
| 3.5.2 Declaring a disposer method [declaring_disposer_method] | 10 | 10 | 10 | 0 | 10 | 100,00% |
| 3.5.3 Disposer method resolution [disposer_method_resolution] | 4 | 4 | 4 | 0 | 4 | 100,00% |
| 3.6 Java EE components [javaee_components] | 5 | 5 | 5 | 0 | 5 | 100,00% |
| 3.7 Resources [resources] | 2 | 0 | 0 | 0 | 0 | |
| 3.7.1 Declaring a resource [declaring_resource] | 10 | 8 | 8 | 0 | 8 | 100,00% |
| 3.7.2 Bean types of a resource [resource_types] | 5 | 5 | 5 | 0 | 5 | 100,00% |
| 3.8 Additional built-in beans [additional_builtin_beans] | 6 | 6 | 6 | 0 | 6 | 100,00% |
| 3.9 Bean constructors [bean_constructors] | 1 | 1 | 1 | 0 | 1 | 100,00% |
| 3.9.1 Declaring a bean constructor [declaring_bean_constructor] | 8 | 8 | 8 | 0 | 8 | 100,00% |
| 3.10 Injected fields [injected_fields] | 2 | 2 | 2 | 0 | 2 | 100,00% |
| 3.10.1 Declaring an injected field [declaring_injected_field] | 2 | 2 | 2 | 0 | 2 | 100,00% |
| 3.11 Initializer methods [initializer_methods] | 6 | 5 | 5 | 0 | 5 | 100,00% |
| 3.11.1 Declaring an initializer method [declaring_initializer] | 7 | 7 | 7 | 0 | 7 | 100,00% |
| 3.12 The default qualifier at injection points [injection_point_default_qualifier] | 1 | 1 | 1 | 0 | 1 | 100,00% |
| 3.13 The qualifier @Named at injection points [named_at_injection_point] | 2 | 2 | 2 | 0 | 2 | 100,00% |
| 3.14 @New qualified beans [new] | 36 | 35 | 35 | 0 | 35 | 100,00% |
| 3.15 Unproxyable bean types [unproxyable] | 10 | 10 | 10 | 0 | 10 | 100,00% |
| 4 Inheritance and specialization [inheritance] | 0 | 0 | 0 | 0 | 0 | |
| 4.1 Inheritance of type-level metadata [type_level_inheritance] | 40 | 36 | 36 | 0 | 36 | 100,00% |
| 4.2 Inheritance of member-level metadata [member_level_inheritance] | 36 | 36 | 36 | 0 | 36 | 100,00% |
| 4.3 Specialization [specialization] | 5 | 4 | 4 | 0 | 4 | 100,00% |
| 4.3.1 Direct and indirect specialization [direct_and_indirect_specialization] | 9 | 8 | 8 | 0 | 8 | 100,00% |
| 5 Dependency injection, lookup and EL [injection_el_resolution] | 2 | 1 | 1 | 0 | 1 | 100,00% |
| 5.1 Modularity [selection] | 5 | 4 | 4 | 0 | 4 | 100,00% |
| 5.1.1 Declaring selected alternatives [declaring_selected_alternatives] | 1 | 0 | 0 | 0 | 0 | |
| 5.1.1.1 Declaring selected alternatives for an application [declaring_selected_alternatives_application] | 5 | 5 | 5 | 0 | 5 | 100,00% |
| 5.1.1.2 Declaring selected alternatives for a bean archive [declaring_selected_alternatives_bean_archive] | 12 | 11 | 11 | 0 | 11 | 100,00% |
| 5.1.2 Enabled and disabled beans [enablement] | 1 | 0 | 0 | 0 | 0 | |
| 5.1.3 Inconsistent specialization [inconsistent_specialization] | 1 | 1 | 1 | 0 | 1 | 100,00% |
| 5.1.4 Inter-module injection [inter_module_injection] | 18 | 17 | 17 | 0 | 17 | 100,00% |
| 5.2 Typesafe resolution [typesafe_resolution] | 0 | 0 | 0 | 0 | 0 | |
| 5.2.1 Performing typesafe resolution [performing_typesafe_resolution] | 12 | 12 | 12 | 0 | 12 | 100,00% |
| 5.2.2 Unsatisfied and ambiguous dependencies [unsatisfied_and_ambig_dependencies] | 11 | 11 | 11 | 0 | 11 | 100,00% |
| 5.2.3 Legal injection point types [legal_injection_point_types] | 5 | 3 | 3 | 0 | 3 | 100,00% |
| 5.2.4 Assignability of raw and parameterized types [assignable_parameters] | 10 | 10 | 10 | 0 | 10 | 100,00% |
| 5.2.5 Primitive types and null values [primitive_types_and_null_values] | 3 | 3 | 3 | 0 | 3 | 100,00% |
| 5.2.6 Qualifier annotations with members [qualifier_annotation_members] | 3 | 1 | 1 | 0 | 1 | 100,00% |
| 5.2.7 Multiple qualifiers [multiple_qualifiers] | 4 | 4 | 4 | 0 | 4 | 100,00% |
| 5.3 EL name resolution [name_resolution] | 2 | 2 | 2 | 0 | 2 | 100,00% |
| 5.3.1 Ambiguous EL names [ambig_names] | 4 | 4 | 4 | 0 | 4 | 100,00% |
| 5.4 Client proxies [client_proxies] | 5 | 3 | 3 | 0 | 3 | 100,00% |
| 5.4.1 Client proxy invocation [client_proxy_invocation] | 3 | 2 | 2 | 0 | 2 | 100,00% |
| 5.5 Dependency injection [injection] | 14 | 13 | 11 | 0 | 11 | 84,62% |
| 5.5.1 Injection using the bean constructor [instantiation] | 4 | 4 | 4 | 0 | 4 | 100,00% |
| 5.5.2 Injection of fields and initializer methods [fields_initializer_methods] | 40 | 40 | 40 | 0 | 40 | 100,00% |
| 5.5.3 Destruction of dependent objects [dependent_objects_destruction] | 1 | 1 | 1 | 0 | 1 | 100,00% |
| 5.5.4 Invocation of producer or disposer methods [producer_or_disposer_methods_invocation] | 6 | 6 | 6 | 0 | 6 | 100,00% |
| 5.5.5 Access to producer field values [producer_fields_access] | 2 | 2 | 2 | 0 | 2 | 100,00% |
| 5.5.6 Invocation of observer methods [observers_method_invocation] | 4 | 4 | 4 | 0 | 4 | 100,00% |
| 5.5.7 Injection point metadata [injection_point] | 24 | 24 | 24 | 0 | 24 | 100,00% |
| 5.5.8 Bean metadata [bean_metadata] | 17 | 17 | 17 | 0 | 17 | 100,00% |
| 5.6 Programmatic lookup [programmatic_lookup] | 5 | 5 | 5 | 0 | 5 | 100,00% |
| 5.6.1 The Instance interface [dynamic_lookup] | 17 | 17 | 17 | 0 | 17 | 100,00% |
| 5.6.2 The built-in Instance [builtin_instance] | 6 | 4 | 4 | 0 | 4 | 100,00% |
| 5.6.3 Using AnnotationLiteral and TypeLiteral [annotationliteral_typeliteral] | 2 | 2 | 2 | 0 | 2 | 100,00% |
| 6 Scopes and contexts [contexts] | 0 | 0 | 0 | 0 | 0 | |
| 6.1 The Contextual interface [contextual] | 4 | 2 | 2 | 0 | 2 | 100,00% |
| 6.1.1 The CreationalContext interface [creational_context] | 7 | 3 | 3 | 0 | 3 | 100,00% |
| 6.2 The Context interface [context] | 15 | 14 | 14 | 0 | 14 | 100,00% |
| 6.3 Normal scopes and pseudo-scopes [normal_scope] | 8 | 3 | 3 | 0 | 3 | 100,00% |
| 6.4 Dependent pseudo-scope [dependent_context] | 11 | 11 | 11 | 0 | 11 | 100,00% |
| 6.4.1 Dependent objects [dependent_objects] | 7 | 7 | 7 | 0 | 7 | 100,00% |
| 6.4.2 Destruction of objects with scope @Dependent [dependent_destruction] | 13 | 12 | 12 | 0 | 12 | 100,00% |
| 6.4.3 Dependent pseudo-scope and Unified EL [dependent_scope_el] | 2 | 1 | 1 | 0 | 1 | 100,00% |
| 6.5 Contextual instances and contextual references [contextual_instances_and_references] | 0 | 0 | 0 | 0 | 0 | |
| 6.5.1 The active context object for a scope [active_context] | 2 | 2 | 2 | 0 | 2 | 100,00% |
| 6.5.2 Contextual instance of a bean [contextual_instance] | 4 | 3 | 3 | 0 | 3 | 100,00% |
| 6.5.3 Contextual reference for a bean [contextual_reference] | 6 | 6 | 6 | 0 | 6 | 100,00% |
| 6.5.4 Contextual reference validity [contextual_reference_validity] | 2 | 1 | 1 | 0 | 1 | 100,00% |
| 6.5.5 Injectable references [injectable_reference] | 2 | 1 | 1 | 0 | 1 | 100,00% |
| 6.5.6 Injectable reference validity [injectable_reference_validity] | 2 | 1 | 0 | 0 | 0 | 0,00% |
| 6.6 Passivation and passivating scopes [passivating_scope] | 1 | 1 | 1 | 0 | 1 | 100,00% |
| 6.6.1 Passivation capable beans [passivation_capable] | 16 | 10 | 10 | 0 | 10 | 100,00% |
| 6.6.2 Passivation capable injection points [passivation_capable_injection_points] | 6 | 6 | 6 | 0 | 6 | 100,00% |
| 6.6.3 Passivation capable dependencies [passivation_capable_dependency] | 15 | 15 | 15 | 0 | 15 | 100,00% |
| 6.6.4 Passivating scopes [passivating_scopes] | 3 | 1 | 1 | 0 | 1 | 100,00% |
| 6.6.5 Validation of passivation capable beans and dependencies [passivation_validation] | 29 | 28 | 28 | 0 | 28 | 100,00% |
| 6.7 Context management for built-in scopes [builtin_contexts] | 0 | 0 | 0 | 0 | 0 | |
| 6.7.1 Request context lifecycle [request_context] | 26 | 26 | 26 | 0 | 26 | 100,00% |
| 6.7.2 Session context lifecycle [session_context] | 10 | 10 | 10 | 0 | 10 | 100,00% |
| 6.7.3 Application context lifecycle [application_context] | 18 | 17 | 17 | 0 | 17 | 100,00% |
| 6.7.4 Conversation context lifecycle [conversation_context] | 29 | 26 | 26 | 0 | 26 | 100,00% |
| 6.7.5 The Conversation interface [conversation] | 14 | 14 | 14 | 0 | 14 | 100,00% |
| 7 Lifecycle of contextual instances [lifecycle] | 0 | 0 | 0 | 0 | 0 | |
| 7.1 Restriction upon bean instantiation [bean_instantiation_restriction] | 0 | 0 | 0 | 0 | 0 | |
| 7.2 Container invocations and interception [biz_method] | 26 | 25 | 25 | 0 | 25 | 100,00% |
| 7.3 Lifecycle of contextual instances [contextual_instance_lifecycle] | 0 | 0 | 0 | 0 | 0 | |
| 7.3.1 Lifecycle of managed beans [managed_bean_lifecycle] | 2 | 2 | 2 | 0 | 2 | 100,00% |
| 7.3.2 Lifecycle of stateful session beans [stateful_lifecycle] | 3 | 2 | 2 | 0 | 2 | 100,00% |
| 7.3.3 Lifecycle of stateless session and singleton beans [stateless_lifecycle] | 3 | 2 | 2 | 0 | 2 | 100,00% |
| 7.3.4 Lifecycle of producer methods [producer_method_lifecycle] | 5 | 5 | 5 | 0 | 5 | 100,00% |
| 7.3.5 Lifecycle of producer fields [producer_field_lifecycle] | 4 | 4 | 4 | 0 | 4 | 100,00% |
| 7.3.6 Lifecycle of resources [resource_lifecycle] | 20 | 19 | 13 | 0 | 13 | 68,42% |
| 8 Decorators [decorators] | 3 | 2 | 2 | 0 | 2 | 100,00% |
| 8.1 Decorator beans [decorator_bean] | 7 | 6 | 4 | 0 | 4 | 66,67% |
| 8.1.1 Declaring a decorator [decorator_annotation] | 1 | 1 | 1 | 0 | 1 | 100,00% |
| 8.1.2 Decorator delegate injection points [delegate_attribute] | 10 | 10 | 9 | 0 | 9 | 90,00% |
| 8.1.3 Decorated types of a decorator [decorated_types] | 7 | 7 | 7 | 0 | 7 | 100,00% |
| 8.2 Decorator enablement and ordering [enabled_decorators] | 3 | 2 | 2 | 0 | 2 | 100,00% |
| 8.2.1 Decorator enablement and ordering for an application [enabled_decorators_priority] | 4 | 2 | 2 | 0 | 2 | 100,00% |
| 8.2.2 Decorator enablement and ordering for a bean archive [enabled_decorators_bean_archive] | 5 | 5 | 5 | 0 | 5 | 100,00% |
| 8.3 Decorator resolution [decorator_resolution] | 4 | 4 | 4 | 0 | 4 | 100,00% |
| 8.3.1 Assignability of raw and parameterized types for delegate injection points [delegate_assignable_parameters] | 9 | 9 | 9 | 0 | 9 | 100,00% |
| 8.4 Decorator invocation [decorator_invocation] | 15 | 15 | 15 | 0 | 15 | 100,00% |
| 9 Interceptor bindings [interceptors] | 0 | 0 | 0 | 0 | 0 | |
| 9.1 Interceptor binding types [interceptor_bindings] | 0 | 0 | 0 | 0 | 0 | |
| 9.1.1 Interceptor bindings for stereotypes [stereotype_interceptor_bindings] | 3 | 2 | 2 | 0 | 2 | 100,00% |
| 9.2 Declaring the interceptor bindings of an interceptor [declaring_interceptor] | 1 | 1 | 1 | 0 | 1 | 100,00% |
| 9.3 Binding an interceptor to a bean [binding_interceptor_to_bean] | 3 | 3 | 3 | 0 | 3 | 100,00% |
| 9.4 Interceptor enablement and ordering [enabled_interceptors] | 10 | 9 | 9 | 0 | 9 | 100,00% |
| 9.5 Interceptor resolution [interceptor_resolution] | 8 | 7 | 7 | 0 | 7 | 100,00% |
| 10 Events [events] | 0 | 0 | 0 | 0 | 0 | |
| 10.1 Event types and qualifier types [event_types_and_qualifier_types] | 9 | 8 | 8 | 0 | 8 | 100,00% |
| 10.2 Firing events [firing_events] | 4 | 4 | 4 | 0 | 4 | 100,00% |
| 10.2.1 The Event interface [event] | 10 | 10 | 10 | 0 | 10 | 100,00% |
| 10.2.2 The built-in Event [builtin_event] | 7 | 7 | 7 | 0 | 7 | 100,00% |
| 10.3 Observer resolution [observer_resolution] | 6 | 4 | 4 | 0 | 4 | 100,00% |
| 10.3.1 Assignability of type variables, raw and parameterized types [observers_assignability] | 6 | 6 | 6 | 0 | 6 | 100,00% |
| 10.3.2 Event qualifier types with members [event_qualifier_types_with_members] | 2 | 1 | 1 | 0 | 1 | 100,00% |
| 10.3.3 Multiple event qualifiers [multiple_event_qualifiers] | 2 | 2 | 2 | 0 | 2 | 100,00% |
| 10.4 Observer methods [observer_methods] | 6 | 5 | 5 | 0 | 5 | 100,00% |
| 10.4.1 Event parameter of an observer method [observer_method_event_parameter] | 6 | 6 | 6 | 0 | 6 | 100,00% |
| 10.4.2 Declaring an observer method [observes] | 9 | 9 | 9 | 0 | 9 | 100,00% |
| 10.4.3 The EventMetadata interface [event_metadata] | 5 | 5 | 5 | 0 | 5 | 100,00% |
| 10.4.4 Conditional observer methods [conditional_observer_methods] | 3 | 3 | 3 | 0 | 3 | 100,00% |
| 10.4.5 Transactional observer methods [transactional_observer_methods] | 7 | 6 | 6 | 0 | 6 | 100,00% |
| 10.5 Observer notification [observer_notification] | 14 | 10 | 10 | 0 | 10 | 100,00% |
| 10.5.1 Observer method invocation context [observer_method_invocation_context] | 4 | 4 | 0 | 0 | 0 | 0,00% |
| 11 Portable extensions [spi] | 4 | 0 | 0 | 0 | 0 | |
| 11.1 The Bean interface [bean] | 8 | 6 | 6 | 0 | 6 | 100,00% |
| 11.1.1 The Decorator interface [decorator] | 4 | 4 | 4 | 0 | 4 | 100,00% |
| 11.1.2 The Interceptor interface [interceptor] | 6 | 6 | 6 | 0 | 6 | 100,00% |
| 11.1.3 The ObserverMethod interface [observer_method] | 7 | 6 | 6 | 0 | 6 | 100,00% |
| 11.2 The Producer and InjectionTarget interfaces [injectiontarget] | 19 | 16 | 16 | 0 | 16 | 100,00% |
| 11.3 The BeanManager object [beanmanager] | 16 | 15 | 15 | 0 | 15 | 100,00% |
| 11.3.1 Obtaining a reference to the CDI container [provider] | 5 | 5 | 5 | 0 | 5 | 100,00% |
| 11.3.2 Obtaining a contextual reference for a bean [bm_obtain_contextual_reference] | 3 | 3 | 3 | 0 | 3 | 100,00% |
| 11.3.3 Obtaining an injectable reference [bm_obtain_injectable_reference] | 6 | 6 | 5 | 0 | 5 | 83,33% |
| 11.3.4 Obtaining non-contextual instance [bm_obtain_unmanaged_instance] | 2 | 2 | 2 | 0 | 2 | 100,00% |
| 11.3.5 Obtaining a CreationalContext [bm_obtain_creationalcontext] | 2 | 2 | 2 | 0 | 2 | 100,00% |
| 11.3.6 Obtaining a Bean by type [bm_obtain_bean_by_type] | 7 | 7 | 7 | 0 | 7 | 100,00% |
| 11.3.7 Obtaining a Bean by name [bm_obtain_bean_by_name] | 2 | 2 | 2 | 0 | 2 | 100,00% |
| 11.3.8 Obtaining a passivation capable bean by identifier [bm_obtain_passivation_capable_bean] | 1 | 1 | 1 | 0 | 1 | 100,00% |
| 11.3.9 Resolving an ambiguous dependency [bm_resolve_ambiguous_dep] | 4 | 4 | 4 | 0 | 4 | 100,00% |
| 11.3.10 Validating an injection point [bm_validate_ip] | 1 | 1 | 1 | 0 | 1 | 100,00% |
| 11.3.11 Firing an event [bm_fire_event] | 6 | 6 | 6 | 0 | 6 | 100,00% |
| 11.3.12 Observer method resolution [bm_observer_method_resolution] | 5 | 5 | 5 | 0 | 5 | 100,00% |
| 11.3.13 Decorator resolution [bm_decorator_resolution] | 5 | 5 | 5 | 0 | 5 | 100,00% |
| 11.3.14 Interceptor resolution [bm_interceptor_resolution] | 4 | 4 | 4 | 0 | 4 | 100,00% |
| 11.3.15 Determining if an annotation is a qualifier type, scope type, stereotype or interceptor binding type [bm_determining_annotation] | 7 | 7 | 7 | 0 | 7 | 100,00% |
| 11.3.16 Determining the hash code and equivalence of qualifiers and interceptor bindings [bm_determining_hash] | 4 | 4 | 4 | 0 | 4 | 100,00% |
| 11.3.17 Obtaining the active Context for a scope [bm_obtain_active_context] | 1 | 1 | 1 | 0 | 1 | 100,00% |
| 11.3.18 Obtaining the ELResolver [bm_obtain_elresolver] | 1 | 1 | 1 | 0 | 1 | 100,00% |
| 11.3.19 Wrapping a Unified EL ExpressionFactory [bm_wrap_expressionfactory] | 2 | 2 | 2 | 0 | 2 | 100,00% |
| 11.3.20 Obtaining an AnnotatedType for a class [bm_obtain_annotatedtype] | 1 | 1 | 1 | 0 | 1 | 100,00% |
| 11.3.21 Obtaining an InjectionTarget for a class [bm_obtain_injectiontarget] | 2 | 2 | 2 | 0 | 2 | 100,00% |
| 11.3.22 Obtaining a Producer for a field or method [bm_obtain_producer] | 4 | 4 | 4 | 0 | 4 | 100,00% |
| 11.3.23 Obtaining an InjectionPoint [bm_obtain_injectionpoint] | 3 | 3 | 3 | 0 | 3 | 100,00% |
| 11.3.24 Obtaining a BeanAttributes [bm_obtain_beanattributes] | 3 | 3 | 3 | 0 | 3 | 100,00% |
| 11.3.25 Obtaining a Bean [bm_obtain_bean] | 2 | 2 | 2 | 0 | 2 | 100,00% |
| 11.3.26 Obtaining the instance of an Extension [bm_obtain_extension] | 2 | 2 | 2 | 0 | 2 | 100,00% |
| 11.4 Alternative metadata sources [alternative_metadata_sources] | 45 | 43 | 42 | 0 | 42 | 97,67% |
| 11.5 Container lifecycle events [init_events] | 8 | 6 | 6 | 0 | 6 | 100,00% |
| 11.5.1 BeforeBeanDiscovery event [bbd] | 12 | 12 | 12 | 0 | 12 | 100,00% |
| 11.5.2 AfterTypeDiscovery event [atd] | 14 | 13 | 13 | 0 | 13 | 100,00% |
| 11.5.3 AfterBeanDiscovery event [abd] | 14 | 13 | 13 | 0 | 13 | 100,00% |
| 11.5.4 AfterDeploymentValidation event [adv] | 5 | 5 | 4 | 0 | 4 | 80,00% |
| 11.5.5 BeforeShutdown event [bs] | 2 | 1 | 1 | 0 | 1 | 100,00% |
| 11.5.6 ProcessAnnotatedType event [pat] | 28 | 28 | 28 | 0 | 28 | 100,00% |
| 11.5.7 ProcessInjectionPoint event [pip] | 7 | 7 | 7 | 0 | 7 | 100,00% |
| 11.5.8 ProcessInjectionTarget event [pit] | 37 | 37 | 36 | 0 | 36 | 97,30% |
| 11.5.9 ProcessBeanAttributes event [pba] | 19 | 19 | 19 | 0 | 19 | 100,00% |
| 11.5.10 ProcessBean event [pb] | 33 | 33 | 33 | 0 | 33 | 100,00% |
| 11.5.11 ProcessProducer event [pp] | 15 | 15 | 15 | 0 | 15 | 100,00% |
| 11.5.12 ProcessObserverMethod event [pom] | 6 | 6 | 6 | 0 | 6 | 100,00% |
| 12 Packaging and deployment [packaging_deployment] | 0 | 0 | 0 | 0 | 0 | |
| 12.1 Bean archives [bean_archive] | 32 | 20 | 18 | 0 | 18 | 90,00% |
| 12.2 Application initialization lifecycle [initialization] | 10 | 9 | 9 | 0 | 9 | 100,00% |
| 12.3 Application shutdown lifecycle [shutdown] | 2 | 2 | 2 | 0 | 2 | 100,00% |
| 12.4 Bean discovery [bean_discovery] | 46 | 40 | 40 | 0 | 40 | 100,00% |
| 12.5 Integration with Unified EL [el] | 3 | 3 | 3 | 0 | 3 | 100,00% |
Coverage Detail
| Colour Key |
| Assertion is covered |
| Assertion is not covered |
| Assertion test is unimplemented |
| Assertion is untestable |
a)
A bean comprises of a (nonempty) set of bean types.
org.jboss.cdi.tck.tests.definition.bean
BeanDefinitionTest.testBeanTypesNonEmpty()
github
b)
A bean comprises of a (nonempty) set of qualifiers.
org.jboss.cdi.tck.tests.definition.bean
BeanDefinitionTest.testQualifiersNonEmpty()
github
c)
A bean comprises of a scope.
org.jboss.cdi.tck.tests.definition.bean
BeanDefinitionTest.testHasScopeType()
github
e)
A bean comprises of an optional bean EL name.
org.jboss.cdi.tck.tests.definition.name
NameDefinitionTest.testNonDefaultNamed()
github
NameDefinitionTest.testNamedNotDeclaredByBean()
github
f)
A bean comprises of a set of interceptor bindings.
org.jboss.cdi.tck.tests.interceptors.definition.member
InterceptorBindingTypeWithMemberTest.testInterceptorBindingTypeWithMember()
github
g)
A bean comprises of a bean implementation.
org.jboss.cdi.tck.tests.implementation.simple.lifecycle
SimpleBeanLifecycleTest.testManagedBean()
github
h)
A bean may or may not be an alternative.
a)
A bean may have multiple bean types.
org.jboss.cdi.tck.tests.definition.bean
BeanDefinitionTest.testBeanTypes()
github
BeanDefinitionTest.testGenericBeanTypes()
github
BeanDefinitionTest.testRawBeanTypes()
github
l)
All beans have the bean type java.lang.Object.
org.jboss.cdi.tck.tests.implementation.producer.method.definition
ProducerMethodDefinitionTest.testApiTypeForClassReturn()
github
org.jboss.cdi.tck.tests.definition.bean
BeanDefinitionTest.testBeanTypes()
github
BeanDefinitionTest.testGenericBeanTypes()
github
BeanDefinitionTest.testRawBeanTypes()
github
org.jboss.cdi.tck.tests.implementation.enterprise.definition
EnterpriseBeanDefinitionTest.testObjectIsInAPITypes()
github
a)
A bean type may be an interface.
org.jboss.cdi.tck.tests.definition.bean
BeanDefinitionTest.testBeanTypes()
github
b)
A bean type may be a concrete class.
org.jboss.cdi.tck.tests.implementation.simple.lifecycle
SimpleBeanLifecycleTest.testManagedBean()
github
c)
A bean type may be an abstract class.
org.jboss.cdi.tck.tests.definition.bean
BeanDefinitionTest.testAbstractApiType()
github
d)
A bean type may be declared final.
org.jboss.cdi.tck.tests.definition.bean
BeanDefinitionTest.testBeanTypes()
github
BeanDefinitionTest.testFinalApiType()
github
e)
A bean type may have final methods.
org.jboss.cdi.tck.tests.definition.bean
BeanDefinitionTest.testBeanTypes()
github
f)
A bean type may be a parameterized type with actual type parameters.
org.jboss.cdi.tck.tests.lookup.typesafe.resolution.parameterized
AssignabilityOfRawAndParameterizedTypesTest.testAssignabilityToRawType()
github
g)
A bean type may be a parameterized type with type variables.
org.jboss.cdi.tck.tests.lookup.typesafe.resolution.parameterized
AssignabilityOfRawAndParameterizedTypesTest.testAssignabilityToRawType()
github
i)
A bean type may be an array type. Two array types are considered identical only if the element type is identical.
org.jboss.cdi.tck.tests.implementation.producer.method.definition
ProducerMethodDefinitionTest.testApiTypeForArrayTypeReturn()
github
org.jboss.cdi.tck.tests.implementation.producer.field.definition
ProducerFieldDefinitionTest.testApiTypeForArrayTypeReturn()
github
org.jboss.cdi.tck.tests.lookup.typesafe.resolution
ResolutionByTypeTest.testResolveByTypeWithArray()
github
j)
A bean type may be a primitive type. Primitive types are considered to be identical to their corresponding wrapper types in java.lang.
org.jboss.cdi.tck.tests.lookup.typesafe.resolution
ResolutionByTypeTest.testResolveByTypeWithPrimitives()
github
k)
A bean type may be a raw type.
org.jboss.cdi.tck.tests.implementation.simple.lifecycle
SimpleBeanLifecycleTest.testManagedBean()
github
la)
A type variable is not a legal bean type.
org.jboss.cdi.tck.tests.implementation.producer.method.broken.typeVariableReturnType
TypeVariableReturnTypeTest.testTypeVariableNotAllowed()
github
lb)
A parameterized type that contains a wildcard type parameter is not a legal bean type.
org.jboss.cdi.tck.tests.implementation.producer.method.broken.parameterizedTypeWithWildcard
ParametrizedTypeWithWildcard02Test.testParameterizedReturnTypeWithDoubleWildcard()
github
ParameterizedTypeWithWildcardTest.testParameterizedReturnTypeWithWildcard()
github
An array type whose component type is not a legal bean type.
lc)
An array type whose component type is a type variable is not a legal bean type.
org.jboss.cdi.tck.tests.implementation.producer.field.definition.broken.array
ProducerFieldArrayTypeVariableTest.testBeanTypes()
github
org.jboss.cdi.tck.tests.implementation.producer.method.broken.array
ProducerMethodArrayTypeVariableTest.testBeanTypes()
github
ld)
An array type whose component type is a parameterized type that contains a wildcard type parameter is not a legal bean type.
org.jboss.cdi.tck.tests.implementation.producer.method.broken.array
ProducerMethodArrayWildcardTest.testBeanTypes()
github
org.jboss.cdi.tck.tests.implementation.producer.field.definition.broken.array
ProducerFieldArrayWildcardTest.testBeanTypes()
github
The bean types of a bean may be restricted by annotating the bean class or producer method or field with the annotation @javax.enterprise.inject.Typed. When a @Typed annotation is explicitly specified, only the types whose classes are explicitly listed using the value member, together with java.lang.Object are bean types of the bean.
a)
Check managed bean
org.jboss.cdi.tck.tests.lookup.typesafe.resolution
ResolutionByTypeTest.testBeanTypesOnManagedBean()
github
b)
Check session bean
org.jboss.cdi.tck.tests.lookup.typesafe.resolution
EnterpriseResolutionByTypeTest.testBeanTypesOnSessionBean()
github
c)
Check producer method
org.jboss.cdi.tck.tests.lookup.typesafe.resolution
ResolutionByTypeTest.testBeanTypesOnProducerMethod()
github
d)
Check producer field
org.jboss.cdi.tck.tests.lookup.typesafe.resolution
ResolutionByTypeTest.testBeanTypesOnProducerField()
github
e)
Check generic managed bean
org.jboss.cdi.tck.tests.lookup.typesafe.resolution
ResolutionByTypeTest.testGenericBeanTypesOnManagedBean()
github
g)
Check generic producer method
org.jboss.cdi.tck.tests.lookup.typesafe.resolution
ResolutionByTypeTest.testGenericBeanTypesOnProducerMethod()
github
h)
Check generic producer field
org.jboss.cdi.tck.tests.lookup.typesafe.resolution
ResolutionByTypeTest.testGenericBeanTypesOnProducerField()
github
If a bean class or producer method or field specifies a @Typed annotation, and the value member specifies a class which does not correspond to a type in the unrestricted set of bean types of a bean, the container automatically detects the problem and treats it as a definition error.
j)
Check managed bean
org.jboss.cdi.tck.tests.definition.bean.broken.restricted
RestrictedManagedBeanTest.testInvalidTypedValueOnManagedBean()
github
k)
Check session bean
org.jboss.cdi.tck.tests.definition.bean.broken.restricted
RestrictedSessionBeanTest.testInvalidTypedValueOnSessionBean()
github
l)
Check producer method
org.jboss.cdi.tck.tests.definition.bean.broken.restricted
RestrictedProducerFieldTest.testInvalidTypedValueOnProducerField()
github
m)
Check producer field
org.jboss.cdi.tck.tests.definition.bean.broken.restricted
RestrictedProducerMethodTest.testInvalidTypedValueOnProducerField()
github
a)
A client of a bean may typecast its contextual reference to a bean to any bean type of the bean which is a Java interface. However, the client may not in general typecast its contextual reference to an arbitrary concrete bean type of the bean.
org.jboss.cdi.tck.tests.definition.bean
BeanDefinitionTest.testBeanClientCanCastBeanInstanceToAnyBeanType()
github
aa)
Every bean has the built-in qualifier @Any, even if it does not explicitly declare this qualifier, except for the special @New qualified beans defined in Section 3.14, "@New qualified beans".
org.jboss.cdi.tck.tests.implementation.producer.method.definition
ProducerMethodDefinitionTest.testDefaultBindingType()
github
org.jboss.cdi.tck.tests.definition.qualifier
QualifierDefinitionTest.testDefaultQualifierDeclaredInJava()
github
org.jboss.cdi.tck.tests.lookup.injection.any
AnyInjectionTest.testAnyInjectionIfExactlyOneBeanForType()
github
ab)
If a bean does not explicitly declare a qualifier other than @Named, the bean has exactly one additional qualifier, of type @Default. This is called the default qualifier.
org.jboss.cdi.tck.tests.implementation.producer.method.definition
ProducerMethodDefinitionTest.testDefaultBindingType()
github
org.jboss.cdi.tck.tests.implementation.producer.field.definition
ProducerFieldDefinitionTest.testDefaultBindingType()
github
org.jboss.cdi.tck.tests.definition.qualifier
QualifierDefinitionTest.testDefaultQualifierDeclaredInJava()
github
b)
The default qualifier is also assumed for any injection point that does not explicitly declare a qualifier.
org.jboss.cdi.tck.tests.definition.qualifier
QualifierDefinitionTest.testDefaultQualifierForInjectionPoint()
github
aa)
A qualifier type is a Java annotation defined as @Target({METHOD, FIELD, PARAMETER, TYPE}) and @Retention(RUNTIME).
ab)
A qualifier type is a Java annotation defined as @Target({METHOD, FIELD, PARAMETER, TYPE}) and @Retention(RUNTIME).
ba)
A qualifier type may be declared by specifying the @javax.inject.Qualifier meta-annotation.
org.jboss.cdi.tck.tests.definition.qualifier
QualifierDefinitionTest.testQualifierDeclaresBindingAnnotation()
github
d)
A qualifier type may define annotation members.
The qualifiers of a bean are declared by annotating the bean class or producer method or field with the qualifier types.
a)
Test by annotating a bean class.
org.jboss.cdi.tck.tests.definition.qualifier
QualifierDefinitionTest.testQualifiersDeclaredInJava()
github
b)
Test by annotating a producer method.
org.jboss.cdi.tck.tests.implementation.producer.method.definition
ProducerMethodDefinitionTest.testBindingType()
github
c)
Test by annotating a producer field.
org.jboss.cdi.tck.tests.implementation.producer.field.definition
ProducerFieldDefinitionTest.testBindingType()
github
d)
Any bean may declare multiple qualifier types.
org.jboss.cdi.tck.tests.lookup.typesafe.resolution
ResolutionByTypeTest.testAllQualifiersSpecifiedForResolutionMustAppearOnBean()
github
org.jboss.cdi.tck.tests.definition.qualifier
QualifierDefinitionTest.testMultipleQualifiers()
github
a)
Qualifier types may be applied to injected fields (see Section 3.8, "Injected fields") to determine the bean that is injected, according to the rules of typesafe resolution defined in Section 5.3, "Typesafe resolution".
org.jboss.cdi.tck.tests.implementation.simple.lifecycle
SimpleBeanLifecycleTest.testCreateInjectsFieldsDeclaredInJava()
github
b)
A bean may only be injected to an injection point if it has all the qualifiers of the injection point.
org.jboss.cdi.tck.tests.lookup.typesafe.resolution
ResolutionByTypeTest.testAllQualifiersSpecifiedForResolutionMustAppearOnBean()
github
Qualifier types may be applied to parameters of producer methods, initializer methods, disposer methods, observer methods or bean constructors (see Chapter 3, Bean implementation) to determine the bean instance that is passed when the method is called by the container.
a)
Test producer method.
org.jboss.cdi.tck.tests.implementation.producer.method.definition
ProducerMethodDefinitionTest.testBindingTypesAppliedToProducerMethodParameters()
github
org.jboss.cdi.tck.tests.definition.qualifier
QualifierDefinitionTest.testFieldInjectedFromProducerMethod()
github
b)
Test initializer method.
org.jboss.cdi.tck.tests.implementation.initializer
InitializerMethodTest.testBindingTypeOnInitializerParameter()
github
c)
Test disposer method.
org.jboss.cdi.tck.tests.implementation.disposal.method.definition
DisposalMethodDefinitionTest.testBindingTypesAppliedToDisposalMethodParameters()
github
ca)
Test observer method.
org.jboss.cdi.tck.tests.event
EventTest.testObserverMethodParameterInjectionPoints()
github
d)
Test bean constructor.
org.jboss.cdi.tck.tests.implementation.simple.lifecycle
SimpleBeanLifecycleTest.testInjectionOfParametersIntoBeanConstructor()
github
a)
All beans have a scope.
org.jboss.cdi.tck.tests.definition.bean
BeanDefinitionTest.testHasScopeType()
github
b)
A scope type is represented by an annotation type.
c)
The set of scope types is extensible.
org.jboss.cdi.tck.tests.definition.scope
ScopeDefinitionTest.testScopeTypesAreExtensible()
github
There are five standard scope types defined by this specification, all defined in the package javax.enterprise.context.
aa)
The @RequestScoped, @ApplicationScoped and @SessionScoped annotations defined in Section 6.7, "Context management for built-in scopes" represent the standard scopes defined by the Java Servlets specification.
org.jboss.cdi.tck.tests.context
ContextTest.testBuiltInContexts()
github
ab)
The @RequestScoped, @ApplicationScoped and @SessionScoped annotations defined in Section 6.7, "Context management for built-in scopes" represent the standard scopes defined by the Java Servlets specification.
org.jboss.cdi.tck.tests.context
ContextTest.testBuiltInContexts()
github
ac)
The @RequestScoped, @ApplicationScoped and @SessionScoped annotations defined in Section 6.7, "Context management for built-in scopes" represent the standard scopes defined by the Java Servlets specification.
org.jboss.cdi.tck.tests.context
ContextTest.testBuiltInContexts()
github
ba)
The @ConversationScoped annotation represents the conversation scope defined in Section 6.7.4, "Conversation context lifecycle".
org.jboss.cdi.tck.tests.context.conversation
LongRunningConversationPropagatedByFacesContextTest.testConversationPropagated()
github
ca)
The @Dependent pseudo-scope is for dependent objects, as defined in Section 6.4, "Dependent pseudo-scope"
org.jboss.cdi.tck.tests.context
ContextTest.testBuiltInContexts()
github
e)
If an interceptor or decorator has any scope other than @Dependent, non-portable behavior results.
aa)
A scope type is a Java annotation defined as @Target({TYPE, METHOD, FIELD}) and @Retention(RUNTIME).
org.jboss.cdi.tck.tests.definition.scope
ScopeDefinitionTest.testScopeTypeHasCorrectTarget()
github
ab)
A scope type is a Java annotation defined as @Target({TYPE, METHOD, FIELD}) and @Retention(RUNTIME).
ac)
A scope type must not have any attributes. If a scope type has attributes non-portable behavior results.
ba)
All scope types must specify the @javax.inject.Scope or @javax.enterprise.context.NormalScope meta-annotation.
org.jboss.cdi.tck.tests.definition.scope
ScopeDefinitionTest.testScopeTypeDeclaresScopeTypeAnnotation()
github
a)
The scope of a bean is defined by annotating the bean class or producer method or field with a scope type.
org.jboss.cdi.tck.tests.definition.scope
ScopeDefinitionTest.testScopeDeclaredInJava()
github
A bean class or producer method or field may specify at most one scope type annotation. If a bean class or producer method or field specifies multiple scope type annotations, the container automatically detects the problem and treats it as a definition error.
ba)
Test with a bean class.
org.jboss.cdi.tck.tests.definition.scope.broken.tooManyScopes
TooManyScopesTest.testTooManyScopesSpecifiedInJava()
github
SessionBeanTooManyScopesTest.testTooManyScopesSpecifiedInJava()
github
bb)
Test with a producer method.
org.jboss.cdi.tck.tests.definition.scope.broken.tooManyScopes.producer.method
ProducerMethodTooManyScopesTest.testTooManyScopesSpecifiedInJava()
github
SessionBeanProducerMethodTooManyScopesTest.testTooManyScopesSpecifiedInJava()
github
bc)
Test with a producer field.
org.jboss.cdi.tck.tests.definition.scope.broken.tooManyScopes.producer.field
ProducerFieldTooManyScopesTest.testTooManyScopesSpecifiedInJava()
github
SessionBeanProducerFieldTooManyScopesTest.testTooManyScopesSpecifiedInJava()
github
c)
A scope type may be specified using a stereotype annotation, as defined in Section 2.7.2, "Declaring the stereotypes for a bean"
org.jboss.cdi.tck.tests.definition.stereotype
StereotypeDefinitionTest.testStereotypeWithScopeType()
github
aa)
When no scope is explicitly declared by annotating the bean class or producer method or field the scope of a bean is defaulted.
org.jboss.cdi.tck.tests.definition.scope
ScopeDefinitionTest.testDefaultScope()
github
b)
If the bean does not declare any stereotype with a declared default scope, the default scope for the bean is @Dependent.
org.jboss.cdi.tck.tests.definition.stereotype
StereotypeDefinitionTest.testStereotypeWithoutScopeType()
github
c)
If all stereotypes declared by the bean that have some declared default scope have the same default scope, then that scope is the default scope for the bean.
org.jboss.cdi.tck.tests.implementation.producer.method.definition
ProducerMethodDefinitionTest.testStereotypeSpecifiesScope()
github
org.jboss.cdi.tck.tests.definition.scope
ScopeDefinitionTest.testMultipleCompatibleScopeStereotypes()
github
da)
If there are two different stereotypes declared by the bean that declare different default scopes, then there is no default scope and the bean must explicitly declare a scope. If it does not explicitly declare a scope, the container automatically
detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.definition.stereotype.broken.scopeConflict
IncompatibleStereotypesTest.testMultipleIncompatibleScopeStereotypes()
github
org.jboss.cdi.tck.tests.definition.scope
ScopeDefinitionTest.testMultipleIncompatibleScopeStereotypesWithScopeSpecified()
github
e)
If a bean explicitly declares a scope, any default scopes declared by stereotypes are ignored.
org.jboss.cdi.tck.tests.definition.scope
ScopeDefinitionTest.testScopeSpecifiedAndStereotyped()
github
org.jboss.cdi.tck.tests.definition.stereotype
StereotypeDefinitionTest.testExplicitScopeOverridesMergedScopesFromMultipleStereotype()
github
a)
A bean class may have a bean defining annotation, allowing it to be placed anywhere in an application, as defined in Section 12.1. A bean class with a bean defining annotation is said to be an implicit bean.
The set of bean defining annotations contains:
ba)
@ApplicationScoped, @SessionScoped, @ConversationScoped and @RequestScoped annotations
org.jboss.cdi.tck.tests.deployment.discovery.enterprise
EnterpriseBeanDiscoveryTest.testImplicitBeanArchiveNoDescriptor()
github
EnterpriseBeanDiscoveryTest.testImplicitBeanArchiveModeAnnotated()
github
org.jboss.cdi.tck.tests.deployment.discovery
BeanDiscoveryTest.testNormalScopeImplicitBeanArchiveNoDescriptor()
github
BeanDiscoveryTest.testNormalScopeImplicitBeanArchiveModeAnnotated()
github
bb)
all other normal scope types
org.jboss.cdi.tck.tests.deployment.discovery
BeanDiscoveryTest.testNormalScopeImplicitBeanArchiveNoDescriptor()
github
BeanDiscoveryTest.testNormalScopeImplicitBeanArchiveModeAnnotated()
github
bc)
@Interceptor annotation
org.jboss.cdi.tck.tests.deployment.discovery
BeanDiscoveryTest.testInterceptorIsBeanDefiningAnnotation()
github
bd)
@Decorator annotation
org.jboss.cdi.tck.tests.deployment.discovery
BeanDiscoveryTest.testDecoratorIsBeanDefiningAnnotation()
github
be)
all stereotype annotations (i.e. annotations annotated with @Stereotype)
org.jboss.cdi.tck.tests.deployment.discovery
BeanDiscoveryTest.testStereotypeImplicitBeanArchiveNoDescriptor()
github
BeanDiscoveryTest.testStereotypeImplicitBeanArchiveModeAnnotated()
github
bf)
the @Dependent scope annotation
org.jboss.cdi.tck.tests.deployment.discovery
BeanDiscoveryTest.testDependentScopeImplicitBeanArchiveNoDescriptor()
github
BeanDiscoveryTest.testPseudoScopeImplicitBeanArchiveModeAnnotated()
github
ca)
Note that to ensure compatibility with other JSR-330 implementations, all pseudo-scope annotations except @Dependent are not bean defining annotations.
org.jboss.cdi.tck.tests.deployment.discovery
BeanDiscoveryTest.testPseudoScopeImplicitBeanArchiveModeAnnotated()
github
cb)
However, a stereotype annotation including a pseudo-scope annotation is a bean defining annotation.
org.jboss.cdi.tck.tests.deployment.discovery
BeanDiscoveryTest.testStereotypeImplicitBeanArchiveNoDescriptor()
github
BeanDiscoveryTest.testStereotypeImplicitBeanArchiveModeAnnotated()
github
a)
A valid bean name is a period-separated list of valid EL identifiers
org.jboss.cdi.tck.tests.lookup.el
ResolutionByNameTest.testELResolverReturnsContextualInstance()
github
To specify the name of a bean, the qualifier @javax.inject.Named is applied to the bean class or producer method or field.
a)
Test with a bean class.
org.jboss.cdi.tck.tests.definition.name
NameDefinitionTest.testNonDefaultNamed()
github
b)
Test with a producer method.
org.jboss.cdi.tck.tests.implementation.producer.method.definition
ProducerMethodDefinitionTest.testNamedMethod()
github
c)
Test with a producer field.
org.jboss.cdi.tck.tests.implementation.producer.field.definition
ProducerFieldDefinitionTest.testNamedField()
github
d)
If the @Named annotation does not specify the value member, the EL name is defaulted.
org.jboss.cdi.tck.tests.implementation.producer.method.definition
ProducerMethodDefinitionTest.testDefaultNamedMethod()
github
org.jboss.cdi.tck.tests.implementation.producer.field.definition
ProducerFieldDefinitionTest.testDefaultNamedByStereotype()
github
org.jboss.cdi.tck.tests.definition.name
NameDefinitionTest.testDefaultNamed()
github
A default name must be assigned by the container when a bean class or producer method or field of a bean declares a @Named annotation and no bean name is explicitly specified by the value member.
a)
Test with a bean class.
org.jboss.cdi.tck.tests.definition.name
NameDefinitionTest.testDefaultNamed()
github
b)
Test with a producer method.
org.jboss.cdi.tck.tests.implementation.producer.method.definition
ProducerMethodDefinitionTest.testDefaultNamedMethod()
github
c)
Test with a producer field.
org.jboss.cdi.tck.tests.implementation.producer.field.definition
ProducerFieldDefinitionTest.testDefaultNamedByStereotype()
github
e)
A default name must be assigned by the container when a bean declares a stereotype that declares an empty @Named annotation, and the bean does not explicitly specify an bean name.
org.jboss.cdi.tck.tests.definition.stereotype.named
DefaultNamedTest.testStereotypeDeclaringNamed()
github
If a bean class or producer method or field of a bean declares a @Named annotation and no bean name is explicitly specified the value of the value member is defaulted.
fa)
Test with a bean class.
org.jboss.cdi.tck.tests.definition.name
NameDefinitionTest.testDefaultNamed()
github
org.jboss.cdi.tck.tests.lookup.injectionpoint.named
NamedAtInjectionPointTest.testFieldNameUsedAsBeanName()
github
fb)
Test with a producer method.
org.jboss.cdi.tck.tests.implementation.producer.method.definition
ProducerMethodDefinitionTest.testDefaultNamedMethod()
github
fc)
Test with a producer field.
org.jboss.cdi.tck.tests.implementation.producer.field.definition
ProducerFieldDefinitionTest.testDefaultNamed()
github
a)
If @Named is not declared by the bean, nor by its stereotypes, a bean has no name.
org.jboss.cdi.tck.tests.implementation.producer.field.definition
ProducerFieldDefinitionTest.testDefaultNamedByStereotype()
github
org.jboss.cdi.tck.tests.definition.name
NameDefinitionTest.testNamedNotDeclaredByBean()
github
NameDefinitionTest.testNamedNotDeclaredByStereotype()
github
b)
If an interceptor or decorator has a name, non-portable behavior results.
a)
An alternative is a bean that must be explicitly selected if it should be available for lookup, injection or EL resolution.
An alternative may be declared by annotating the bean class or producer method or field with the @Alternative annotation.
aa)
Test with a bean class.
org.jboss.cdi.tck.tests.extensions.alternative.deployment
AlternativeInLibraryWithExtensionTest.testAlternative()
github
org.jboss.cdi.tck.tests.lookup.modules.specialization.alternative
Specialization04Test.testEnabledAlternativeSpecializes()
github
org.jboss.cdi.tck.tests.alternative
AlternativeAvailabilityTest.testAlternativeAvailability()
github
org.jboss.cdi.tck.tests.lookup.modules.specialization.alternative
Specialization03Test.testEnabledAlternativeSpecializes()
github
Specialization02Test.testEnabledAlternativeSpecializes()
github
Specialization01Test.testNotEnabledAlternativeDoesNotSpecialize()
github
Specialization05Test.testEnabledAlternativeSpecializes()
github
Specialization06Test.testEnabledAlternativeSpecializes()
github
ab)
Test with a producer method.
org.jboss.cdi.tck.tests.alternative
AlternativeAvailabilityTest.testProducerAlternativesOnMethodAndField()
github
ac)
Test with a producer field.
org.jboss.cdi.tck.tests.alternative
AlternativeAvailabilityTest.testProducerAlternativesOnMethodAndField()
github
An alternative may be declared by annotating a bean, producer method or producer field with a stereotype that declares an @Alternative annotation.
ba)
Test with a bean.
org.jboss.cdi.tck.tests.alternative
AlternativeAvailabilityTest.testAnyEnabledAlternativeStereotypeMakesAlternativeEnabled()
github
bb)
Test with a producer method.
org.jboss.cdi.tck.tests.alternative
AlternativeAvailabilityTest.testStereotypeAlternativeOnProducerMethodAndField()
github
bc)
Test with a producer field.
org.jboss.cdi.tck.tests.alternative
AlternativeAvailabilityTest.testStereotypeAlternativeOnProducerMethodAndField()
github
c)
If an interceptor or decorator is an alternative, non-portable behavior results.
a)
A stereotype may specify that all beans with the stereotype have defaulted bean EL names.
org.jboss.cdi.tck.tests.definition.stereotype.named
DefaultNamedTest.testStereotypeDeclaringNamed()
github
org.jboss.cdi.tck.tests.definition.name
NameDefinitionTest.testStereotypeDefaultsName()
github
aa)
A stereotype may specify that all beans with the stereotype are alternatives.
org.jboss.cdi.tck.tests.alternative
AlternativeAvailabilityTest.testAnyEnabledAlternativeStereotypeMakesAlternativeEnabled()
github
A bean may declare zero, one or multiple stereotypes.
b)
A bean may declare zero stereotypes.
c)
Test with one stereotype.
org.jboss.cdi.tck.tests.definition.stereotype
StereotypeDefinitionTest.testOneStereotypeAllowed()
github
d)
Test with multiple stereotypes.
org.jboss.cdi.tck.tests.definition.stereotype
StereotypeDefinitionTest.testMultipleStereotypesAllowed()
github
A beans stereotype is a Java annotation defined as @Target({TYPE, METHOD, FIELD}), @Target(TYPE), @Target(METHOD), @Target(FIELD) or @Target({METHOD, FIELD}) and @Retention(RUNTIME).
aa)
Test @Target({TYPE, METHOD, FIELD}).
ad)
Test @Target({METHOD, FIELD}).
ae)
@Retention(RUNTIME) - untestable.
b)
A stereotype may be declared by specifying the @javax.enterprise.inject.Stereotype meta-annotation.
org.jboss.cdi.tck.tests.definition.stereotype
StereotypeDefinitionTest.testOneStereotypeAllowed()
github
The default scope of a stereotype is defined by annotating the stereotype with a scope type. A stereotype may declare at most one scope. If a stereotype declares more than one scope, the container automatically detects the problem and treats it as a definition error.
aa)
Test with one scope.
org.jboss.cdi.tck.tests.definition.stereotype
StereotypeDefinitionTest.testStereotypeWithScopeType()
github
StereotypeDefinitionTest.testStereotypeWithoutScopeType()
github
ab)
Test that a stereotype with multiple scopes throws an exception.
org.jboss.cdi.tck.tests.definition.stereotype.broken.tooManyScopes
TooManyScopeTypesTest.testStereotypeWithTooManyScopeTypes()
github
aa)
The interceptor bindings of a stereotype are defined by annotating the stereotype with the interceptor binding types.
org.jboss.cdi.tck.tests.definition.stereotype.interceptor
StereotypeWithMultipleInterceptorBindingsTest.testMultipleInterceptorBindings()
github
a)
A stereotype may declare zero interceptor bindings.
org.jboss.cdi.tck.tests.definition.stereotype
StereotypeDefinitionTest.testOneStereotypeAllowed()
github
b)
A stereotype may declare one interceptor bindings.
org.jboss.cdi.tck.tests.interceptors.definition
InterceptorDefinitionTest.testStereotypeInterceptorBindings()
github
org.jboss.cdi.tck.tests.definition.stereotype.interceptor.enterprise
EnterpriseStereotypeInterceptorBindingTest.testStereotypeInterceptorBindings()
github
c)
A stereotype may declare multiple interceptor bindings.
org.jboss.cdi.tck.tests.definition.stereotype.interceptor
StereotypeWithMultipleInterceptorBindingsTest.testMultipleInterceptorBindings()
github
aa)
A stereotype may declare an empty @Named annotation, which specifies that every bean with the stereotype has a defaulted name when a name is not explicitly specified by the bean.
org.jboss.cdi.tck.tests.implementation.producer.field.definition
ProducerFieldDefinitionTest.testDefaultNamedByStereotype()
github
org.jboss.cdi.tck.tests.definition.stereotype.named
DefaultNamedTest.testStereotypeDeclaringNamed()
github
DefaultNamedTest.testStereotypeNamedOverridenByBean()
github
org.jboss.cdi.tck.tests.implementation.producer.method.definition.name
ProducerMethodWithDefaultNameTest.testProducerMethodQualifiers()
github
org.jboss.cdi.tck.tests.definition.name
NameDefinitionTest.testStereotypeDefaultsName()
github
ab)
A @Named qualifier declared by a stereotype is not added to the qualifiers of a bean with the stereotype.
org.jboss.cdi.tck.tests.implementation.producer.field.definition
ProducerFieldDefinitionTest.testDefaultNamedByStereotype()
github
org.jboss.cdi.tck.tests.definition.stereotype.named
DefaultNamedTest.testStereotypeDeclaringNamed()
github
org.jboss.cdi.tck.tests.implementation.producer.method.definition.name
ProducerMethodWithDefaultNameTest.testProducerMethodQualifiers()
github
ac)
If a stereotype declares a non-empty @Named annotation, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.definition.stereotype.broken.nonEmptyNamed
NonEmptyNamedTest.testStereotypeWithNonEmptyNamed()
github
b)
A stereotype should not declare any qualifier annotation other than @Named. If a stereotype declares any other qualifier annotation, non-portable behavior results.
c)
A stereotype should not be annotated @Typed. If a stereotype is annotated @Typed, non-portable behavior results.
a)
A stereotype may declare an @Alternative annotation, which specifies that every bean with the stereotype is an alternative.
org.jboss.cdi.tck.tests.definition.stereotype.alternative.enterprise
EnterpriseStereotypeAlternativeSpecializeTest.testStereotypeAlternative()
github
EnterpriseStereotypeAlternativeTest.testStereotypeAlternative()
github
org.jboss.cdi.tck.tests.alternative
AlternativeAvailabilityTest.testAnyEnabledAlternativeStereotypeMakesAlternativeEnabled()
github
a)
A stereotype may declare other stereotypes.
org.jboss.cdi.tck.tests.definition.stereotype.inheritance
StereotypeInheritenceTest.testInheritence()
github
b)
Stereotype declarations are transitive - a stereotype declared by a second stereotype is inherited by all beans and other stereotypes that declare the second stereotype.
org.jboss.cdi.tck.tests.definition.stereotype.inheritance
StereotypeInheritenceTest.testInheritence()
github
c)
Stereotypes declared @Target(TYPE) may not be applied to stereotypes declared @Target({TYPE, METHOD, FIELD}), @Target(METHOD), @Target(FIELD), @Target({METHOD, FIELD}).
Stereotype annotations may be applied to a bean class or producer method or field.
a)
Test with a bean class.
org.jboss.cdi.tck.tests.definition.scope
ScopeDefinitionTest.testScopeSpecifiedAndStereotyped()
github
b)
Test with a producer method.
org.jboss.cdi.tck.tests.implementation.producer.method.definition
ProducerMethodDefinitionTest.testStereotypeSpecifiesScope()
github
c)
Test with a producer field.
org.jboss.cdi.tck.tests.implementation.producer.field.definition
ProducerFieldDefinitionTest.testStereotype()
github
db)
The default scope declared by the stereotype may be overridden by the bean.
org.jboss.cdi.tck.tests.definition.scope
ScopeDefinitionTest.testWebBeanScopeTypeOverridesStereotype()
github
e)
Multiple stereotypes may be applied to the same bean.
org.jboss.cdi.tck.tests.definition.stereotype
StereotypeDefinitionTest.testMultipleStereotypesAllowed()
github
StereotypeDefinitionTest.testExplicitScopeOverridesMergedScopesFromMultipleStereotype()
github
aa)
The built-in stereotype @javax.enterprise.inject.Model is intended for use with beans that define the model layer of an MVC web application architecture such as JSF.
a)
When the application violates a rule defined by this specification, the container automatically detects the problem. There are three kinds of problem - definition errors occur when a single bean definition violates the rules of this specification, deployment problems occur when there are problems resolving dependencies, or inconsistent specialization, in a particular deployment, and exceptions occur at runtime.
b)
Definition errors are developer errors. They may be detected by tooling at development time, and are also detected by the container at initialization time. If a definition error exists in a deployment, initialization will be aborted by the container.
org.jboss.cdi.tck.tests.definition.stereotype.broken.tooManyScopes
TooManyScopeTypesTest.testStereotypeWithTooManyScopeTypes()
github
org.jboss.cdi.tck.tests.lookup.clientProxy.unproxyable.array
ArrayTest.testInjectionPointWithArrayType()
github
ba)
If a definition error exists, the container must throw a subclass of javax.enterprise.inject.spi.DefinitionException.
org.jboss.cdi.tck.tests.definition.scope.broken.tooManyScopes.producer.field
ProducerFieldTooManyScopesTest.testTooManyScopesSpecifiedInJava()
github
org.jboss.cdi.tck.tests.implementation.simple.definition.dependentWithPublicField
DependentWithPublicFieldTest.testNonDependentScopedBeanCanNotHavePublicField()
github
org.jboss.cdi.tck.tests.definition.scope.broken.tooManyScopes
TooManyScopesTest.testTooManyScopesSpecifiedInJava()
github
org.jboss.cdi.tck.tests.definition.scope.broken.tooManyScopes.producer.method
ProducerMethodTooManyScopesTest.testTooManyScopesSpecifiedInJava()
github
org.jboss.cdi.tck.tests.definition.bean.broken.restricted
RestrictedManagedBeanTest.testInvalidTypedValueOnManagedBean()
github
c)
Deployment problems are detected by the container at initialization time. If a deployment problem exists in a deployment, initialization will be aborted by the container.
org.jboss.cdi.tck.tests.alternative.broken.incorrect.name
NoClassWithSpecifiedNameTest.test()
github
org.jboss.cdi.tck.tests.lookup.dependency.resolution.broken.ambiguous
AmbiguousDependencyTest.testAmbiguousDependency()
github
ca)
If a deployment problem occurs, the container must throw a subclass of javax.enterprise.inject.spi.DeploymentException.
org.jboss.cdi.tck.tests.alternative.broken.incorrect.name
NoClassWithSpecifiedNameTest.test()
github
org.jboss.cdi.tck.tests.lookup.dependency.resolution.broken.ambiguous
AmbiguousDependencyTest.testAmbiguousDependency()
github
d)
The container is permitted to define a non-portable mode, for use at development time, in which some definition errors and deployment problems do not cause application initialization to abort.
e)
Exceptions represent problems that may not be detected until they actually occur at runtime. All exceptions defined by this specification are unchecked exceptions. All exceptions defined by this specification may be safely caught and handled by the application.
a)
If the bean class of a managed bean is annotated with both the @Interceptor and @Decorator stereotypes, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.interceptors.definition.broken.interceptorCanNotBeDecorator
InterceptorCanNotBeDecoratorTest.testInterceptorCanNotAlsoBeDecorator()
github
If a managed bean has a non-static public field, it must have scope @Dependent. If a managed bean with a non-static public field declares any scope other than @Dependent, the container automatically detects the problem and treats it as a definition error.
fa)
Check a dependent scoped bean with a public field.
org.jboss.cdi.tck.tests.implementation.simple.definition
SimpleBeanDefinitionTest.testDependentScopedBeanCanHaveNonStaticPublicField()
github
fb)
Check a managed bean with a static public field which declares any scope other than @Dependent.
org.jboss.cdi.tck.tests.implementation.simple.definition.nonDependentWithPublicStaticField
NonDependentWithPublicStaticFieldTest.testNonDependentScopedBeanCanHavePublicStaticField()
github
fc)
If a managed bean with a non-static public field declares any scope other than @Dependent, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.implementation.simple.definition.dependentWithPublicField
DependentWithPublicFieldTest.testNonDependentScopedBeanCanNotHavePublicField()
github
g)
If the managed bean class is a generic type, it must have scope @Dependent. If a managed bean with a parameterized bean class declares any scope other than @Dependent, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.definition.bean.genericbroken
GenericManagedBeanTest.testNonDependentGenericManagedBeanNotOk()
github
b)
A top-level Java class is not a managed bean if it is a non-static inner class.
org.jboss.cdi.tck.tests.implementation.simple.definition
SimpleBeanDefinitionTest.testNonStaticInnerClassDeclaredInJavaNotDiscovered()
github
ba)
A top-level Java class that is a static inner class can be a managed bean.
org.jboss.cdi.tck.tests.implementation.simple.definition
SimpleBeanDefinitionTest.testStaticInnerClassDeclaredInJavaAllowed()
github
ca)
A top-level Java class is not a managed bean if it is an abstract class, unless it is annotated @Decorator.
org.jboss.cdi.tck.tests.implementation.simple.definition
SimpleBeanDefinitionTest.testAbstractClassDeclaredInJavaNotDiscovered()
github
cb)
A top-level Java class is not a managed bean if it is an interface, unless it is annotated @Decorator.
org.jboss.cdi.tck.tests.implementation.simple.definition
SimpleBeanDefinitionTest.testInterfaceNotDiscoveredAsSimpleBean()
github
f)
A top-level Java class is not a managed bean if it is annotated with any of the EJB component-defining annotations
org.jboss.cdi.tck.tests.implementation.simple.definition
EnterpriseBeanNotDiscoveredAsManagedBeanTest.testClassesImplementingEnterpriseBeanInterfaceNotDiscoveredAsSimpleBean()
github
g)
A top-level Java class is not a managed bean if it implements javax.enterprise.inject.spi.Extension.
org.jboss.cdi.tck.tests.implementation.simple.definition
SimpleBeanDefinitionTest.testExtensionNotDiscoveredAsSimpleBean()
github
h)
A top-level Java class is not a managed bean if it is annotated @Vetoed or placed in a package annotated @Vetoed.
org.jboss.cdi.tck.tests.vetoed
VetoedTest.testClassLevelVeto()
github
VetoedTest.testPackageLevelVeto()
github
n)
A top-level Java class is not a managed bean if it is declared as an EJB bean class in ejb-jar.xml
org.jboss.cdi.tck.tests.implementation.enterprise.definition
EnterpriseBeanViaXmlTest.testEjbDeclaredInXmlNotSimpleBean()
github
p)
A top-level Java class is only a managed bean if it has an appropriate constructor - a constructor with no parameters.
org.jboss.cdi.tck.tests.implementation.simple.definition
SimpleBeanDefinitionTest.testSimpleBeanOnlyIfConstructorParameterless()
github
q)
A top-level Java class is only a managed bean if it has an appropriate constructor - a constructor annotated @Inject.
org.jboss.cdi.tck.tests.implementation.simple.definition
SimpleBeanDefinitionTest.testSimpleBeanOnlyIfConstructorIsInitializer()
github
r)
If packages annotated @Vetoed are split across classpath entries, non-portable behavior results. An application can prevent packages being split across jars by sealing the package as defined by the Extension Mechanism Architecture.
a)
The unrestricted set of bean types for a managed bean contains the bean class, every superclass and all interfaces it implements directly or indirectly.
org.jboss.cdi.tck.tests.definition.bean
BeanDefinitionTest.testBeanTypes()
github
BeanDefinitionTest.testGenericBeanTypes()
github
BeanDefinitionTest.testRawBeanTypes()
github
org.jboss.cdi.tck.tests.definition.bean.types
ManagedBeanTypesTest.testGenericHierarchyBeanTypes()
github
a)
A managed bean with a constructor that takes no parameters does not require any special annotations
org.jboss.cdi.tck.tests.implementation.simple.definition
SimpleBeanDefinitionTest.testEmptyConstructorUsed()
github
ab)
If the managed bean does not have a constructor that takes no parameters, it must have a constructor annotated @Inject. No additional special annotations are required.
A bean class may also specify a scope, name, stereotypes and/or qualifiers.
ba)
Test a bean with a scope.
org.jboss.cdi.tck.tests.definition.bean
BeanDefinitionTest.testHasScopeType()
github
bb)
Test a bean with a name.
org.jboss.cdi.tck.tests.definition.name
NameDefinitionTest.testNonDefaultNamed()
github
bd)
Test a bean with a stereotype.
org.jboss.cdi.tck.tests.definition.bean
BeanDefinitionTest.testMultipleStereotypes()
github
be)
Test a bean with a qualifier.
org.jboss.cdi.tck.tests.definition.qualifier
QualifierDefinitionTest.testQualifiersDeclaredInJava()
github
c)
A managed bean may extend another managed bean.
org.jboss.cdi.tck.tests.definition.bean
BeanDefinitionTest.testBeanExtendsAnotherBean()
github
If a bean class of a managed bean X is annotated @Specializes, then the bean class of X must directly extend the bean class of another managed bean Y. Then X directly specializes Y, as defined in Section 4.3, "Specialization".
aa)
Test that a specializing bean has all its own qualifiers and the qualifiers of the specialized bean.
org.jboss.cdi.tck.tests.inheritance.specialization.simple
SimpleBeanSpecializationTest.testSpecializingBeanHasQualifiersOfSpecializedAndSpecializingBean()
github
ab)
Test that a specializing bean has the name of the specialized bean.
org.jboss.cdi.tck.tests.inheritance.specialization.simple
SimpleBeanSpecializationTest.testSpecializingBeanHasNameOfSpecializedBean()
github
ac)
Test a specialized bean extending a managed bean.
org.jboss.cdi.tck.tests.lookup.modules.specialization.alternative
Specialization04Test.testEnabledAlternativeSpecializes()
github
Specialization03Test.testEnabledAlternativeSpecializes()
github
Specialization02Test.testEnabledAlternativeSpecializes()
github
Specialization01Test.testNotEnabledAlternativeDoesNotSpecialize()
github
Specialization05Test.testEnabledAlternativeSpecializes()
github
org.jboss.cdi.tck.tests.implementation.simple.lifecycle
SimpleBeanLifecycleTest.testSpecializedBeanExtendsManagedBean()
github
org.jboss.cdi.tck.tests.lookup.modules.specialization.alternative
Specialization06Test.testEnabledAlternativeSpecializes()
github
If the bean class of X does not directly extend the bean class of another managed bean, the container automatically detects the problem and treats it as a definition error.
da)
Test a specializing bean extending a non simple bean.
org.jboss.cdi.tck.tests.inheritance.specialization.simple.broken.noextend3
SpecializingClassExtendsNonSimpleBeanTest.testSpecializingClassExtendsNonSimpleBean()
github
db)
Test a specializing bean extending nothing.
org.jboss.cdi.tck.tests.inheritance.specialization.simple.broken.noextend2
SpecializingBeanExtendsNothingTest.testSpecializingClassDirectlyExtendsNothing()
github
dc)
Test a specializing bean directly extending an enterprise bean class.
org.jboss.cdi.tck.tests.inheritance.specialization.simple.broken.extendejb
SpecializingBeanExtendsEnterpriseBeanTest.testSpecializingClassDirectlyExtendsEnterpriseBean()
github
dd)
Test a specializing bean implementing an interface and extending nothing.
org.jboss.cdi.tck.tests.inheritance.specialization.simple.broken.noextend1
SpecializingBeanImplementsInterfaceOnly.testSpecializingClassImplementsInterfaceAndExtendsNothing()
github
a)
The default name for a managed bean is the unqualified class name of the bean class, after converting the first character to lower case
org.jboss.cdi.tck.tests.definition.name
NameDefinitionTest.testDefaultNamed()
github
aa)
A session bean is a bean that is implemented by a session bean with an EJB 3.x client view that is not annotated with @Vetoed or in a package annotated @Vetoed.
org.jboss.cdi.tck.tests.vetoed.enterprise
EnterpriseVetoedTest.testClassLevelVeto()
github
EnterpriseVetoedTest.testPackageLevelVeto()
github
ab)
The basic lifecycle and semantics of EJB session beans are defined by the EJB specification.
b)
A stateless session bean must belong to the @Dependent pseudo-scope
org.jboss.cdi.tck.tests.implementation.enterprise.definition
EnterpriseBeanDefinitionTest.testStatelessMustBeDependentScoped()
github
c)
A singleton bean must belong to either the @ApplicationScoped scope or to the @Dependent pseudo-scope
org.jboss.cdi.tck.tests.implementation.enterprise.definition
EnterpriseBeanDefinitionTest.testSingletonWithDependentScopeOK()
github
EnterpriseBeanDefinitionTest.testSingletonWithApplicationScopeOK()
github
da)
If a session bean specifies an illegal scope, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.implementation.enterprise.broken.statelessWithRequestScope
StatelessWithRequestScopeTest.testStatelessWithRequestScopeFails()
github
org.jboss.cdi.tck.tests.implementation.enterprise.broken.singletonWithSessionScope
SingletonWithSessionScopeTest.testSingletonWithSessionScopeFails()
github
org.jboss.cdi.tck.tests.implementation.enterprise.broken.statelessWithConversationScope
StatelessWithConversationScopeTest.testStatelessWithConversationScopeFails()
github
org.jboss.cdi.tck.tests.implementation.enterprise.broken.statelessWithSessionScope
StatelessWithSessionScopeTest.testStatelessWithSessionScopeFails()
github
org.jboss.cdi.tck.tests.implementation.enterprise.broken.statelessWithApplicationScope
StatelessWithApplicationScopeTest.testStatelessWithSessionScopeFails()
github
org.jboss.cdi.tck.tests.implementation.enterprise.broken.singletonWithConversationScope
SingletonWithConversationScopeTest.testSingletonWithConversationScopeFails()
github
org.jboss.cdi.tck.tests.implementation.enterprise.broken.singletonWithRequestScope
SingletonWithRequestScopeTest.testSingletonWithRequestScopeFails()
github
e)
A stateful session bean may have any scope.
org.jboss.cdi.tck.tests.implementation.enterprise.definition
EnterpriseBeanDefinitionTest.testBeanWithScopeAnnotation()
github
f)
When a contextual instance of a session bean is obtained via the dependency injection service, the behavior of SessionContext.getInvokedBusinessInterface() is specific to the container implementation. Portable applications should not rely upon the value returned by this method.
g)
If the bean class of a session bean is annotated @Interceptor, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.implementation.enterprise.broken.statelessInterceptor
InterceptorAnnotatedStatelessSessionBeanTest.testStatelessSessionBeanNotAllowedToBeInterceptor()
github
h)
If the bean class of a session bean is annotated @Decorator, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.implementation.enterprise.broken.statelessDecorator
DecoratorAnnotatedStatelessSessionBeanTest.testStatelessSessionBeanNotAllowedToBeDecorator()
github
i)
If the session bean class is a generic type, it must have scope @Dependent. If a session bean with a parameterized bean class declares any scope other than @Dependent, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.implementation.enterprise.broken.genericStateless
GenericStatelessSessionBeanTest.testRequestScopedGenericStatelessSessionBean()
github
j)
If packages annotated @Vetoed are split across classpath entries, non-portable behavior results. An application can prevent packages being split across jars by sealing the package as defined by the Extension Mechanism Architecture.
a)
If a session bean is a stateful session bean, and the scope is @Dependent, the application may call any EJB remove method of a contextual instance of the session bean.
org.jboss.cdi.tck.tests.implementation.enterprise.remove
EnterpriseBeanRemoveMethodTest.testApplicationMayCallAnyRemoveMethodOnDependentScopedSessionEnterpriseBeans()
github
b)
If a session bean is a stateful session bean, and the scope is not @Dependent, the application may not directly call any EJB remove method of any instance of the session bean. If the application directly calls an EJB remove method of any contextual instance of a session bean that is a stateful session bean and declares any scope other than @Dependent, an UnsupportedOperationException is thrown
org.jboss.cdi.tck.tests.implementation.enterprise.remove
EnterpriseBeanRemoveMethodTest.testApplicationCannotCallRemoveMethodOnNonDependentScopedSessionEnterpriseBean()
github
da)
If the application directly calls an EJB remove method of a contextual instance of a session bean that is a stateful session bean and has scope @Dependent then no parameters are passed to the method by the container.
org.jboss.cdi.tck.tests.implementation.enterprise.remove
EnterpriseBeanRemoveMethodTest.testApplicationMayCallRemoveMethodOnDependentScopedSessionEnterpriseBeansButNoParametersArePassed()
github
dba)
If the application directly calls an EJB remove method of a contextual instance of a session bean that is a stateful session bean and has scope @Dependent then the container ignores the instance instead of destroying it when Contextual.destroy() is called, as defined in Section 6.5, "Lifecycle of stateful session beans"
org.jboss.cdi.tck.tests.implementation.enterprise.lifecycle
EnterpriseBeanLifecycleTest.testRemovedEjbIgnored()
github
aa)
The unrestricted set of bean types for a session bean contains all local interfaces of the bean and their superinterfaces.
org.jboss.cdi.tck.tests.implementation.enterprise.definition.remote
RemoteInterfaceNotInAPITypesTest.testRemoteInterfacesAreNotInAPITypes()
github
org.jboss.cdi.tck.tests.implementation.enterprise.definition
EnterpriseBeanDefinitionTest.testBeanTypesAreLocalInterfacesWithoutWildcardTypesOrTypeVariablesWithSuperInterfaces()
github
org.jboss.cdi.tck.tests.definition.bean.types.enterprise
SessionBeanTypesTest.testGenericHierarchyBeanTypes()
github
SessionBeanTypesTest.testSessionBeanWithBothLocalInterfaceAndNoInterfaceView()
github
ba)
If the session bean has a no-interface view, the set of bean types contains the bean class and all superclasses.
org.jboss.cdi.tck.tests.implementation.enterprise.definition
EnterpriseBeanViaXmlTest.testEjbDeclaredInXmlNotSimpleBean()
github
org.jboss.cdi.tck.tests.definition.bean.types.enterprise
SessionBeanTypesTest.testGenericHierarchyBeanTypes()
github
SessionBeanTypesTest.testSessionBeanWithBothLocalInterfaceAndNoInterfaceView()
github
org.jboss.cdi.tck.tests.implementation.enterprise.definition
EnterpriseBeanDefinitionTest.testEnterpriseBeanClassLocalView()
github
org.jboss.cdi.tck.tests.definition.bean.types.enterprise
SessionBeanTypesTest.testSessionBeanExtendingSessionBeanWithLocalClientView()
github
c)
java.lang.Object is a bean type of every session bean
org.jboss.cdi.tck.tests.implementation.enterprise.definition.remote
RemoteInterfaceNotInAPITypesTest.testRemoteInterfacesAreNotInAPITypes()
github
org.jboss.cdi.tck.tests.implementation.enterprise.definition
EnterpriseBeanDefinitionTest.testObjectIsInAPITypes()
github
org.jboss.cdi.tck.tests.definition.bean.types.enterprise
SessionBeanTypesTest.testGenericHierarchyBeanTypes()
github
SessionBeanTypesTest.testSessionBeanWithBothLocalInterfaceAndNoInterfaceView()
github
d)
Remote interfaces are not included in the set of bean types
org.jboss.cdi.tck.tests.implementation.enterprise.definition.remote
RemoteInterfaceNotInAPITypesTest.testRemoteInterfacesAreNotInAPITypes()
github
aa)
A session bean does not require any special annotations apart from the component-defining annotation (or XML declaration) required by the EJB specification.
org.jboss.cdi.tck.tests.implementation.enterprise.definition
EnterpriseBeanDefinitionTest.testObjectIsInAPITypes()
github
A bean class may also specify a scope, name, stereotypes and/or qualifiers.
ba)
Test a bean class with a scope.
org.jboss.cdi.tck.tests.implementation.enterprise.definition
EnterpriseBeanDefinitionTest.testBeanWithScopeAnnotation()
github
bb)
Test a bean class with a name.
org.jboss.cdi.tck.tests.implementation.enterprise.definition
EnterpriseBeanDefinitionTest.testBeanWithNamedAnnotation()
github
bd)
Test a bean class with a stereotype.
org.jboss.cdi.tck.tests.implementation.enterprise.definition
EnterpriseBeanDefinitionTest.testBeanWithStereotype()
github
be)
Test a bean class with a qualifier.
org.jboss.cdi.tck.tests.implementation.enterprise.definition
EnterpriseBeanDefinitionTest.testBeanWithQualifiers()
github
c)
A session bean class may extend another bean class.
org.jboss.cdi.tck.tests.implementation.enterprise.definition
EnterpriseBeanDefinitionTest.testBeanTypesAreLocalInterfacesWithoutWildcardTypesOrTypeVariablesWithSuperInterfaces()
github
aa)
If a bean class of a session bean X is annotated @Specializes, then the bean class of X must directly extend the bean class of another session bean Y. Then X directly specializes Y, as defined in Section 4.3 "Specialization".
org.jboss.cdi.tck.tests.inheritance.specialization.enterprise
EnterpriseBeanSpecializationTest.testDirectSpecialization()
github
da)
If the bean class of X does not directly extend the bean class of another session bean, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.inheritance.specialization.enterprise.broken.extend.nothing
DirectlyExtendsNothingTest.testSpecializingClassDirectlyExtendsNothing()
github
org.jboss.cdi.tck.tests.inheritance.specialization.enterprise.broken.extend.managedbean
DirectlyExtendsSimpleBeanTest.testSpecializingClassDirectlyExtendsSimpleBean()
github
a)
The default name for a session bean is the unqualified class name of the session bean class, after converting the first character to lower case.
org.jboss.cdi.tck.tests.implementation.enterprise.definition
EnterpriseBeanDefinitionTest.testBeanWithStereotype()
github
EnterpriseBeanDefinitionTest.testDefaultName()
github
aa)
A producer method must be a default-access, public, protected or private, non-abstract method of a managed bean class or session bean class.
org.jboss.cdi.tck.tests.implementation.producer.method.definition
ProducerMethodDefinitionTest.testProducerOnNonBean()
github
org.jboss.cdi.tck.tests.deployment.packaging.ear.modules
EnterpriseArchiveModulesTest.testProducerAndEventDuringDisposal()
github
org.jboss.cdi.tck.tests.deployment.packaging.war.modules
WebArchiveModulesTest.testProducerAndEventDuringDisposal()
github
b)
A producer method may be static.
org.jboss.cdi.tck.tests.implementation.producer.method.definition
ProducerMethodDefinitionTest.testStaticMethod()
github
c)
A producer method may be non-static.
org.jboss.cdi.tck.tests.implementation.producer.method.definition
ProducerMethodDefinitionTest.testDefaultBindingType()
github
org.jboss.cdi.tck.tests.deployment.packaging.ear.modules
EnterpriseArchiveModulesTest.testProducerAndEventDuringDisposal()
github
org.jboss.cdi.tck.tests.deployment.packaging.war.modules
WebArchiveModulesTest.testProducerAndEventDuringDisposal()
github
d)
If the bean is a session bean, the producer method must be either a business method of the EJB or a static method of the bean class
org.jboss.cdi.tck.tests.implementation.producer.method.broken.enterprise.nonbusiness
ProducerMethodNotBusinessMethodTest.testProducerMethodOnSessionBeanMustBeBusinessMethod()
github
e)
If a producer method sometimes returns a null value, then the producer method must have scope @Dependent.
org.jboss.cdi.tck.tests.implementation.producer.method.definition
ProducerMethodDefinitionTest.testDependentProducerReturnsNullValue()
github
f)
If a producer method returns a null value at runtime, and the producer method declares scope other than @Dependent, an IllegalProductException is thrown by the container. This restriction allows the container to use a client proxy, as defined in Section 5.4, "Client proxies".
org.jboss.cdi.tck.tests.implementation.producer.method.definition
ProducerMethodDefinitionTest.testNonDependentProducerReturnsNullValue()
github
ga)
If the producer method return type is a parameterized type, it must specify an actual type parameter or type variable for each type parameter.
org.jboss.cdi.tck.tests.implementation.producer.method.definition
ProducerMethodDefinitionTest.testParameterizedReturnType()
github
ha)
If a producer method return type contains a wildcard type parameter the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.implementation.producer.method.broken.parameterizedTypeWithWildcard
ParametrizedTypeWithWildcard02Test.testParameterizedReturnTypeWithDoubleWildcard()
github
ParameterizedTypeWithWildcardTest.testParameterizedReturnTypeWithWildcard()
github
hb)
If a producer method return type is an array type whose component type contains a wildcard type parameter the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.implementation.producer.method.broken.array
ProducerMethodArrayWildcardTest.testBeanTypes()
github
iaa)
If the producer method return type is a parameterized type with a type variable, it must have scope @Dependent.
org.jboss.cdi.tck.tests.implementation.producer.method.definition
ProducerMethodDefinitionTest.testTypeVariableReturnType()
github
iab)
If a producer method with a parameterized return type with a type variable declares any scope other than @Dependent, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.implementation.producer.method.broken.parameterizedTypeWithTypeParameter
ParameterizedReturnTypeWithTypeVariableTest.testNonDependentScopedProducerMethodWithParameterizedTypeWithTypeVariable()
github
ib)
If a producer method return type is a type variable the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.implementation.producer.method.broken.typeVariableReturnType
TypeVariableReturnTypeTest.testTypeVariableNotAllowed()
github
ic)
If a producer method return type is an array type whose component type is a type variable the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.implementation.producer.method.broken.array
ProducerMethodArrayTypeVariableTest.testBeanTypes()
github
j)
The application may call producer methods directly. However, if the application calls a producer method directly, no parameters will be passed to the producer method by the container; the returned object is not bound to any context; and its lifecycle is not managed by the container.
org.jboss.cdi.tck.tests.implementation.producer.method.lifecycle
ProducerMethodLifecycleTest.testWhenApplicationInvokesProducerMethodParametersAreNotInjected()
github
k)
A bean may declare multiple producer methods.
org.jboss.cdi.tck.tests.implementation.producer.method.definition
ProducerMethodDefinitionTest.testBindingType()
github
ProducerMethodDefinitionTest.testScopeType()
github
a)
If the return type of a producer method is an interface, the unrestricted set of bean types contains the return type, all interfaces it extends directly or indirectly and java.lang.Object
org.jboss.cdi.tck.tests.implementation.producer.method.definition
ProducerMethodDefinitionTest.testApiTypeForInterfaceReturn()
github
If a return type of a producer method is primitive or is a Java array type, the unrestricted set of bean types contains exactly two types: the method return type and java.lang.Object.
ba)
Check primitive return type
org.jboss.cdi.tck.tests.implementation.producer.method.definition
ProducerMethodDefinitionTest.testApiTypeForPrimitiveReturn()
github
bb)
Check array return type
org.jboss.cdi.tck.tests.implementation.producer.method.definition
ProducerMethodDefinitionTest.testApiTypeForArrayTypeReturn()
github
c)
If the return type of a producer method is a class, the unrestricted set of bean types contains the return type, every superclass and all interfaces it implements directly or indirectly.
org.jboss.cdi.tck.tests.implementation.producer.method.definition
ProducerMethodDefinitionTest.testApiTypeForClassReturn()
github
a)
A producer method may be declared by annotating a method with the @javax.enterprise.inject.Produces annotation
org.jboss.cdi.tck.tests.implementation.producer.method.definition
ProducerMethodDefinitionTest.testDefaultBindingType()
github
ba)
A producer method may specify a scope.
org.jboss.cdi.tck.tests.implementation.producer.method.definition
ProducerMethodDefinitionTest.testScopeType()
github
ProducerMethodDefinitionTest.testStereotypeSpecifiesScope()
github
bb)
A producer method may specify a name.
org.jboss.cdi.tck.tests.implementation.producer.method.definition
ProducerMethodDefinitionTest.testNamedMethod()
github
ProducerMethodDefinitionTest.testDefaultNamedMethod()
github
bd)
A producer method may specify stereotypes.
org.jboss.cdi.tck.tests.implementation.producer.method.definition
ProducerMethodDefinitionTest.testStereotypeSpecifiesScope()
github
be)
A producer method may specify qualifiers.
org.jboss.cdi.tck.tests.implementation.producer.method.definition
ProducerMethodDefinitionTest.testBindingType()
github
If a producer method is annotated @Inject, has a parameter annotated @Disposes, or has a parameter annotated @Observes, the container automatically detects the problem and treats it as a definition error.
ca)
Test with a producer method annotated @Inject.
org.jboss.cdi.tck.tests.implementation.initializer.broken.methodAnnotatedProduces
InitializerMethodAnnotatedProducesTest.testInitializerMethodAnnotatedProduces()
github
da)
Test with a producer method annotated @Disposes.
org.jboss.cdi.tck.tests.implementation.producer.method.broken.parameterAnnotatedDisposes
ParameterAnnotatedDisposesTest.testProducerMethodWithParameterAnnotatedDisposes()
github
ea)
Test with a producer method annotated @Observes.
org.jboss.cdi.tck.tests.implementation.producer.method.broken.parameterAnnotatedObserves
ParameterAnnotatedObservesTest.testProducerMethodWithParameterAnnotatedObserves()
github
fa)
If a non-static method of a session bean class is annotated @Produces, and the method is not a business method of the session bean, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.implementation.producer.method.broken.enterprise.nonbusiness
ProducerMethodNotBusinessMethodTest.testProducerMethodOnSessionBeanMustBeBusinessMethod()
github
ga)
Interceptors and decorators may not declare producer methods. If an interceptor or decorator has a method annotated @Produces, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.implementation.producer.method.broken.interceptor
ProducerMethodOnInterceptorTest.testProducerMethodNotAllowedOnInterceptor()
github
gb)
Interceptors and decorators may not declare producer methods. If an interceptor or decorator has a method annotated @Produces, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.implementation.producer.method.broken.decorator
ProducerMethodOnDecoratorTest.testProducerMethodNotAllowedOnDecorator()
github
h)
A producer method may have any number of parameters.
org.jboss.cdi.tck.tests.implementation.producer.method.definition
ProducerMethodDefinitionTest.testBindingTypesAppliedToProducerMethodParameters()
github
i)
All producer method parameters are injection points.
org.jboss.cdi.tck.tests.implementation.producer.method.definition
ProducerMethodDefinitionTest.testBindingTypesAppliedToProducerMethodParameters()
github
org.jboss.cdi.tck.tests.implementation.disposal.method.definition.parameters
DisposedParameterPositionTest.testDisposedParameterPosition()
github
aa)
If a producer method X is annotated @Specializes, then it must be non-static and directly override another producer method Y. Then X directly specializes Y, as defined in Section 4.3 "Specialization".
org.jboss.cdi.tck.tests.inheritance.specialization.producer.method
ProducerMethodSpecializationTest.testSpecializingProducerMethod()
github
org.jboss.cdi.tck.tests.inheritance.specialization.producer.method.enterprise
EnterpriseProducerMethodSpecializationTest.testSpecializingProducerMethod()
github
ba)
If a producer method is static, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.inheritance.specialization.producer.method.broken.staticmethod
SpecializesStaticMethodTest.testSpecializedStaticMethod()
github
ca)
If a producer method does not directly override another producer method, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.inheritance.specialization.producer.method.broken.indirectoverride
IndirectOverrideTest.testSpecializedMethodIndirectlyOverridesAnotherProducerMethod()
github
The default name for a producer method is the method name, unless the method follows the JavaBeans property getter naming convention, in which case the default name is the JavaBeans property name
a)
Test default name is the method name.
org.jboss.cdi.tck.tests.implementation.producer.method.definition.name
ProducerMethodWithDefaultNameTest.testMethodName()
github
b)
Test default name is the JavaBeans property name.
org.jboss.cdi.tck.tests.implementation.producer.method.definition.name
ProducerMethodWithDefaultNameTest.testJavaBeansPropertyName()
github
aa)
A producer field must be a default-access, public, protected or private, field of a managed bean class or session bean class
org.jboss.cdi.tck.tests.implementation.producer.field.lifecycle
ProducerFieldLifecycleTest.testProducerFieldNotAnotherBean()
github
ab)
A producer field must be a default-access, public, protected or private, field of a managed bean class or session bean class
org.jboss.cdi.tck.tests.implementation.producer.field.definition.enterprise
EnterpriseProducerFieldDefinitionTest.testStaticProducerField()
github
b)
A producer field may be static.
org.jboss.cdi.tck.tests.implementation.producer.field.lifecycle
ProducerFieldLifecycleTest.testProducerStaticFieldBean()
github
c)
A producer field may be non-static.
org.jboss.cdi.tck.tests.implementation.producer.field.definition
ProducerFieldDefinitionTest.testBeanDeclaresMultipleProducerFields()
github
ca)
If the bean is a session bean, the producer field must be a static field of the bean class.
org.jboss.cdi.tck.tests.implementation.producer.field.definition.enterprise
EnterpriseProducerFieldDefinitionTest.testStaticProducerField()
github
d)
If a producer field sometimes contains a null value when accessed, then the producer field must have scope @Dependent
org.jboss.cdi.tck.tests.implementation.producer.field.lifecycle
ProducerFieldLifecycleTest.testProducerFieldReturnsNullIsDependent()
github
e)
If a producer method contains a null value at runtime, and the producer field declares any other scope, an IllegalProductException is thrown by the container. This restriction allows the container to use a client proxy, as defined in Section 5.4, "Client proxies"
org.jboss.cdi.tck.tests.implementation.producer.field.lifecycle
ProducerFieldLifecycleTest.testProducerFieldReturnsNullIsNotDependent()
github
fa)
If the producer field type is a parameterized type, it must specify an actual type parameter or type variable for each type parameter
org.jboss.cdi.tck.tests.implementation.producer.field.definition
ProducerFieldDefinitionTest.testParameterizedReturnType()
github
fb)
If the producer field type is a parameterized type, it must specify an actual type parameter or type variable for each type parameter
org.jboss.cdi.tck.tests.implementation.producer.field.definition
ProducerFieldDefinitionTest.testProducerFieldWithTypeVariable()
github
ga)
If a producer field type contains a wildcard type parameter the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.implementation.producer.field.definition.broken.wildcard
ParameterizedReturnTypeWithWildcardTest.testParameterizedReturnTypeWithWildcard()
github
gc)
If a producer field type is an array type whose component type contains a wildcard parameter the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.implementation.producer.field.definition.broken.array
ProducerFieldArrayWildcardTest.testBeanTypes()
github
gb)
If the producer field type is a parameterized type with a type variable, it must have scope @Dependent. If a producer field with a parameterized type with a type variable declares any scope other than @Dependent, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.implementation.producer.field.definition.broken.typeVariable2
RequestScopedProducerFieldWithTypeVariableTest.testRequestScopedProducerFieldParameterizedWithTypeVariableNotAllowed()
github
ha)
If a producer field type is a type variable the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.implementation.producer.field.definition.broken.typeVariable
ProducerFieldWithTypeVariableTest.testProducerFieldWithTypeOfTypeVariableNotAllowed()
github
hb)
If a producer field type is an array type whose component type is a type variable the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.implementation.producer.field.definition.broken.array
ProducerFieldArrayTypeVariableTest.testBeanTypes()
github
i)
The application may access producer fields directly. However, if the application accesses a producer field directly, the returned object is not bound to any context; and its lifecycle is not managed by the container
j)
A bean may declare multiple producer fields
org.jboss.cdi.tck.tests.implementation.producer.field.definition
ProducerFieldDefinitionTest.testBeanDeclaresMultipleProducerFields()
github
a)
The bean types of a producer field depend upon the field type. If the field type is an interface, the unrestricted set of bean types contains the field type, all interfaces it extends directly or indirectly and java.lang.Object.
org.jboss.cdi.tck.tests.implementation.producer.field.definition
ProducerFieldDefinitionTest.testApiTypeForInterfaceReturn()
github
The bean types of a producer field depend upon the field type. If a field type is primitive or is a Java array type, the unrestricted set of bean types contains exactly two types: the field type and java.lang.Object.
ba)
Check primitive type
org.jboss.cdi.tck.tests.implementation.producer.field.definition
ProducerFieldDefinitionTest.testApiTypeForPrimitiveReturn()
github
bb)
Check array type
org.jboss.cdi.tck.tests.implementation.producer.field.definition
ProducerFieldDefinitionTest.testApiTypeForArrayTypeReturn()
github
c)
The bean types of a producer field depend upon the field type. If the field type is a class, the unrestricted set of bean types contains the field type, every superclass and all interfaces it implements directly or indirectly
org.jboss.cdi.tck.tests.implementation.producer.field.definition
ProducerFieldDefinitionTest.testApiTypeForClassReturn()
github
a)
A producer field may be declared by annotating a field with the @javax.enterprise.inject.Produces annotation.
org.jboss.cdi.tck.tests.implementation.producer.field.definition
ProducerFieldDefinitionTest.testBeanDeclaresMultipleProducerFields()
github
b)
A producer field may specify a scope.
org.jboss.cdi.tck.tests.implementation.producer.field.definition
ProducerFieldDefinitionTest.testScopeType()
github
c)
A producer field may specify a name.
org.jboss.cdi.tck.tests.implementation.producer.field.definition
ProducerFieldDefinitionTest.testNamedField()
github
e)
A producer field may specify stereotypes.
org.jboss.cdi.tck.tests.implementation.producer.field.definition
ProducerFieldDefinitionTest.testStereotype()
github
f)
A producer field may specify qualifiers.
org.jboss.cdi.tck.tests.implementation.producer.field.definition
ProducerFieldDefinitionTest.testBindingType()
github
g)
If a producer field is annotated @Inject, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.implementation.producer.field.definition.broken.inject
InjectAnnotatedProducerFieldTest.testInjectAnnotatedProducerFieldNotAllowed()
github
h)
If a non-static field of a session bean class is annotated @Produces, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.implementation.producer.field.definition.broken.enterprise.nonstatic
NonStaticFieldOfSessionBeanTest.testNonStaticFieldOfSessionBeanCannotBeProducerField()
github
ia)
Interceptors and decorators may not declare producer fields. If an interceptor or decorator has a field annotated @Produces, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.implementation.producer.field.definition.broken.interceptor
ProducerFieldOnInterceptorTest.testProducerFieldNotAllowedOnInterceptor()
github
ib)
Interceptors and decorators may not declare producer fields. If an interceptor or decorator has a field annotated @Produces, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.implementation.producer.field.definition.broken.decorator
ProducerFieldOnDecoratorTest.testProducerFieldNotAllowedOnDecorator()
github
a)
The default name for a producer field is the field name
org.jboss.cdi.tck.tests.implementation.producer.field.definition
ProducerFieldDefinitionTest.testDefaultNamedByStereotype()
github
aa)
A disposer method must be a default-access, public, protected or private, non-abstract method of a managed bean class or session bean class.
org.jboss.cdi.tck.tests.implementation.disposal.method.definition
DisposalMethodDefinitionTest.testDisposalMethodOnNonBean()
github
b)
A disposer method may be static.
org.jboss.cdi.tck.tests.implementation.producer.method.definition
ProducerMethodDefinitionTest.testStaticDisposerMethod()
github
org.jboss.cdi.tck.tests.implementation.disposal.method.definition
DisposalMethodDefinitionTest.testBindingTypesAppliedToDisposalMethodParameters()
github
c)
A disposer method may be non-static.
org.jboss.cdi.tck.tests.implementation.disposal.method.definition
DisposalMethodDefinitionTest.testBindingTypesAppliedToDisposalMethodParameters()
github
d)
If the bean is a session bean, the disposer method must be a business method of the EJB or a static method of the bean class.
org.jboss.cdi.tck.tests.implementation.disposal.method.definition.broken.methodOnSessionBean
DisposalMethodOnSessionBeanTest.testDisposalMethodNotBusinessOrStatic()
github
e)
A bean may declare multiple disposer methods.
org.jboss.cdi.tck.tests.implementation.disposal.method.definition
DisposalMethodDefinitionTest.testBindingTypesAppliedToDisposalMethodParameters()
github
a)
Each disposer method must have exactly one disposed parameter, of the same type as the corresponding producer method return type or producer field type.
org.jboss.cdi.tck.tests.implementation.disposal.method.definition.broken.multiParams
MultipleDisposeParametersDefinitionTest.testMultipleDisposeParameters()
github
org.jboss.cdi.tck.tests.implementation.disposal.method.definition.parameters
DisposedParameterPositionTest.testDisposedParameterPosition()
github
ba)
When searching for disposer methods for a producer method or producer field the container considers the type and qualifiers of the disposed parameter. If a producer method or producer field declared by the same bean class is assignable to the disposed parameter, according to the rules of typesafe resolution defined in Section 5.2, "Typesafe resolution", the container must call this method when destroying any instance returned by that producer method or producer field.
org.jboss.cdi.tck.tests.implementation.disposal.method.definition
DisposalMethodDefinitionTest.testBindingTypesAppliedToDisposalMethodParameters()
github
DisposalMethodDefinitionTest.testDisposalMethodOnNonBean()
github
da)
A disposer method may resolve to multiple producer methods or producer fields declared by the bean class, in which case the container must call it when destroying any instance returned by any of these producer methods or producer fields.
org.jboss.cdi.tck.tests.implementation.disposal.method.definition
DisposalMethodDefinitionTest.testDisposalMethodForMultipleProducerMethods()
github
a)
A disposer method may be declared by annotating a parameter @javax.enterprise.inject.Disposes. That parameter is the disposed parameter
org.jboss.cdi.tck.tests.implementation.disposal.method.definition
DisposalMethodDefinitionTest.testBindingTypesAppliedToDisposalMethodParameters()
github
ba)
Qualifiers may be declared by annotating the disposed parameter.
org.jboss.cdi.tck.tests.implementation.disposal.method.definition
DisposalMethodDefinitionTest.testBindingTypesAppliedToDisposalMethodParameters()
github
bb)
If a method has more than one parameter annotated @Disposes, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.implementation.disposal.method.definition.broken.multiParams
MultipleDisposeParametersDefinitionTest.testMultipleDisposeParameters()
github
ca)
If a disposer method is annotated @Produces, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.implementation.disposal.method.definition.broken.producesUnallowed
ProducesUnallowedDefinitionTest.testProducesUnallowed()
github
da)
If a disposer method is annotated @Inject, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.implementation.disposal.method.definition.broken.initializerUnallowed
InitializerUnallowedDefinitionTest.testInitializerUnallowed()
github
ea)
If a disposer method has a parameter annotated @Observes, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.implementation.disposal.method.definition.broken.observesUnallowed
ObserverParameterUnallowedDefinitionTest.testObserverParameterUnallowed()
github
fa)
If a non-static method of a session bean class has a parameter annotated @Disposes, and the method is not a business method of the session bean, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.implementation.disposal.method.definition.broken.methodOnSessionBean
DisposalMethodOnSessionBeanTest.testDisposalMethodNotBusinessOrStatic()
github
ga)
Interceptors and decorators may not declare disposer methods. If an interceptor or decorator has a method annotated @Disposes, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.implementation.disposal.method.definition.broken.interceptor
DisposerMethodOnInterceptorTest.testDisposerMethodNotAllowedOnInterceptor()
github
gb)
Interceptors and decorators may not declare disposer methods. If an interceptor or decorator has a method annotated @Disposes, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.implementation.disposal.method.definition.broken.decorator
DisposerMethodOnDecoratorTest.testDisposerMethodNotAllowedOnDecorator()
github
h)
In addition to the disposed parameter, a disposer method may declare additional parameters, which may also specify qualifiers. These additional parameters are injection points.
org.jboss.cdi.tck.tests.implementation.disposal.method.definition
DisposalMethodDefinitionTest.testDisposalMethodParametersGetInjected()
github
org.jboss.cdi.tck.tests.implementation.disposal.method.definition.parameters
DisposedParameterPositionTest.testDisposedParameterPosition()
github
aa)
A disposer method is bound to a producer method if the producer method is declared by the same bean class as the disposer method, and the producer method is assignable to the disposed parameter, according to the rules of typesafe resolution defined in Section 5.2, "Typesafe resolution".
org.jboss.cdi.tck.tests.implementation.disposal.method.definition
DisposalMethodDefinitionTest.testBindingTypesAppliedToDisposalMethodParameters()
github
ab)
A disposer method is bound to a producer field if the producer field is declared by the same bean class as the disposer method, and the producer field is assignable to the disposed parameter, according to the rules of typesafe resolution defined in Section 5.2, "Typesafe resolution".
org.jboss.cdi.tck.tests.implementation.disposal.method.definition
DisposalMethodDefinitionTest.testDisposalMethodCalledForProducerField()
github
ba)
If there are multiple disposer methods for a single producer method or producer field, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.implementation.disposal.method.definition.broken.multiple
MultipleDisposerMethodsForProducerMethodTest.testMultipleDisposerMethodsForProducerMethodNotAllowed()
github
ca)
If there is no producer method or producer field declared by the bean class that is assignable to the disposed parameter of a disposer method, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.implementation.disposal.method.definition.broken.unresolvedMethod
UnresolvedDisposalMethodDefinitionTest.testUnresolvedDisposalMethod()
github
The instance used by the container to service an invocation of a Java EE component will not be the same instance obtained when using @Inject, instantiated by the container to invoke a producer method, observer method or disposer method, or instantiated by the container to access the value of a producer field.
a)
Test instance obtained using @Inject.
org.jboss.cdi.tck.tests.implementation.simple.ee.components
JavaEEComponentsTest.testComponentInject()
github
b)
Test instance instantiated by the container to invoke a producer method.
org.jboss.cdi.tck.tests.implementation.simple.ee.components
JavaEEComponentsTest.testComponentProducerMethod()
github
c)
Test instance instantiated by the container to invoke a disposer method.
org.jboss.cdi.tck.tests.implementation.simple.ee.components
JavaEEComponentsTest.testComponentProducerField()
github
d)
Test instance instantiated by the container to invoke a observer method.
org.jboss.cdi.tck.tests.implementation.simple.ee.components
JavaEEComponentsTest.testComponentObserverMethod()
github
e)
Test instance instantiated by the container to access the value of a producer field.
org.jboss.cdi.tck.tests.implementation.simple.ee.components
JavaEEComponentsTest.testComponentDisposerMethod()
github
ka)
The container is not required to support resources with scope other than @Dependent.
l)
A resource may not declare a bean EL name
aa)
A resource may be declared by specifying a Java EE component environment injection annotation as part of a producer field declaration. The producer field may be static.
bb)
For a Java EE resource, @Resource must be specified.
org.jboss.cdi.tck.tests.implementation.simple.resource.env.staticProducer
EnvInjectionStaticProducerFieldTest.testInjectionOfEnv()
github
org.jboss.cdi.tck.tests.implementation.simple.resource.resource
InjectionOfResourceTest.testInjectionOfResource()
github
org.jboss.cdi.tck.tests.implementation.simple.resource.resource.staticProducer
InjectionOfResourceStaticProducerFieldTest.testInjectionOfResource()
github
org.jboss.cdi.tck.tests.implementation.simple.resource.env
EnvInjectionTest.testInjectionOfEnv()
github
cc)
For a persistence context, @PersistenceContext must be specified.
org.jboss.cdi.tck.tests.implementation.simple.resource.persistenceContext
PersistenceContextInjectionTest.testInjectionOfPersistenceContext()
github
org.jboss.cdi.tck.tests.implementation.simple.resource.persistenceContext.staticProducer
PersistenceInjectionStaticProducerFieldTest.testInjectionOfPersistenceContext()
github
dd)
For a persistence unit, @PersistenceUnit must be specified.
org.jboss.cdi.tck.tests.implementation.simple.resource.persistenceContext
PersistenceContextInjectionTest.testInjectionOfPersistenceUnit()
github
org.jboss.cdi.tck.tests.implementation.simple.resource.persistenceContext.staticProducer
PersistenceInjectionStaticProducerFieldTest.testInjectionOfPersistenceUnit()
github
ee)
For a remote EJB, @EJB must be specified.
org.jboss.cdi.tck.tests.implementation.simple.resource.ejb
EjbInjectionTest.testInjectionOfEjbs()
github
org.jboss.cdi.tck.tests.implementation.simple.resource.ejb.staticProducer
EjbInjectionStaticProducerFieldTest.testInjectionOfEjbs()
github
ff)
For a web service, @WebServiceRef must be specified.
org.jboss.cdi.tck.tests.lookup.injection.non.contextual.ws
WebServiceResourceTest.testResourceBeanTypes()
github
WebServiceResourceTest.testResourceInvocation()
github
org.jboss.cdi.tck.tests.implementation.simple.resource.ws.staticProducer
WebServiceResourceStaticProducerFieldTest.testResourceProduced()
github
gg)
The injection annotation specifies the metadata needed to obtain the resources, entity manager, entity manager factory, remote EJB instance or web service reference from the component environment.
hh)
The bean type and qualifiers of the resource are determined by the producer field declaration.
org.jboss.cdi.tck.tests.implementation.simple.resource.persistenceContext
PersistenceContextInjectionTest.testBeanTypesAndBindingTypesOfPersistenceContext()
github
i)
If the producer field declaration specifies an EL name, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.implementation.simple.resource.broken.name
ResourceDefinitionWithNameTest.testDeployment()
github
j)
If the matching object in the Java EE component environment is not of the same type as the producer field declaration, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.implementation.simple.resource.broken.type.ejb
ResourceDefinitionWithDifferentTypeTest.testDeployment()
github
org.jboss.cdi.tck.tests.implementation.simple.resource.broken.type.persistence.context
ResourceDefinitionWithDifferentTypeTest.testDeployment()
github
org.jboss.cdi.tck.tests.implementation.simple.resource.broken.type
ResourceDefinitionWithDifferentTypeTest.testDeployment()
github
org.jboss.cdi.tck.tests.implementation.simple.resource.broken.type.env
ResourceDefinitionWithDifferentTypeTest.testDeployment()
github
org.jboss.cdi.tck.tests.implementation.simple.resource.broken.type.persistence.unit
ResourceDefinitionWithDifferentTypeTest.testDeployment()
github
org.jboss.cdi.tck.tests.implementation.simple.resource.broken.type.ws
ResourceDefinitionWithDifferentTypeTest.testDeployment()
github
The unrestricted set of bean types of a resource is determined by the declared type of the producer field, as specified by Section 3.4.1, "Bean types of a producer field".
aa)
Check @Resource
org.jboss.cdi.tck.tests.implementation.simple.resource.resource
InjectionOfResourceTest.testResourceBeanTypes()
github
org.jboss.cdi.tck.tests.implementation.simple.resource.env
EnvInjectionTest.testResourceBeanTypes()
github
ab)
Check @PersistenceContext
org.jboss.cdi.tck.tests.implementation.simple.resource.persistenceContext
PersistenceContextInjectionTest.testBeanTypesAndBindingTypesOfPersistenceContext()
github
ac)
Check @PersistenceUnit
org.jboss.cdi.tck.tests.implementation.simple.resource.persistenceContext
PersistenceContextInjectionTest.testBeanTypesOfPersistenceUnit()
github
ad)
Check @EJB
org.jboss.cdi.tck.tests.implementation.simple.resource.ejb
EjbInjectionTest.testResourceBeanTypes()
github
ae)
Check @WebServiceRef
org.jboss.cdi.tck.tests.lookup.injection.non.contextual.ws
WebServiceResourceTest.testResourceBeanTypes()
github
a)
A Java EE or embeddable EJB container must provide a bean with qualifier @Default and bean type javax.transaction.UserTransaction, allowing injection of a reference to the JTA UserTransaction.
org.jboss.cdi.tck.tests.implementation.builtin
BuiltInBeansTest.testUserTransactionBean()
github
b)
A Java EE or embeddable EJB container must provide a bean with qualifier @Default and bean type javax.security.Principal, allowing injection of a Principal representing the current caller identity.
org.jboss.cdi.tck.tests.implementation.builtin
BuiltInBeansTest.testPrincipalBean()
github
da)
A servlet container must provide a bean with qualifier @Default and bean type javax.servlet.http.HttpServletRequest, allowing injection of a reference to the HttpServletRequest. This bean is passivation capable dependency, as defined in Section 6.6.2, "Passivation capable dependencies".
org.jboss.cdi.tck.tests.implementation.builtin.servlet
ServletContainerBuiltinBeanTest.testBuiltinBeansAvailableForInjection()
github
ServletContainerBuiltinBeanTest.testBuiltinBeansFromClient()
github
db)
A servlet container must provide a bean with qualifier @Default and bean type javax.servlet.http.HttpSession, allowing injection of a reference to the HttpSession. This bean is passivation capable dependency, as defined in Section 6.6.2, "Passivation capable dependencies".
org.jboss.cdi.tck.tests.implementation.builtin.servlet
ServletContainerBuiltinBeanTest.testBuiltinBeansAvailableForInjection()
github
ServletContainerBuiltinBeanTest.testBuiltinBeansFromClient()
github
dc)
A servlet container must provide a bean with qualifier @Default and bean type javax.servlet.ServletContext, allowing injection of a reference to the ServletContext. This bean is passivation capable dependency, as defined in Section 6.6.2, "Passivation capable dependencies".
org.jboss.cdi.tck.tests.implementation.builtin.servlet
ServletContainerBuiltinBeanTest.testBuiltinBeansAvailableForInjection()
github
ServletContainerBuiltinBeanTest.testBuiltinBeansFromClient()
github
e)
If a Java EE component class has an injection point of type UserTransaction and qualifier @Default, and may not validly make use of the JTA UserTransaction according to the Java EE platform specification, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.implementation.builtin.broken.transaction
UserTransactionInvalidInjectionTest.testUserTransactionInjection()
github
a)
When the container instantiates a bean, it calls the bean constructor. The bean constructor is a default-access, public, protected or private constructor of the bean class.
org.jboss.cdi.tck.tests.implementation.simple.definition
SimpleBeanDefinitionTest.testEmptyConstructorUsed()
github
The bean constructor may be identified by annotating the constructor @Inject
aa)
Test an @Inject constructor is used on a managed bean
org.jboss.cdi.tck.tests.implementation.simple.definition
SimpleBeanDefinitionTest.testInitializerAnnotatedConstructorUsedOverEmptyConstuctor()
github
org.jboss.cdi.tck.tests.implementation.simple.lifecycle
SimpleBeanLifecycleTest.testCreateInjectsFieldsDeclaredInJava()
github
org.jboss.cdi.tck.tests.implementation.simple.definition
SimpleBeanDefinitionTest.testInitializerAnnotatedConstructor()
github
ab)
Test an @Inject constructor is used on a session bean
org.jboss.cdi.tck.tests.implementation.enterprise.definition
EnterpriseBeanDefinitionTest.testConstructorAnnotatedInjectCalled()
github
ba)
If a bean class does not explicitly declare a constructor using @Inject, the constructor that accepts no parameters is the bean constructor.
org.jboss.cdi.tck.tests.implementation.simple.definition
SimpleBeanDefinitionTest.testEmptyConstructorUsed()
github
ca)
If a bean class has more than one constructor annotated @Inject, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.implementation.simple.definition.tooManyInitializerAnnotatedConstructors
TooManyInitializerAnnotatedConstructorsTest.testTooManyInitializerAnnotatedConstructor()
github
da)
If a bean constructor has a parameter annotated @Disposes, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.implementation.simple.definition.constructorHasDisposesParameter
ConstructorHasDisposesParameterTest.testConstructorHasDisposesParameter()
github
ea)
If a bean constructor has a parameter annotated @Observes, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.implementation.simple.definition.constructorHasObservesParameter
ConstructorHasObservesParameterTest.testConstructorHasObservesParameter()
github
f)
A bean constructor may have any number of parameters.
org.jboss.cdi.tck.tests.implementation.simple.lifecycle
SimpleBeanLifecycleTest.testInjectionOfParametersIntoBeanConstructor()
github
g)
All parameters of a bean constructor are injection points.
org.jboss.cdi.tck.tests.implementation.simple.lifecycle
SimpleBeanLifecycleTest.testInjectionOfParametersIntoBeanConstructor()
github
SimpleBeanLifecycleTest.testQualifierTypeAnnotatedConstructor()
github
An injected field is a non-static, non-final field of a bean class or of any Java EE component class supporting injection.
a)
Test a bean class.
org.jboss.cdi.tck.tests.implementation.simple.lifecycle
SimpleBeanLifecycleTest.testCreateInjectsFieldsDeclaredInJava()
github
b)
Test a Java EE component class.
org.jboss.cdi.tck.tests.lookup.injection.non.contextual
InjectionIntoNonContextualComponentTest.testInjectionIntoServlet()
github
InjectionIntoNonContextualComponentTest.testInjectionIntoFilter()
github
InjectionIntoNonContextualComponentTest.testInjectionIntoServletListener()
github
InjectionIntoNonContextualComponentTest.testInjectionIntoTagHandler()
github
InjectionIntoNonContextualComponentTest.testInjectionIntoTagLibraryListener()
github
InjectionIntoNonContextualComponentTest.testInjectionIntoJSFManagedBean()
github
aa)
An injected field may be declared by annotating the field @javax.inject.Inject.
org.jboss.cdi.tck.tests.implementation.simple.lifecycle
SimpleBeanLifecycleTest.testCreateInjectsFieldsDeclaredInJava()
github
b)
If an injected field is annotated @Produces, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.implementation.simple.definition.broken.field
InjectedFieldAnnotatedWithProducesTest.testDeployment()
github
An initializer method is a default-access, public, protected or private, non-abstract, non-static, non-generic method of a bean class or of any Java EE component class supporting injection.
a)
Test a bean-class.
org.jboss.cdi.tck.tests.implementation.initializer
InitializerMethodTest.testBindingTypeOnInitializerParameter()
github
b)
Test a Java EE component class.
org.jboss.cdi.tck.tests.lookup.injection.non.contextual
InjectionIntoNonContextualComponentTest.testServletInitializerMethodCalled()
github
InjectionIntoNonContextualComponentTest.testFilterInitializerMethodCalled()
github
InjectionIntoNonContextualComponentTest.testServletListenerInitializerMethodCalled()
github
InjectionIntoNonContextualComponentTest.testTagLibraryListenerInitializerMethodCalled()
github
e)
If the bean is a session bean, the initializer method is not required to be a business method of the session bean.
org.jboss.cdi.tck.tests.implementation.initializer
EjbInitializerMethodTest.testInitializerMethodNotABusinessMethod()
github
f)
Method interceptors are never called when the container calls an initializer method
org.jboss.cdi.tck.tests.interceptors.invocation
InterceptorInvocationTest.testInitializerMethodsNotIntercepted()
github
g)
A bean class may declare multiple (or zero) initializer methods
org.jboss.cdi.tck.tests.implementation.initializer
InitializerMethodTest.testMultipleInitializerMethodsAreCalled()
github
h)
The application may call initializer methods directly, but then no parameters will be passed to the method by the container
a)
An initializer method may be declared by annotating the method @javax.inject.Inject
org.jboss.cdi.tck.tests.implementation.initializer
InitializerMethodTest.testMultipleInitializerMethodsAreCalled()
github
ab)
If a generic method of a bean is annotated @Inject, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.implementation.initializer.broken.generic
GenericInitializerMethodTest.testGenericInitializerMethodNotAllowed()
github
ba)
If an initializer method is annotated @Produces, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.implementation.initializer.broken.methodAnnotatedProduces
InitializerMethodAnnotatedProducesTest.testInitializerMethodAnnotatedProduces()
github
ca)
If an initializer method has a parameter annotated @Disposes, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.implementation.initializer.broken.parameterAnnotatedDisposes
ParameterAnnotatedDisposesTest.testInitializerMethodHasParameterAnnotatedDisposes()
github
da)
If an initializer method has a parameter annotated @Observes, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.implementation.initializer.broken.parameterAnnotatedObserves
ParameterAnnotatedObservesTest.testInitializerMethodHasParameterAnnotatedObserves()
github
e)
An initializer method may have any number of parameters.
org.jboss.cdi.tck.tests.implementation.initializer
InitializerMethodTest.testMultipleInitializerMethodsAreCalled()
github
f)
All initializer method parameters are injection points.
org.jboss.cdi.tck.tests.implementation.initializer
InitializerMethodTest.testBindingTypeOnInitializerParameter()
github
org.jboss.cdi.tck.tests.implementation.enterprise.lifecycle
EnterpriseBeanLifecycleTest.testInitializerMethodsCalledWithCurrentParameterValues()
github
a)
If an injection point declares no qualifier, the injection point has exactly one qualifier, the default qualifier @Default.
org.jboss.cdi.tck.tests.event
EventTest.testObserverMethodParameterInjectionPoints()
github
org.jboss.cdi.tck.tests.implementation.initializer
InitializerMethodTest.testMultipleInitializerMethodsAreCalled()
github
org.jboss.cdi.tck.tests.implementation.disposal.method.definition
DisposalMethodDefinitionTest.testDisposalMethodParametersGetInjected()
github
a)
If an injected field declares a @Named annotation that does not specify the value member, the name of the field is assumed.
org.jboss.cdi.tck.tests.lookup.injectionpoint.named
NamedAtInjectionPointTest.testFieldNameUsedAsBeanName()
github
b)
If any other injection point declares a @Named annotation that does not specify the value member, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.lookup.byname.broken.injectionPointWithNamed3
NamedNonFieldInjectionPointTest.testNamedInitializerMethodInjectionPointNotAllowed()
github
org.jboss.cdi.tck.tests.lookup.byname.broken.injectionPointWithNamed
NamedNonFieldInjectionPointTest.testNamedProducerInjectionPointNotAllowed()
github
org.jboss.cdi.tck.tests.lookup.byname.broken.injectionPointWithNamed2
NamedNonFieldInjectionPointTest.testNamedObserverMethodInjectionPointNotAllowed()
github
d)
For each managed bean, a second bean exists which has the same bean class.
org.jboss.cdi.tck.tests.implementation.simple.newSimpleBean
NewSimpleBeanTest.testForEachSimpleBeanANewBeanExists()
github
e)
For each managed bean, a second bean exists which has the same bean types.
org.jboss.cdi.tck.tests.implementation.simple.newSimpleBean
NewSimpleBeanTest.testNewBeanHasTheSameBeanTypes()
github
f)
For each managed bean, a second bean exists which has the same bean constructor.
org.jboss.cdi.tck.tests.implementation.simple.newSimpleBean
NewSimpleBeanTest.testNewBeanHasSameConstructor()
github
g)
For each managed bean, a second bean exists which has the same initializer methods.
org.jboss.cdi.tck.tests.implementation.simple.newSimpleBean
NewSimpleBeanTest.testNewBeanHasSameInitializers()
github
h)
For each managed bean, a second bean exists which has the same injected fields.
org.jboss.cdi.tck.tests.implementation.simple.newSimpleBean
NewSimpleBeanTest.testNewBeanHasSameInjectedFields()
github
i)
For each managed bean, a second bean exists which has the same interceptor bindings.
org.jboss.cdi.tck.tests.implementation.simple.newSimpleBean
NewSimpleBeanTest.testNewBeanHasTheSameInterceptorBindings()
github
j)
For each session bean, a second bean exists which has the same bean class.
org.jboss.cdi.tck.tests.implementation.enterprise.newBean
NewEnterpriseBeanTest.testForEachEnterpriseBeanANewBeanExists()
github
k)
For each session bean, a second bean exists which has the same bean types.
org.jboss.cdi.tck.tests.implementation.enterprise.newBean
NewEnterpriseBeanTest.testForEachEnterpriseBeanANewBeanExists()
github
l)
For each session bean, a second bean exists which has the same bean constructor.
org.jboss.cdi.tck.tests.implementation.enterprise.newBean
NewEnterpriseBeanICTest.testNewBeanHasSameConstructor()
github
m)
For each session bean, a second bean exists which has the same initializer methods.
org.jboss.cdi.tck.tests.implementation.enterprise.newBean
NewEnterpriseBeanICTest.testNewBeanHasSameInitializers()
github
n)
For each session bean, a second bean exists which has the same injected fields.
org.jboss.cdi.tck.tests.implementation.enterprise.newBean
NewEnterpriseBeanTest.testNewBeanHasSameInjectedFields()
github
o)
For each session bean, a second bean exists which has the same interceptor bindings.
org.jboss.cdi.tck.tests.implementation.enterprise.newBean
NewEnterpriseBeanTest.testNewBeanHasTheSameInterceptorBindings()
github
p)
This second bean has scope @Dependent.
org.jboss.cdi.tck.tests.implementation.enterprise.newBean
NewEnterpriseBeanTest.testNewBeanIsDependentScoped()
github
r)
This second bean has exactly one qualifier: @javax.enterprise.inject.New(X.class) where x is the bean class.
org.jboss.cdi.tck.tests.implementation.enterprise.newBean
NewEnterpriseBeanTest.testNewBeanHasOnlyOneQualifier()
github
s)
This second bean has no bean EL name.
org.jboss.cdi.tck.tests.implementation.enterprise.newBean
NewEnterpriseBeanTest.testNewBeanHasNoBeanELName()
github
t)
This second bean has no stereotypes.
org.jboss.cdi.tck.tests.implementation.enterprise.newBean
NewEnterpriseBeanTest.testNewBeanHasNoStereotypes()
github
org.jboss.cdi.tck.tests.implementation.simple.newSimpleBean
NewSimpleBeanTest.testNewBeanHasNoStereotypes()
github
u)
This second bean has no observer methods.
org.jboss.cdi.tck.tests.implementation.enterprise.newBean
NewEnterpriseBeanTest.testNewBeanHasNoObservers()
github
org.jboss.cdi.tck.tests.implementation.simple.newSimpleBean
NewSimpleBeanTest.testNewBeanHasNoObservers()
github
v)
This second bean has no producer methods.
org.jboss.cdi.tck.tests.implementation.enterprise.newBean
NewEnterpriseBeanICTest.testNewBeanHasNoProducerMethods()
github
org.jboss.cdi.tck.tests.implementation.simple.newSimpleBean
NewSimpleBeanTest.testNewBeanHasNoProducerMethods()
github
w)
This second bean has no producer fields.
org.jboss.cdi.tck.tests.implementation.simple.newSimpleBean
NewSimpleBeanTest.testNewBeanHasNoProducerFields()
github
x)
This second bean has no disposer methods.
org.jboss.cdi.tck.tests.implementation.enterprise.newBean
NewEnterpriseBeanICTest.testNewBeanHasNoDisposalMethods()
github
org.jboss.cdi.tck.tests.implementation.simple.newSimpleBean
NewSimpleBeanTest.testNewBeanHasNoDisposerMethods()
github
xb)
This second bean is not an alternative.
org.jboss.cdi.tck.tests.implementation.simple.newSimpleBean
NewSimpleBeanTest.testNewBeanIsNotAlternative()
github
xc)
This second bean is enabled, in the sense of Section 5.1.2, "Enabled and disabled beans", if and only if some other enabled bean has an injection point with the qualifier @New(X.class) where X is the bean class.
org.jboss.cdi.tck.tests.lookup.dynamic
DynamicLookupTest.testNewBeanNotEnabledWithouInjectionPoint()
github
xd)
This bean is called the @New qualified bean for the class X.
Note that this second bean exists, and may be enabled and available for injection even if the first bean is disabled, as defined by Section 5.1.2, “Enabled and disabled beans” or if the bean class is deployed outside of a bean deployment archive, as defined in Section 12.1, “Bean deployment archives”, and is therefore not discovered during the bean discovery process defined in Chapter 12, Packaging and deployment. The container discovers @New qualified beans by inspecting injection points of other enabled beans.
ya)
Check that @New on a field injection point outside the BDA, but in the classpath causes a bean with qualifier @New and the given type to be created
org.jboss.cdi.tck.tests.implementation.simple.newSimpleBean
NewSimpleBeanTest.testNewBeanCreatedForFieldInjectionPoint()
github
yb)
Check that @New on a field injection point (which is a session bean class) outside the BDA, but in the classpath causes a session bean with qualifier @New and the given type to be created
org.jboss.cdi.tck.tests.implementation.enterprise.newBean
NewEnterpriseBeanTest.testNewBeanCreatedForFieldInjectionPoint()
github
yc)
Check that @New on a initializer method injection point outside the BDA, but in the classpath causes a bean with qualifier @New and the given type to be created
org.jboss.cdi.tck.tests.implementation.simple.newSimpleBean
NewSimpleBeanTest.testNewBeanCreatedForInitializerInjectionPoint()
github
yd)
Check that @New on a initializer method injection point (which is a session bean class) outside the BDA, but in the classpath causes a session bean with qualifier @New and the given type to be created
org.jboss.cdi.tck.tests.implementation.enterprise.newBean
NewEnterpriseBeanTest.testNewBeanCreatedForInitializerInjectionPoint()
github
ye)
Check that @New on a constructor injection point outside the BDA, but in the classpath causes a bean with qualifier @New and the given type to be created
org.jboss.cdi.tck.tests.implementation.simple.newSimpleBean
NewSimpleBeanTest.testNewBeanCreatedForConstructorInjectioAnPoint()
github
yf)
Check that @New on a constructor injection point (which is a session bean class) outside the BDA, but in the classpath causes a session bean with qualifier @New and the given type to be created
org.jboss.cdi.tck.tests.implementation.enterprise.newBean
NewEnterpriseBeanTest.testNewBeanCreatedForConstructorInjectionPoint()
github
yg)
Check that @New on a producer method injection point outside the BDA, but in the classpath causes a bean with qualifier @New and the given type to be created
org.jboss.cdi.tck.tests.implementation.simple.newSimpleBean
NewSimpleBeanTest.testNewBeanCreatedForProducerMethod()
github
yh)
Check that @New on a producer method injection point (which is a session bean class) outside the BDA, but in the classpath causes a session bean with qualifier @New and the given type to be created
org.jboss.cdi.tck.tests.implementation.enterprise.newBean
NewEnterpriseBeanTest.testNewBeanCreatedForProducerMethod()
github
yi)
Check that @New on a observer method injection point outside the BDA, but in the classpath causes a bean with qualifier @New and the given type to be created
org.jboss.cdi.tck.tests.implementation.simple.newSimpleBean
NewSimpleBeanTest.testNewBeanCreatedForObserverMethod()
github
yj)
Check that @New on a observer method injection point (which is a session bean class) outside the BDA, but in the classpath causes a session bean with qualifier @New and the given type to be created
org.jboss.cdi.tck.tests.implementation.enterprise.newBean
NewEnterpriseBeanTest.testNewBeanCreatedForObserverMethod()
github
yk)
Check that @New on a disposer method injection point outside the BDA, but in the classpath causes a bean with qualifier @New and the given type to be created
org.jboss.cdi.tck.tests.implementation.simple.newSimpleBean
NewSimpleBeanTest.testNewBeanCreatedForDisposerMethod()
github
yl)
Check that @New on a disposer method injection point (which is a session bean class) outside the BDA, but in the classpath causes a session bean with qualifier @New and the given type to be created
org.jboss.cdi.tck.tests.implementation.enterprise.newBean
NewEnterpriseBeanTest.testNewBeanCreatedForDisposerMethod()
github
z)
When the qualifier @New is specified at an injection point and no value member is explicitly specified, the container defaults the value to the declared type of the injection point.
org.jboss.cdi.tck.tests.implementation.simple.newSimpleBean
NewSimpleBeanTest.testNewBeanWithNoMemberValue()
github
Certain legal bean types cannot be proxied by the container. If an injection point whose declared type cannot be proxied by the container resolves to a bean with a normal scope, the container automatically detects the problem and treats it as a deployment problem.
aa)
Test a class which doesn't have a non-private constructor with no parameters.
org.jboss.cdi.tck.tests.lookup.clientProxy.unproxyable.beanConstructor
BeanConstructorWithParametersTest.testDeployment()
github
org.jboss.cdi.tck.tests.lookup.clientProxy.unproxyable.privateConstructor
PrivateConstructorTest.testClassWithPrivateConstructor()
github
baa)
Test a class which is declared final.
org.jboss.cdi.tck.tests.extensions.lifecycle.bbd.broken.normalScope
AddingNormalScopeTest.testAddingScopeType()
github
org.jboss.cdi.tck.tests.lookup.clientProxy.unproxyable.finalClass
FinalClassTest.testInjectionPointWithUnproxyableTypeWhichResolvesToNormalScopedBean()
github
bba)
Test a class that has non-static, final method with public visibility.
org.jboss.cdi.tck.tests.lookup.clientProxy.unproxyable.finalMethod
NonPrivateNonStaticMethodTest.testClassWithPublicFinalMethodCannotBeProxied()
github
bbb)
Test a class that has non-static, final method with public visibility declared on a superclass.
org.jboss.cdi.tck.tests.lookup.clientProxy.unproxyable.finalMethod
NonPrivateNonStaticSuperclassMethodTest.testClassWithPublicFinalMethodCannotBeProxied()
github
bca)
Test with a class that has static final method with public visibility.
org.jboss.cdi.tck.tests.lookup.clientProxy.unproxyable.finalMethod
StaticFinalMethodTest.testClassWithStaticFinalMethodCanBeProxied()
github
bda)
Test a class that has final method with private visibility.
org.jboss.cdi.tck.tests.lookup.clientProxy.unproxyable.finalMethod
PrivateFinalMethodTest.testClassWithPrivateFinalMethodCanBeProxied()
github
ca)
Test primitive type.
org.jboss.cdi.tck.tests.lookup.clientProxy.unproxyable.primitive
UnproxyableTest.testInjectionPointWithUnproxyableTypeWhichResolvesToNormalScopedBean()
github
da)
Test array type.
org.jboss.cdi.tck.tests.lookup.clientProxy.unproxyable.array
ArrayTest.testInjectionPointWithArrayType()
github
A bean type must be proxyable if an injection point resolves to a bean:
ea)
That has an associated decorator.
org.jboss.cdi.tck.tests.lookup.clientProxy.unproxyable.decorator
DecoratoredBeanProxyTest.testClientProxyBeanWithAssociatedDecorator()
github
eb)
That has a bound interceptor.
org.jboss.cdi.tck.tests.lookup.clientProxy.unproxyable.interceptor
InterceptedBeanProxyTest.testClientProxyBeanWithBoundInterceptor()
github
Suppose a class X is extended directly or indirectly by the bean class of a managed bean or session bean Y. If X is annotated with a qualifier type, stereotype or interceptor binding type Z then Y inherits the annotation if and only if Z declares the @Inherited meta-annotation and neither Y nor any intermediate class that is a subclass of X and a superclass of Y declares an annotation of type Z.
aa)
Test qualifier type for directly extended managed bean annotated @Inherited is inherited.
org.jboss.cdi.tck.tests.alternative.resolution.qualifier
QualifierInheritedTest.testResolution()
github
org.jboss.cdi.tck.tests.definition.qualifier
QualifierDefinitionTest.testQualifierDeclaredInheritedIsInherited()
github
QualifierDefinitionTest.testQualifierDeclaredInheritedIsBlockedByIntermediateClass()
github
aaa)
Test qualifier type for directly extended managed bean not annotated @Inherited is not inherited.
org.jboss.cdi.tck.tests.alternative.resolution.qualifier
QualifierNotInheritedTest.testResolution()
github
org.jboss.cdi.tck.tests.definition.qualifier
QualifierDefinitionTest.testQualifierNotDeclaredInheritedIsNotInherited()
github
ab)
Test stereotype for directly extended managed bean annotated @Inherited is inherited.
org.jboss.cdi.tck.tests.definition.scope
ScopeDefinitionTest.testWebBeanScopeTypeOverridesStereotype()
github
org.jboss.cdi.tck.tests.definition.stereotype
StereotypeDefinitionTest.testStereotypeDeclaredInheritedIsInherited()
github
aba)
Test stereotype for directly extended managed bean not annotated @Inherited is not inherited.
org.jboss.cdi.tck.tests.definition.stereotype
StereotypeDefinitionTest.testStereotypeNotDeclaredInheritedIsNotInherited()
github
ad)
Test interceptor binding type for directly extended managed bean annotated @Inherited is inherited.
org.jboss.cdi.tck.tests.interceptors.definition.inheritance
InterceptorBindingInheritanceTest.testInterceptorBindingDirectlyInheritedFromManagedBean()
github
ada)
Test interceptor binding type for directly extended managed bean not annotated @Inherited is not inherited.
org.jboss.cdi.tck.tests.interceptors.definition.inheritance
InterceptorBindingInheritanceTest.testInterceptorBindingDirectlyInheritedFromManagedBean()
github
ag)
Test qualifier type for indirectly extended managed bean annotated @Inherited is inherited.
org.jboss.cdi.tck.tests.definition.qualifier
QualifierDefinitionTest.testQualifierDeclaredInheritedIsIndirectlyInherited()
github
aga)
Test qualifier type for indirectly extended managed bean not annotated @Inherited is not inherited.
org.jboss.cdi.tck.tests.definition.qualifier
QualifierDefinitionTest.testQualifierNotDeclaredInheritedIsNotIndirectlyInherited()
github
ah)
Test stereotype for indirectly extended managed bean annotated @Inherited is inherited.
org.jboss.cdi.tck.tests.definition.stereotype
StereotypeDefinitionTest.testStereotypeDeclaredInheritedIsIndirectlyInherited()
github
aha)
Test stereotype for indirectly extended managed bean not annotated @Inherited is not inherited.
org.jboss.cdi.tck.tests.definition.stereotype
StereotypeDefinitionTest.testStereotypeNotDeclaredInheritedIsNotIndirectlyInherited()
github
aj)
Test interceptor binding type for indirectly extended managed bean annotated @Inherited is inherited.
org.jboss.cdi.tck.tests.interceptors.definition.inheritance
InterceptorBindingInheritanceTest.testInterceptorBindingIndirectlyInheritedFromManagedBean()
github
aja)
Test interceptor binding type for indirectly extended managed bean not annotated @Inherited is not inherited.
org.jboss.cdi.tck.tests.interceptors.definition.inheritance
InterceptorBindingInheritanceTest.testInterceptorBindingIndirectlyInheritedFromManagedBean()
github
al)
Test qualifier type for directly extended session bean annotated @Inherited is inherited.
org.jboss.cdi.tck.tests.definition.qualifier.enterprise
EnterpriseQualifierDefinitionTest.testQualifierDeclaredInheritedIsInherited()
github
ala)
Test qualifier type for directly extended session bean not annotated @Inherited is not inherited.
org.jboss.cdi.tck.tests.definition.qualifier.enterprise
EnterpriseQualifierDefinitionTest.testQualifierNotDeclaredInheritedIsNotInherited()
github
am)
Test stereotype for directly extended session bean annotated @Inherited is inherited.
org.jboss.cdi.tck.tests.definition.stereotype.enterprise
EnterpriseStereotypeDefinitionTest.testStereotypeDeclaredInheritedIsInherited()
github
ama)
Test stereotype for directly extended session bean not annotated @Inherited is not inherited.
org.jboss.cdi.tck.tests.definition.stereotype.enterprise
EnterpriseStereotypeDefinitionTest.testStereotypeNotDeclaredInheritedIsNotInherited()
github
an)
Test interceptor binding type for directly extended session bean annotated @Inherited is inherited.
org.jboss.cdi.tck.tests.interceptors.definition.inheritance
InterceptorBindingInheritanceTest.testInterceptorBindingDirectlyInheritedFromSessionBean()
github
ana)
Test interceptor binding type for directly extended session bean not annotated @Inherited is not inherited.
org.jboss.cdi.tck.tests.interceptors.definition.inheritance
InterceptorBindingInheritanceTest.testInterceptorBindingDirectlyInheritedFromSessionBean()
github
ap)
Test qualifier type for indirectly extended session bean annotated @Inherited is inherited.
org.jboss.cdi.tck.tests.definition.qualifier.enterprise
EnterpriseQualifierDefinitionTest.testQualifierDeclaredInheritedIsIndirectlyInherited()
github
apa)
Test qualifier type for indirectly extended session bean not annotated @Inherited is not inherited.
org.jboss.cdi.tck.tests.definition.qualifier.enterprise
EnterpriseQualifierDefinitionTest.testQualifierNotDeclaredInheritedIsNotIndirectlyInherited()
github
aq)
Test stereotype for indirectly extended session bean annotated @Inherited is inherited.
org.jboss.cdi.tck.tests.definition.stereotype.enterprise
EnterpriseStereotypeDefinitionTest.testStereotypeDeclaredInheritedIsIndirectlyInherited()
github
aqa)
Test stereotype for indirectly extended session bean not annotated @Inherited is not inherited.
org.jboss.cdi.tck.tests.definition.stereotype.enterprise
EnterpriseStereotypeDefinitionTest.testStereotypeNotDeclaredInheritedIsNotIndirectlyInherited()
github
ar)
Test interceptor binding type for indirectly extended session bean annotated @Inherited is inherited.
org.jboss.cdi.tck.tests.interceptors.definition.inheritance
InterceptorBindingInheritanceTest.testInterceptorBindingIndirectlyInheritedFromSessionBean()
github
ara)
Test interceptor binding type for indirectly extended session bean not annotated @Inherited is not inherited.
org.jboss.cdi.tck.tests.interceptors.definition.inheritance
InterceptorBindingInheritanceTest.testInterceptorBindingIndirectlyInheritedFromSessionBean()
github
Suppose a class X is extended directly or indirectly by the bean class of a managed bean or session bean Y. If X is annotated with a scope type Z then Y inherits the annotation if and only if Z declares the @Inherited meta-annotation and neither Y nor any intermediate class that is a subclass of X and a superclass of Y declares a scope type.
ba)
Test scope type for directly extended managed bean annotated @Inherited is inherited.
org.jboss.cdi.tck.tests.definition.scope
ScopeDefinitionTest.testScopeTypeDeclaredInheritedIsInherited()
github
ScopeDefinitionTest.testScopeTypeDeclaredInheritedIsBlockedByIntermediateScopeTypeMarkedInherited()
github
ScopeDefinitionTest.testScopeTypeDeclaredInheritedIsBlockedByIntermediateScopeTypeNotMarkedInherited()
github
baa)
Test scope type for directly extended managed bean not annotated @Inherited is not inherited.
org.jboss.cdi.tck.tests.definition.scope
ScopeDefinitionTest.testScopeTypeNotDeclaredInheritedIsNotInherited()
github
bc)
Test scope type for indirectly extended managed bean annotated @Inherited is inherited.
org.jboss.cdi.tck.tests.definition.scope
ScopeDefinitionTest.testScopeTypeDeclaredInheritedIsIndirectlyInherited()
github
bca)
Test scope type for indirectly extended managed bean not annotated @Inherited is not inherited.
org.jboss.cdi.tck.tests.definition.scope
ScopeDefinitionTest.testScopeTypeNotDeclaredInheritedIsNotIndirectlyInherited()
github
be)
Test scope type for directly extended session bean annotated @Inherited is inherited.
org.jboss.cdi.tck.tests.definition.scope.enterprise
EnterpriseScopeDefinitionTest.testScopeTypeDeclaredInheritedIsInherited()
github
bea)
Test scope type for directly extended session bean not annotated @Inherited is not inherited.
org.jboss.cdi.tck.tests.definition.scope.enterprise
EnterpriseScopeDefinitionTest.testScopeTypeNotDeclaredInheritedIsNotInherited()
github
bh)
Test scope type for indirectly extended session bean annotated @Inherited is inherited.
org.jboss.cdi.tck.tests.definition.scope.enterprise
EnterpriseScopeDefinitionTest.testScopeTypeDeclaredInheritedIsIndirectlyInherited()
github
bha)
Test scope type for indirectly extended session bean not annotated @Inherited is not inherited.
org.jboss.cdi.tck.tests.definition.scope.enterprise
EnterpriseScopeDefinitionTest.testScopeTypeNotDeclaredInheritedIsNotIndirectlyInherited()
github
hhh)
For class X which is extended directly by the bean class of a managed bean Y, a scope type explicitly declared by X and inherited by Y from X takes precedence over default scopes of stereotypes declared or inherited by Y.
org.jboss.cdi.tck.tests.definition.stereotype
StereotypeDefinitionTest.testStereotypeScopeIsOverriddenByInheritedScope()
github
hhi)
For class X which is extended indirectly by the bean class of a managed bean Y, a scope type explicitly declared by X and inherited by Y from X takes precedence over default scopes of stereotypes declared or inherited by Y.
org.jboss.cdi.tck.tests.definition.stereotype
StereotypeDefinitionTest.testStereotypeScopeIsOverriddenByIndirectlyInheritedScope()
github
hhj)
For class X which is extended directly by the bean class of a session bean Y, a scope type explicitly declared by X and inherited by Y from X takes precedence over default scopes of stereotypes declared or inherited by Y.
org.jboss.cdi.tck.tests.definition.stereotype.enterprise
EnterpriseStereotypeDefinitionTest.testStereotypeScopeIsOverriddenByInheritedScope()
github
hhk)
For class X which is extended indirectly by the bean class of a session bean Y, a scope type explicitly declared by X and inherited by Y from X takes precedence over default scopes of stereotypes declared or inherited by Y.
org.jboss.cdi.tck.tests.definition.stereotype.enterprise
EnterpriseStereotypeDefinitionTest.testStereotypeScopeIsOverriddenByIndirectlyInheritedScope()
github
i)
For annotations defined by the bean specification, all built-in scope types are declared @Inherited
j)
For annotations defined by the bean specification, all built-in stereotypes are declared @Inherited
k)
For annotations defined by the bean specification, no built-in qualifier type is declared @Inherited
m)
The @Named annotation is not declared @Inherited and bean EL names are not inherited unless specialization is used
Suppose a class X is extended directly or indirectly by the bean class of a managed bean or session bean Y. If X declares an injected field x then Y inherits x.
aa)
Check managed bean X directly extends managed bean Y
org.jboss.cdi.tck.tests.lookup.injection
InjectionTest.testInjectionFieldsAndInitializerMethods()
github
ac)
Check managed bean X indirectly extends managed bean Y
org.jboss.cdi.tck.tests.lookup.injection
InjectionTest.testFieldDeclaredInIndirectSuperclassInjected()
github
ab)
Check session bean X directly extends session bean Y
org.jboss.cdi.tck.tests.lookup.injection.enterprise
SessionBeanInjectionTest.testFieldDeclaredInSuperclassInjected()
github
ad)
Check session bean X indirectly extends session bean Y
org.jboss.cdi.tck.tests.lookup.injection.enterprise
SessionBeanInjectionTest.testFieldDeclaredInSuperclassIndirectlyInjected()
github
Suppose a class X is extended directly or indirectly by the bean class of a managed bean or session bean Y. If X declares an initializer, non-static observer, @PostConstruct or @PreDestroy method x() then Y inherits x() if and only if neither Y nor any intermediate class that is a subclass of X and a superclass of Y overrides the method x().
baa)
Check managed bean X directly extends managed bean Y with @PostConstruct
org.jboss.cdi.tck.tests.implementation.simple.lifecycle
SimpleBeanLifecycleTest.testSubClassInheritsPostConstructOnSuperclass()
github
SimpleBeanLifecycleTest.testSubClassDoesNotInheritPostConstructOnSuperclassBlockedByIntermediateClass()
github
bab)
Check session bean X directly extends session bean Y with @PostConstruct
org.jboss.cdi.tck.tests.implementation.enterprise.lifecycle
EnterpriseBeanLifecycleTest.testDirectSubClassInheritsPostConstructOnSuperclass()
github
bac)
Check managed bean X indirectly extends managed bean Y with @PostConstruct
org.jboss.cdi.tck.tests.implementation.simple.lifecycle
SimpleBeanLifecycleTest.testIndirectSubClassInheritsPostConstructOnSuperclass()
github
bad)
Check session bean X indirectly extends session bean Y with @PostConstruct
org.jboss.cdi.tck.tests.implementation.enterprise.lifecycle
EnterpriseBeanLifecycleTest.testIndirectSubClassInheritsPostConstructOnSuperclass()
github
bba)
Check managed bean X directly extends managed bean Y with @PostDestroy
org.jboss.cdi.tck.tests.implementation.simple.lifecycle
SimpleBeanLifecycleTest.testSubClassInheritsPreDestroyOnSuperclass()
github
SimpleBeanLifecycleTest.testSubClassDoesNotInheritPreDestroyConstructOnSuperclassBlockedByIntermediateClass()
github
bbb)
Check session bean X directly extends session bean Y with @PostDestroy
org.jboss.cdi.tck.tests.implementation.enterprise.lifecycle
EnterpriseBeanLifecycleTest.testSubClassInheritsPreDestroyOnSuperclass()
github
bbc)
Check managed bean X indirectly extends managed bean Y with @PostDestroy
org.jboss.cdi.tck.tests.implementation.simple.lifecycle
SimpleBeanLifecycleTest.testIndirectSubClassInheritsPreDestroyOnSuperclass()
github
bbd)
Check session bean X indirectly extends session bean Y with @PostDestroy
org.jboss.cdi.tck.tests.implementation.enterprise.lifecycle
EnterpriseBeanLifecycleTest.testIndirectSubClassInheritsPreDestroyOnSuperclass()
github
dc)
Check managed bean X directly extends managed bean Y with a non-static observer method
org.jboss.cdi.tck.tests.event.observer.inheritance
ObserverInheritanceTest.testNonStaticObserverMethodInherited()
github
org.jboss.cdi.tck.tests.event
EventTest.testNonStaticObserverMethodInherited()
github
df)
Check session bean X directly extends session bean Y with a non-static observer method
org.jboss.cdi.tck.tests.event.observer.inheritance.enterprise
EnterpriseObserverInheritanceTest.testNonStaticObserverMethodInherited()
github
di)
Check managed bean X indirectly extends managed bean Y with a non-static observer method
org.jboss.cdi.tck.tests.event
EventTest.testNonStaticObserverMethodIndirectlyInherited()
github
org.jboss.cdi.tck.tests.event.observer.inheritance
ObserverInheritanceTest.testNonStaticObserverMethodInherited()
github
dl)
Check session bean X indirectly extends session bean Y with a non-static observer method
org.jboss.cdi.tck.tests.event.observer.inheritance.enterprise
EnterpriseObserverInheritanceTest.testNonStaticObserverMethodIndirectlyInherited()
github
dm)
Check managed bean X directly extends managed bean Y with a initializer method
org.jboss.cdi.tck.tests.inheritance.initializer
InitializerMethodInheritanceTest.testManagedBeanDirectlyInheritsInitializer()
github
dn)
Check session bean X directly extends session bean Y with a initializer method
org.jboss.cdi.tck.tests.inheritance.initializer
InitializerMethodInheritanceTest.testSessionBeanDirectlyInheritsInitializer()
github
do)
Check managed bean X indirectly extends managed bean Y with a initializer method
org.jboss.cdi.tck.tests.inheritance.initializer
InitializerMethodInheritanceTest.testManagedBeanIndirectlyInheritsInitializer()
github
dp)
Check session bean X indirectly extends session bean Y with a initializer method
org.jboss.cdi.tck.tests.inheritance.initializer
InitializerMethodInheritanceTest.testSessionBeanIndirectlyInheritsInitializer()
github
Suppose a class X is extended directly or indirectly by the bean class of a managed bean or session bean Y. If X declares a non-static method x() annotated with an interceptor binding type Z then Y inherits the binding if and only if neither Y nor any intermediate class that is a subclass of X and a superclass of Y overrides the method x().
ka)
Check managed bean X directly extends managed bean Y
org.jboss.cdi.tck.tests.interceptors.definition.inheritance
InterceptorBindingInheritanceTest.testMethodInterceptorBindingDirectlyInheritedFromManagedBean()
github
InterceptorBindingInheritanceTest.testMethodInterceptorBindingDirectlyNotInheritedFromManagedBean()
github
kb)
Check session bean X directly extends session bean Y
org.jboss.cdi.tck.tests.interceptors.definition.inheritance
InterceptorBindingInheritanceTest.testMethodInterceptorBindingDirectlyInheritedFromSessionBean()
github
InterceptorBindingInheritanceTest.testMethodInterceptorBindingDirectlyNotInheritedFromSessionBean()
github
kc)
Check managed bean X indirectly extends managed bean Y
org.jboss.cdi.tck.tests.interceptors.definition.inheritance
InterceptorBindingInheritanceTest.testMethodInterceptorBindingIndirectlyInheritedFromManagedBean()
github
InterceptorBindingInheritanceTest.testMethodInterceptorBindingIndirectlyNotInheritedFromManagedBean()
github
kd)
Check session bean X indirectly extends session bean Y
org.jboss.cdi.tck.tests.interceptors.definition.inheritance
InterceptorBindingInheritanceTest.testMethodInterceptorBindingIndirectlyInheritedFromSessionBean()
github
InterceptorBindingInheritanceTest.testMethodInterceptorBindingIndirectlyNotInheritedFromSessionBean()
github
Suppose a class X is extended directly or indirectly by the bean class of a managed bean or session bean Y .If X declares a non-static producer or disposer method x() then Y does not inherit this method.
da)
Check managed bean X directly extends managed bean Y with a non-static producer method
org.jboss.cdi.tck.tests.implementation.producer.method.definition
ProducerMethodDefinitionTest.testNonStaticProducerMethodNotInheritedBySpecializingSubclass()
github
ProducerMethodDefinitionTest.testNonStaticProducerMethodNotInherited()
github
db)
Check managed bean X directly extends managed bean Y with a non-static disposer method
org.jboss.cdi.tck.tests.implementation.disposal.method.definition.inheritance
DisposerMethodInheritanceTest.testManagedBeanDisposerMethodNotInherited()
github
dd)
Check session bean X directly extends session bean Y with a non-static producer method
org.jboss.cdi.tck.tests.implementation.producer.method.definition.enterprise
EnterpriseProducerMethodDefinitionTest.testNonStaticProducerMethodNotInheritedBySpecializingSubclass()
github
EnterpriseProducerMethodDefinitionTest.testNonStaticProducerMethodNotInherited()
github
de)
Check session bean X directly extends session bean Y with a non-static disposer method
org.jboss.cdi.tck.tests.implementation.disposal.method.definition.inheritance
DisposerMethodInheritanceTest.testSessionBeanDisposerMethodNotInherited()
github
dg)
Check managed bean X indirectly extends managed bean Y with a non-static producer method
org.jboss.cdi.tck.tests.implementation.producer.method.definition
ProducerMethodDefinitionTest.testNonStaticProducerMethodNotInherited()
github
dh)
Check managed bean X indirectly extends managed bean Y with a non-static disposer method
org.jboss.cdi.tck.tests.implementation.disposal.method.definition.inheritance
DisposerMethodInheritanceTest.testManagedBeanDisposerMethodNotInherited()
github
dj)
Check session bean X indirectly extends session bean Y with a non-static producer method
org.jboss.cdi.tck.tests.implementation.producer.method.definition.enterprise
EnterpriseProducerMethodDefinitionTest.testNonStaticProducerMethodNotIndirectlyInherited()
github
dk)
Check session bean X indirectly extends session bean Y with a non-static disposer method
org.jboss.cdi.tck.tests.implementation.disposal.method.definition.inheritance
DisposerMethodInheritanceTest.testSessionBeanDisposerMethodNotInherited()
github
Suppose a class X is extended directly or indirectly by the bean class of a managed bean or session bean Y. If X declares a non-static producer field x then Y does not inherit this field.
ea)
Check managed bean X directly extends managed bean Y
org.jboss.cdi.tck.tests.implementation.producer.field.definition
ProducerFieldDefinitionTest.testNonStaticProducerFieldNotInherited()
github
ec)
Check managed bean X indirectly extends managed bean Y
org.jboss.cdi.tck.tests.implementation.producer.field.definition
ProducerFieldDefinitionTest.testNonStaticProducerFieldNotIndirectlyInherited()
github
If X is a generic type, and an injection point or observer method declared by X is inherited by Y, and the declared type of the injection point, producer method, producer field, disposed para- meter or event parameter contains type variables declared by X, the type of the injection point, producer method, producer field, disposed parameter or event parameter inherited in Y is the declared type, after substitution of actual type arguments declared by Y or any intermediate class that is a subclass of X and a superclass of Y.
f)
Check injection point
org.jboss.cdi.tck.tests.inheritance.generics
MemberLevelInheritanceTest.testInjectionPointDefinition()
github
MemberLevelInheritanceTest.testInjectionPoint()
github
g)
check observer method
org.jboss.cdi.tck.tests.inheritance.generics
MemberLevelInheritanceTest.testObserverResolution()
github
MemberLevelInheritanceTest.testObserver()
github
a)
If two beans both support a certain bean type, and share at least one qualifier, then they are both eligible for injection to any injection point with that declared type and qualifier.
When an enabled bean specializes a second bean, we can be certain that the second bean is never instantiated or called by the container. Even if the second bean defines a producer or observer method, the method will never be called.
ca)
The second bean is never instantiated.
org.jboss.cdi.tck.tests.extensions.lifecycle.processBeanAttributes.specialization
SpecializationTest.testProcessBeanAttributesFiredProperlyForSpecializedBean()
github
org.jboss.cdi.tck.tests.inheritance.specialization.enterprise
EnterpriseBeanSpecializationTest.testSpecializedBeanNotInstantiated()
github
org.jboss.cdi.tck.tests.lookup.modules.specialization.alternative
Specialization03Test.testEnabledAlternativeSpecializes()
github
Specialization02Test.testEnabledAlternativeSpecializes()
github
org.jboss.cdi.tck.tests.extensions.lifecycle.processBeanAttributes.specialization
VetoTest.testSpecializedBeanAvailableAfterSpecializingBeanVetoed()
github
org.jboss.cdi.tck.tests.lookup.modules.specialization.alternative
Specialization05Test.testEnabledAlternativeSpecializes()
github
cb)
Producer method on specialized bean is not called.
org.jboss.cdi.tck.tests.implementation.producer.method.definition
ProducerMethodDefinitionTest.testNonStaticProducerMethodNotInheritedBySpecializingSubclass()
github
org.jboss.cdi.tck.tests.lookup.modules.specialization.alternative
Specialization04Test.testEnabledAlternativeSpecializes()
github
org.jboss.cdi.tck.tests.inheritance.specialization.simple
SimpleBeanSpecializationTest.testProducerMethodOnSpecializedBeanNotCalled()
github
org.jboss.cdi.tck.tests.lookup.modules.specialization.alternative
Specialization03Test.testEnabledAlternativeSpecializes()
github
Specialization02Test.testEnabledAlternativeSpecializes()
github
org.jboss.cdi.tck.tests.implementation.producer.method.lifecycle
ProducerMethodLifecycleTest.testProducerMethodFromSpecializedBeanUsed()
github
org.jboss.cdi.tck.tests.lookup.modules.specialization.alternative
Specialization05Test.testEnabledAlternativeSpecializes()
github
cc)
Observer method on specialized bean is not called.
org.jboss.cdi.tck.tests.event
EventTest.testObserverCalledOnSpecializedBeanOnly()
github
org.jboss.cdi.tck.tests.lookup.modules.specialization.alternative
Specialization04Test.testEvent()
github
Specialization03Test.testEvent()
github
Specialization02Test.testEvent()
github
Specialization05Test.testEvent()
github
cd)
Producer field on specialized bean is not used.
org.jboss.cdi.tck.tests.implementation.producer.field.lifecycle
ProducerFieldLifecycleTest.testProducerFieldFromSpecializingBeanUsed()
github
ia)
A bean X is said to specialize another bean Y if X directly specializes Y.
org.jboss.cdi.tck.tests.lookup.modules.specialization
SpecializationModularity04Test.testSpecialization()
github
org.jboss.cdi.tck.tests.inheritance.specialization.producer.method
ProducerMethodSpecializationTest.testSpecializingProducerMethod()
github
ProducerMethodSpecializationTest.testSpecializingBeanInjection()
github
org.jboss.cdi.tck.tests.inheritance.specialization.producer.method.enterprise
EnterpriseProducerMethodSpecializationTest.testSpecializingProducerMethod()
github
EnterpriseProducerMethodSpecializationTest.testSpecializingBeanInjection()
github
org.jboss.cdi.tck.tests.inheritance.specialization.enterprise
EnterpriseBeanSpecializationTest.testDirectSpecialization()
github
org.jboss.cdi.tck.tests.inheritance.specialization.simple
SimpleBeanSpecializationTest.testIndirectSpecialization()
github
SimpleBeanSpecializationTest.testSpecializingBeanInjection()
github
org.jboss.cdi.tck.tests.lookup.modules.specialization
SpecializationModularity01Test.testSpecialization()
github
SpecializationModularity02Test.testSpecialization()
github
ib)
A bean X is said to specialize another bean Y if a bean Z exists, such that X directly specializes Z and Z specializes Y.
org.jboss.cdi.tck.tests.inheritance.specialization.simple
SimpleBeanSpecializationTest.testIndirectSpecialization()
github
j)
A bean X that specializes bean Y will include all qualifiers of Y, together with all qualifiers declared explicitly by X.
org.jboss.cdi.tck.tests.inheritance.specialization.producer.method
ProducerMethodSpecializationTest.testSpecializingProducerMethod()
github
org.jboss.cdi.tck.tests.inheritance.specialization.enterprise
EnterpriseBeanSpecializationTest.testSpecializingBeanHasBindingsOfSpecializedAndSpecializingBean()
github
org.jboss.cdi.tck.tests.inheritance.specialization.simple
SimpleBeanSpecializationTest.testSpecializingBeanHasQualifiersOfSpecializedAndSpecializingBean()
github
k)
A bean X that specializes bean Y will have the same name as Y if Y has a name.
org.jboss.cdi.tck.tests.inheritance.specialization.producer.method
ProducerMethodSpecializationTest.testSpecializingProducerMethod()
github
org.jboss.cdi.tck.tests.inheritance.specialization.enterprise
EnterpriseBeanSpecializationTest.testSpecializingBeanHasNameOfSpecializedBean()
github
org.jboss.cdi.tck.tests.inheritance.specialization.simple
SimpleBeanSpecializationTest.testSpecializingBeanHasNameOfSpecializedBean()
github
l)
X must have all the bean types of Y. If X does not have some bean type of Y, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.extensions.lifecycle.processBeanAttributes.specialization.broken
TypeConflictDetectionTest.testDeployment()
github
org.jboss.cdi.tck.tests.inheritance.specialization.enterprise.broken.extend.sessionbean
SessionBeanSpecializingSessionBeanWithClientViewTest.testDeployment()
github
org.jboss.cdi.tck.tests.inheritance.specialization.simple.broken.types
SpecializingBeanWithoutBeanTypeOfSpecializedBeanTest.testDeployment()
github
If Y has a bean name and X declares a bean name explicitly the container automatically detects the problem and treats it as a definition error.
la)
Test that a specializing producer method with a name throws a definition exception.
org.jboss.cdi.tck.tests.inheritance.specialization.producer.method.broken.name
SpecializingAndSpecializedBeanHaveNameTest.testSpecializingAndSpecializedBeanHasName()
github
lb)
Test that a specializing managed bean with a name throws a definition exception.
org.jboss.cdi.tck.tests.inheritance.specialization.simple.broken.names
SpecializingAndSpecializedBeanHasNameTest.testSpecializingAndSpecializedBeanHasName()
github
lc)
Test that a specializing enterprise bean with a name throws a definition exception.
org.jboss.cdi.tck.tests.inheritance.specialization.enterprise.broken.name
SameNameTest.testSpecializingAndSpecializedBeanHasName()
github
n)
If an interceptor or decorator is annotated @Specializes, non-portable behavior results.
b)
The container is required to support circularities in the bean dependency graph where at least one bean participating in every circular chain of dependencies has a normal scope, as defined in Section 6.3, "Normal scopes and pseudo-scopes".
org.jboss.cdi.tck.tests.lookup.injection.enterprise.chain
SessionBeanInjectionChainTest.testChainOfSessionBeans()
github
org.jboss.cdi.tck.tests.lookup.circular
CircularDependencyTest.testCircularInjectionOnTwoNormalBeans()
github
CircularDependencyTest.testCircularInjectionOnOneNormalAndOneDependentBean()
github
CircularDependencyTest.testNormalProducerMethodDeclaredOnNormalBeanWhichInjectsProducedBean()
github
CircularDependencyTest.testNormalProducerMethodDeclaredOnDependentBeanWhichInjectsProducedBean()
github
CircularDependencyTest.testNormalCircularConstructors()
github
CircularDependencyTest.testNormalAndDependentCircularConstructors()
github
CircularDependencyTest.testSelfConsumingConstructorsOnNormalBean()
github
c)
The container is not required to support circular chains of dependencies where every bean participating in the chain has a pseudo-scope.
Beans packaged in a certain Java EE module or library are available for injection, lookup and EL resolution to classes and JSP/JSF pages packaged in some other Java EE module or library if and only if the first module or library is required to be accessible to the other module or library by the Java EE platform specification.
aa)
Test with injection.
org.jboss.cdi.tck.tests.lookup.modules
EnabledSessionBeanInjectionAvailability02Test.testInjection()
github
org.jboss.cdi.tck.tests.lookup.modules.specialization
SpecializationModularity04Test.testSpecialization()
github
SpecializationModularity03Test.testSpecialization()
github
SpecializationModularity06Test.testSpecialization()
github
SpecializationModularity05Test.testSpecialization()
github
org.jboss.cdi.tck.tests.lookup.modules
EnabledSessionBeanInjectionAvailabilityTest.testInjection()
github
org.jboss.cdi.tck.tests.lookup.modules.specialization
SpecializationModularity01Test.testSpecialization()
github
org.jboss.cdi.tck.tests.lookup.modules
EnabledManagedBeanInjectionAvailability02Test.testInjection()
github
EnabledManagedBeanInjectionAvailabilityTest.testInjection()
github
org.jboss.cdi.tck.tests.lookup.modules.specialization
SpecializationModularity02Test.testSpecialization()
github
org.jboss.cdi.tck.tests.lookup.modules.interceptors
InterceptorModularityTest.testInterceptorEnvironment()
github
ab)
Test with lookup.
org.jboss.cdi.tck.tests.lookup.modules
InterModuleLookupTest.testEnabledManagedBeanAvailableForInjection()
github
InterModuleLookup02Test.testEnabledManagedBeanAvailableForInjection()
github
ac)
Test with EL resolution.
org.jboss.cdi.tck.tests.lookup.modules
InterModuleELResolutionTest.testEnabledManagedBeanAvailableForELResolution()
github
d)
An alternative is never available for injection, lookup or EL resolution in a Java EE module or library that is not a bean deployment archive (a module or library with no beans.xml file.
e)
Nor is an alternative available for injection, lookup or EL resolution in every bean deployment archive. An alternative must be explicitly selected in every bean deployment archive in which the alternative should be available for injection, lookup and EL resolution.
org.jboss.cdi.tck.tests.alternative
AlternativeAvailabilityTest.testAlternativeAvailability()
github
a)
This specification defines two methods of selecting alternatives. From Contexts and Dependency Injection 1.1 onwards the @Priority annotation allows an alternative to be selected for an entire application. Contexts and Dependency Injection 1.0 allowed only for an alternative to be selected for a bean archive.
An alternative may be given a priority for the application by placing the @Priority annotation on the bean class of a managed bean or session bean.
aa)
Test @Priority on the bean class of a managed bean.
org.jboss.cdi.tck.tests.alternative.selection
SelectedAlternative01Test.testAlternativeManagedBeanSelected()
github
org.jboss.cdi.tck.tests.alternative.selection.enterprise
EnterpriseSelectedAlternative03Test.testAlternativeManagedBeanAvailable()
github
ab)
Test @Priority on the bean class of a session bean.
org.jboss.cdi.tck.tests.alternative.selection.enterprise
EnterpriseSelectedAlternative01Test.testAlternativeSessionBeanSelected()
github
EnterpriseSelectedAlternative02Test.testAlternativeSessionBeanSelected()
github
An alternative may be given a priority for the application by placing the @Priority annotation on the bean class that declares the producer method, field or resource.
ba)
Test @Priority on the bean class of a producer method.
org.jboss.cdi.tck.tests.alternative.selection
SelectedAlternative01Test.testAlternativeProducerSelected()
github
org.jboss.cdi.tck.tests.alternative.selection.enterprise
EnterpriseSelectedAlternative03Test.testAlternativeProducerSelected()
github
bb)
Test @Priority on the bean class of a producer field.
org.jboss.cdi.tck.tests.alternative.selection
SelectedAlternative01Test.testAlternativeProducerSelected()
github
org.jboss.cdi.tck.tests.alternative.selection.enterprise
EnterpriseSelectedAlternative03Test.testAlternativeProducerSelected()
github
bc)
Test @Priority on the resource.
org.jboss.cdi.tck.tests.alternative.selection.resource
ResourceAlternative01Test.testAlternativeResourceSelected()
github
a)
An alternative may be explicitly declared using the <alternatives> element of the beans.xml file of the bean archive. The <alternative> element contains a list of bean classes and stereotypes.
An alternative is selected for the bean archive if the alternative is a managed bean or session bean and the bean class of the bean is listed.
ba)
Test selected managed bean.
org.jboss.cdi.tck.tests.alternative.resolution.qualifier
QualifierInheritedTest.testResolution()
github
QualifierNotDeclaredTest.testResolution()
github
org.jboss.cdi.tck.tests.extensions.alternative.deployment
AlternativeInLibraryWithExtensionTest.testAlternative()
github
org.jboss.cdi.tck.tests.alternative.resolution.qualifier
QualifierNotInheritedTest.testResolution()
github
org.jboss.cdi.tck.tests.deployment.packaging.ear.modules
EnterpriseArchiveModulesTest.testAlternatives()
github
org.jboss.cdi.tck.tests.alternative.selection.stereotype
SelectedBeanWithUnselectedStereotypeTest.testSingleAlternativeIsSelected()
github
org.jboss.cdi.tck.tests.alternative
AlternativeAvailabilityTest.testAlternativeAvailability()
github
bb)
Test selected session bean.
org.jboss.cdi.tck.tests.alternative.enterprise
SessionBeanAlternativeTest.testEnabledPolicyAvailable()
github
An alternative is selected for the bean archive if the alternative is a producer method, field or resource, and the bean class that declares the method or field is listed.
ca)
Test selected producer method.
org.jboss.cdi.tck.tests.alternative
AlternativeAvailabilityTest.testProducerAlternativesOnMethodAndField()
github
cb)
Test selected producer field.
org.jboss.cdi.tck.tests.alternative
AlternativeAvailabilityTest.testProducerAlternativesOnMethodAndField()
github
cc)
Test selected resource.
org.jboss.cdi.tck.tests.alternative.enterprise.resource
ResourceAlternativeAvailabilityTest.testResourceAvailability()
github
d)
An alternative is selected for the bean archive if any @Alternative stereotype of the alternative is listed.
org.jboss.cdi.tck.tests.alternative
AlternativeAvailabilityTest.testAnyEnabledAlternativeStereotypeMakesAlternativeEnabled()
github
AlternativeAvailabilityTest.testStereotypeAlternativeOnProducerMethodAndField()
github
e)
Each child <class> element must specify the name of a bean class of an alternative bean. If there is no class with the specified name, or if the class with the specified name is not an alternative bean class, the container automatically detects the problem and treats it as a deployment problem.
org.jboss.cdi.tck.tests.alternative.broken.incorrect.name
NoClassWithSpecifiedNameTest.test()
github
org.jboss.cdi.tck.tests.alternative.broken.not.alternative
ClassIsNotAlternativeTest.test()
github
f)
Each child <stereotype> element must specify the name of a @Alternative stereotype annotation. If there is no annotation with the specified name, or the annotation is not a @Alternative stereotype, the container automatically detects the problem and treats it as a deployment problem.
org.jboss.cdi.tck.tests.alternative.broken.not.alternative.stereotype
ClassIsNotAlternativeTest.test()
github
org.jboss.cdi.tck.tests.alternative.broken.incorrect.name.stereotype
NoAnnotationWithSpecifiedNameTest.test()
github
g)
If the same type is listed twice under the <alternatives> element, the container automatically detects the problem and treats it as a deployment problem.
org.jboss.cdi.tck.tests.alternative.broken.same.type.twice
SameTypeListedTwiceTest.test()
github
h)
For a custom implementation of the Bean interface defined in Section "bean", the container calls isAlternative() to determine whether the bean is an alternative, and getBeanClass() and getStereotypes() to determine whether an alternative is selected in a certain bean deployment archive.
org.jboss.cdi.tck.tests.definition.bean.custom
CustomBeanImplementationTest.testGetBeanClassCalled()
github
CustomBeanImplementationTest.testGetStereotypesCalled()
github
CustomBeanImplementationTest.testIsPolicyCalled()
github
The following assertion is not made explicitly by the spec, however it is implied i)
An alternative selected only for a specific bean archive is not selected for an application.
org.jboss.cdi.tck.tests.lookup.modules.specialization.alternative
Specialization03Test.testEnabledAlternativeSpecializes()
github
Specialization02Test.testEnabledAlternativeSpecializes()
github
org.jboss.cdi.tck.tests.deployment.packaging.war.modules
WebArchiveModulesTest.testAlternatives()
github
org.jboss.cdi.tck.tests.lookup.modules.specialization.alternative
Specialization05Test.testEnabledAlternativeSpecializes()
github
a)
A bean is said to be enabled if it is deployed in a bean deployment archive, and it is not a producer method or field of a disabled bean, and it is not specialized by any other enabled bean, as defined in Section 4.3, "Specialization", and either it is not an alternative, or it is not an alternative, or it is a selected alternative of at least one bean archive or the application. Otherwise, the bean is said to be disabled.
a)
Suppose an enabled bean X specializes a second bean Y. If there is another enabled bean that specializes Y we say that inconsistent specialization exists. The container automatically detects inconsistent specialization and treats it as a deployment problem.
org.jboss.cdi.tck.tests.lookup.modules.specialization
SpecializationModularity07Test.testSpecialization()
github
org.jboss.cdi.tck.tests.inheritance.specialization.simple.broken.inconsistent
InconsistentSpecializationTest.testInconsistentSpecialization()
github
org.jboss.cdi.tck.tests.inheritance.specialization.enterprise.broken.twobeans
TwoBeansSpecializeTheSameBeanTest.testTwoSessionBeansSpecializeTheSameBean()
github
org.jboss.cdi.tck.tests.inheritance.specialization.producer.method.broken.twobeans
TwoBeansSpecializeTheSameBeanTest.testTwoBeansSpecializeTheSameBean()
github
A bean is available for injection in a certain module if the bean is not an interceptor or decorator, the bean is enabled, the bean is either not an alternative, or the module is a bean archive and the bean is a selected alternative of the bean archive, and the bean class is required to be accessible to classes in the module, according to the class accessibility requirements of the module architecture.
a)
Check a decorator can not be injected
org.jboss.cdi.tck.tests.lookup.typesafe.resolution.decorator
DecoratorNotInjectedTest.testDecoratorNotResolved()
github
b)
Check an interceptor can not be injected
org.jboss.cdi.tck.tests.lookup.typesafe.resolution.interceptor
InterceptorNotResolvedInterModuleTest.testInterceptorNotAvailableForInjection()
github
InterceptorNotResolvedTest.testInterceptorNotAvailableForInjection()
github
c)
Check an enabled managed bean can be injected
org.jboss.cdi.tck.tests.lookup.modules
EnabledManagedBeanInjectionAvailability02Test.testInjection()
github
EnabledManagedBeanInjectionAvailabilityTest.testInjection()
github
d)
Check an enabled session bean can be injected
org.jboss.cdi.tck.tests.lookup.modules
EnabledSessionBeanInjectionAvailability02Test.testInjection()
github
EnabledSessionBeanInjectionAvailabilityTest.testInjection()
github
e)
Check an enabled producer field can be injected
org.jboss.cdi.tck.tests.lookup.modules
EnabledProducerFieldInjectionAvailability02Test.testInjection()
github
org.jboss.cdi.tck.tests.alternative
AlternativeAvailabilityTest.testProducersOnAlternativeClass()
github
org.jboss.cdi.tck.tests.lookup.modules
EnabledProducerFieldInjectionAvailabilityTest.testInjection()
github
f)
Check an enabled producer method can be injected
org.jboss.cdi.tck.tests.lookup.modules
EnabledProducerMethodInjectionAvailabilityTest.testInjection()
github
EnabledProducerMethodInjectionAvailability02Test.testInjection()
github
org.jboss.cdi.tck.tests.alternative
AlternativeAvailabilityTest.testProducersOnAlternativeClass()
github
g)
Check producer method of a disabled bean is not injectable
org.jboss.cdi.tck.tests.alternative
AlternativeAvailabilityTest.testProducersOnAlternativeClass()
github
org.jboss.cdi.tck.tests.lookup.modules.broken
DisabledProducerMethodInjectionNotAvailableTest.testInjection()
github
h)
Check producer field of a disabled bean is not injectable
org.jboss.cdi.tck.tests.alternative
AlternativeAvailabilityTest.testProducersOnAlternativeClass()
github
org.jboss.cdi.tck.tests.lookup.modules.broken
DisabledProducerFieldInjectionNotAvailableTest.testInjection()
github
i)
Check a disabled managed bean is not injectable
org.jboss.cdi.tck.tests.lookup.typesafe.resolution.broken.disabled
DisabledBeanNotAvailableForInjectionTest.testDeployment()
github
j)
Check a disabled session bean is not injectable
org.jboss.cdi.tck.tests.lookup.modules.broken
DisabledSessionBeanInjectionNotAvailableTest.testInjection()
github
k)
Check a specialized session bean is not injectable
org.jboss.cdi.tck.tests.lookup.modules
SpecializedBeanInjectionNotAvailable02Test.testSessionBeanInjection()
github
SpecializedBeanInjectionNotAvailableTest.testSessionBeanInjection()
github
l)
Check a specialized managed bean is not injectable
org.jboss.cdi.tck.tests.lookup.modules.specialization
SpecializationModularity03Test.testSpecialization()
github
SpecializationModularity06Test.testSpecialization()
github
SpecializationModularity05Test.testSpecialization()
github
org.jboss.cdi.tck.tests.lookup.modules
SpecializedBeanInjectionNotAvailable02Test.testManagedBeanInjection()
github
SpecializedBeanInjectionNotAvailableTest.testManagedBeanInjection()
github
m)
Check a specialized producer field is not injectable
n)
Check a specialized producer method is not injectable
org.jboss.cdi.tck.tests.lookup.modules
SpecializedProducerMethodInjectionNotAvailable02Test.testManagedBeanInjection()
github
SpecializedProducerMethodInjectionNotAvailableTest.testManagedBeanInjection()
github
o)
Check a selected alternative being managed bean is injected
org.jboss.cdi.tck.tests.lookup.modules
SelectedAlternativeManagedBeanInjectionAvailabilityTest.testInjection()
github
SelectedAlternativeManagedBeanInjectionAvailability02Test.testInjection()
github
p)
Check a selected alternative being session bean is injected
org.jboss.cdi.tck.tests.lookup.modules
SelectedAlternativeSessionBeanInjectionAvailabilityTest.testInjection()
github
SelectedAlternativeSessionBeanInjectionAvailability02Test.testInjection()
github
For a custom implementation of the Bean interface defined in Section 11.1, "The Bean interface, the container calls getBeanClass() to determine the bean class of the bean and InjectionPoint.getMember() and then Member.getDeclaringClass() to determine the class that declares an injection point.
q)
Check Bean.getBeanClass() is used to determine the bean class
org.jboss.cdi.tck.tests.definition.bean.custom
CustomBeanImplementationTest.testGetBeanClassCalled()
github
r)
Check InjectionPoint.getMember().getDeclaringClass() is used to determine the class declaring the injection point
org.jboss.cdi.tck.tests.definition.bean.custom
CustomBeanImplementationTest.testInjectionPointGetMemberIsUsedToDetermineTheClassThatDeclaresAnInjectionPoint()
github
A bean is assignable to a given injection point if the bean has a bean type that matches the required type. For this purpose, primitive types are considered to match their corresponding wrapper types in java.lang and array types are considered to match only if their element types are identical. Parameterized and raw types are considered to match if they are identical or if the bean type is assignable to the required type, as defined in Section 5.2.3, "Assignability of raw and parameterized types".
i)
Test with a primitive type.
org.jboss.cdi.tck.tests.lookup.typesafe.resolution
ResolutionByTypeTest.testResolveByTypeWithPrimitives()
github
j)
Test with an array type.
org.jboss.cdi.tck.tests.lookup.typesafe.resolution
ResolutionByTypeTest.testResolveByTypeWithArray()
github
ka)
Test with a parameterized type.
org.jboss.cdi.tck.tests.lookup.typesafe.resolution
ResolutionByTypeTest.testResolveByTypeWithTypeParameter()
github
kb)
Test with a raw type.
org.jboss.cdi.tck.tests.lookup.typesafe.resolution.parameterized
AssignabilityOfRawAndParameterizedTypesTest.testAssignabilityToRawType()
github
kc)
Test with a @Named bean.
org.jboss.cdi.tck.tests.lookup.injection
InjectionTest.testInjectionOfNamedBean()
github
A bean is assignable to a given injection point if the bean has all the required qualifiers. If no required qualifiers were explicitly specified, the container assumes the required qualifier @Default. A bean has the required qualifier if it has a qualifier with (a) the same type and (b) the same annotation member value for each member which is not annotated @javax.enterprise.util.NonBinding.
la)
Test with beans with required qualifiers.
org.jboss.cdi.tck.tests.alternative.resolution.qualifier
QualifierInheritedTest.testResolution()
github
org.jboss.cdi.tck.tests.lookup.typesafe.resolution
ResolutionByTypeTest.testAllQualifiersSpecifiedForResolutionMustAppearOnBean()
github
lb)
Test with beans without required qualifiers.
org.jboss.cdi.tck.tests.alternative.resolution.qualifier
QualifierNotDeclaredTest.testResolution()
github
QualifierNotInheritedTest.testResolution()
github
org.jboss.cdi.tck.tests.lookup.typesafe.resolution
ResolutionByTypeTest.testDefaultBindingTypeAssumed()
github
lc)
Test with matching beans with matching qualifier with same type.
org.jboss.cdi.tck.tests.lookup.typesafe.resolution
ResolutionByTypeTest.testAllQualifiersSpecifiedForResolutionMustAppearOnBean()
github
ld)
Test with matching beans with matching qualifier with same annotation member value for each member which is not annotated @javax.enterprise.util.NonBinding.
org.jboss.cdi.tck.tests.lookup.typesafe.resolution
ResolutionByTypeTest.testResolveByTypeWithNonBindingMembers()
github
n)
A bean is eligible for injection to a certain injection point if it is available for injection in the module that contains the class that declares the injection point, and it is assignable to the injection point.
org.jboss.cdi.tck.tests.deployment.packaging.visibility
JarToJarAlphaVisibilityTest.testDeployment()
github
org.jboss.cdi.tck.tests.deployment.packaging.ear.modules
EnterpriseArchiveModulesTest.testVisibilityAndInterceptorEnablement()
github
org.jboss.cdi.tck.tests.deployment.packaging.visibility
JarToJarReverseAlphaVisibilityTest.testDeployment()
github
org.jboss.cdi.tck.tests.deployment.packaging.war.modules
WebArchiveModulesTest.testInjectionChainVisibilityAndInterceptorEnablement()
github
For a custom implementation of the Bean interface defined in Section 11.1, "The Bean interface", the container calls getTypes() and getQualifiers() to determine the bean types and qualifiers.
na)
Test getTypes() determines bean types.
org.jboss.cdi.tck.tests.definition.bean.custom
CustomBeanImplementationTest.testGetTypesCalled()
github
nb)
Test getQualifiers() determines qualifiers.
org.jboss.cdi.tck.tests.definition.bean.custom
CustomBeanImplementationTest.testGetBindingsCalled()
github
When an ambiguous dependency exists, the container attempts to resolve the ambiguity. The container eliminates all eligible beans that are not alternatives selected for the bean archive or selected for the application, except for producer methods and fields of beans that are alternatives.
ca)
If there is exactly one bean remaining, the container will select this bean, and the ambiguous dependency is called resolvable.
org.jboss.cdi.tck.tests.lookup.dependency.resolution
AmbiguousDependencyResolutionTest.testProducerMethodOnAlternativeIsNotEliminated()
github
AmbiguousDependencyResolutionTest.testProducerFieldOnAlternativeIsNotEliminated()
github
cb)
If all the beans left are alternatives with a priority, then the container will determine the highest priority value, and eliminate all beans, except for producer methods and fields of beans that are alternatives with the highest priority value. If there is exactly one bean remaining, the container will select this bean, and the ambiguous dependency is called resolvable.
org.jboss.cdi.tck.tests.alternative.selection.enterprise
EnterpriseSelectedAlternative03Test.testDependencyResolvable()
github
org.jboss.cdi.tck.tests.alternative.selection.resource
ResourceAlternative04Test.testAlternativeResourceSelected()
github
org.jboss.cdi.tck.tests.alternative.selection
SelectedAlternative02Test.testDependencyResolvable()
github
The container must validate all injection points of all enabled beans, all observer methods, all disposer methods and all other Java EE component classes supporting injection when the application is initialized to ensure that there are no unsatisfied or ambiguous dependencies. If an unsatisfied or ambiguous dependency exists, the container automatically detects the problem and treats it as a deployment problem.
aa)
Test unsatisfied dependency for enabled bean.
org.jboss.cdi.tck.tests.lookup.dependency.resolution.broken.unsatisfied
UnsatisfiedDependencyTest.testUnsatisfiedDependency()
github
ab)
Test unsatisfied dependency for observer method.
org.jboss.cdi.tck.tests.event.observer.broken.validation.unsatisfied
ObserverMethodParameterInjectionValidationTest.test()
github
ac)
Test unsatisfied dependency for disposer method.
org.jboss.cdi.tck.tests.implementation.disposal.method.definition.broken.validation.unsatisfied
DisposerMethodParameterInjectionValidationTest.test()
github
ad)
Test unsatisfied dependency for Java EE component.
org.jboss.cdi.tck.tests.lookup.injection.non.contextual.broken.unsatisfied
UnsatisfiedInjectionIntoNonContextualComponentTest.testInjectionIntoServlet()
github
ae)
Test ambiguous dependency for enabled bean.
org.jboss.cdi.tck.tests.lookup.dependency.resolution.broken.ambiguous
AmbiguousDependencyTest.testAmbiguousDependency()
github
org.jboss.cdi.tck.tests.lookup.dependency.resolution.broken.ambiguous.ear
MultiModuleSessionBeanAmbiguousDependencyTest.testAmbiguousDependencyDetected()
github
af)
Test ambiguous dependency for observer method.
org.jboss.cdi.tck.tests.event.observer.broken.validation.ambiguous
ObserverMethodParameterInjectionValidationTest.test()
github
ag)
Test ambiguous dependency for disposer method.
org.jboss.cdi.tck.tests.implementation.disposal.method.definition.broken.validation.ambiguous
DisposerMethodParameterInjectionValidationTest.test()
github
ah)
Test ambiguous dependency for Java EE component.
org.jboss.cdi.tck.tests.lookup.injection.non.contextual.broken.ambiguous
AmbiguousInjectionIntoNonContextualComponentTest.testInjectionIntoServlet()
github
b)
For a custom implementation of the Bean interface defined in Section 11.1, "The Bean interface", the container calls getInjectionPoints() to determine the set of injection points.
org.jboss.cdi.tck.tests.definition.bean.custom
CustomBeanImplementationTest.testGetInjectionPointsCalled()
github
a)
Any legal bean type, as defined in Section 2.2.1, "Legal bean types" may be the required type of an injection point.
org.jboss.cdi.tck.tests.lookup.injectionpoint.requiredtype
LegalRequiredTypeTest.testLegalRequiredType()
github
b)
The required type of an injection point may contain a wildcard type parameter.
org.jboss.cdi.tck.tests.lookup.typesafe.resolution.parameterized
AssignabilityOfRawAndParameterizedTypesTest.testAssignabilityOfParameterizedTypeWithActualTypesToParameterizedTypeWithWildcardsAtInjectionPoint()
github
d)
The required type of an injection point may be an array type whose component type contains a wildcard type parameter.
c)
If an injection point type is a type variable, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.lookup.typesafe.resolution.broken.type.variable
TypeVariableInjectionPointTest.testTypeVariableInjectionPoint()
github
d)
If an injection point type is an array type whose component type is a type variable, the container automatically detects the problem and treats it as a definition error.
a)
A parameterized bean type is considered assignable to a raw required type if the raw types are identical and all type parameters of the bean type are either unbounded type variables or java.lang.Object.
org.jboss.cdi.tck.tests.lookup.typesafe.resolution.parameterized
AssignabilityOfRawAndParameterizedTypesTest.testAssignabilityToRawType()
github
org.jboss.cdi.tck.tests.lookup.injection.parameterized.broken.raw
ParameterizedTypesInjectionRawAmbiguousTest.testInjection()
github
org.jboss.cdi.tck.tests.lookup.injection.parameterized
ParameterizedTypesInjectionToRawTypeTest.testInjection()
github
A parameterized bean type is considered assignable to a parameterized required type if they have identical raw type and for each parameter: the required type parameter and the bean type parameter are actual types with identical raw type, and, if the type is parameterized, the bean type parameter is assignable to the required type parameter according to these rules, or the required type parameter is a wildcard, the bean type parameter is an actual type and the actual type is assignable to the upper bound, if any, of the wildcard and assignable from the lower bound, if any, of the wildcard, or the required type parameter is a wildcard, the bean type parameter is a type
variable and the upper bound of the type variable is assignable to or assignable from the upper bound, if any, of the wildcard and assignable from the lower bound, if any, of the wildcard, or the required type parameter is an actual type, the bean type parameter is a type variable and the actual type is as- signable to the upper bound, if any, of the type variable, or the required type parameter and the bean type parameter are both type variables and the upper bound of the required type parameter is assignable to the upper bound, if any, of the bean type parameter.
ba)
Check the required type parameter and the bean type parameter are actual types with identical raw type
org.jboss.cdi.tck.tests.lookup.injection.parameterized
ParameterizedTypesInjectionToParameterizedWithActualTypeTest.testInjection()
github
org.jboss.cdi.tck.tests.lookup.typesafe.resolution.parameterized
AssignabilityOfRawAndParameterizedTypesTest.testAssignabilityOfParameterizedTypeWithActualTypesToParameterizedTypeWithActualTypes()
github
bb)
Check the required type parameter and the bean type parameter are actual types with identical raw type for nested type parameters
org.jboss.cdi.tck.tests.lookup.injection.parameterized
ParameterizedTypesInjectionToParameterizedWithActualTypeTest.testInjection()
github
c)
Check the required type parameter is a wildcard, the bean type parameter is an actual type and the actual type is assignable to the upper bound of the wildcard and assignable from the lower bound of the wildcard
org.jboss.cdi.tck.tests.lookup.typesafe.resolution.parameterized
AssignabilityOfRawAndParameterizedTypesTest.testAssignabilityOfParameterizedTypeWithActualTypesToParameterizedTypeWithWildcards()
github
org.jboss.cdi.tck.tests.lookup.injection.parameterized
ParameterizedTypesInjectionToParameterizedWithWildcardTest.testInjection()
github
da)
Check the required type parameter is a wildcard, the bean type parameter is a type variable and the upper bound of the type variable is assignable to the upper bound of the wildcard
org.jboss.cdi.tck.tests.lookup.typesafe.resolution.parameterized
AssignabilityOfRawAndParameterizedTypesTest.testAssignabilityOfParameterizedTypeWithTypeVariablesToParameterizedTypeWithWildcards()
github
org.jboss.cdi.tck.tests.lookup.injection.parameterized
ParameterizedTypesInjectionToParameterizedWithWildcardTest.testInjection()
github
db)
Check the required type parameter is a wildcard, the bean type parameter is a type variable and the upper bound of the type variable is assignable from the upper bound of the wildcard
org.jboss.cdi.tck.tests.lookup.typesafe.resolution.parameterized
AssignabilityOfRawAndParameterizedTypesTest.testAssignabilityOfParameterizedTypeWithTypeVariablesToParameterizedTypeWithWildcards2()
github
org.jboss.cdi.tck.tests.lookup.injection.parameterized
ParameterizedTypesInjectionToParameterizedWithWildcardTest.testInjection()
github
dc)
Check the required type parameter is a wildcard, the bean type parameter is a type variable and the upper bound of the type variable is assignable from the lower bound of the wildcard
org.jboss.cdi.tck.tests.lookup.typesafe.resolution.parameterized
AssignabilityOfRawAndParameterizedTypesTest.testAssignabilityOfParameterizedTypeWithTypeVariablesToParameterizedTypeWithWildcards()
github
AssignabilityOfRawAndParameterizedTypesTest.testAssignabilityOfParameterizedTypeWithTypeVariablesToParameterizedTypeWithWildcards2()
github
org.jboss.cdi.tck.tests.lookup.injection.parameterized.multiple.bounds
ParameterizedTypesWithTypeVariableWithMultipleBoundsTest.testInjectionOfBeanWithWildcardWithTypeVariableAsLowerBound()
github
org.jboss.cdi.tck.tests.lookup.typesafe.resolution.parameterized
AssignabilityOfRawAndParameterizedTypesTest.testAssignabilityOfParameterizedTypeWithTypeVariablesToParameterizedTypeWithWildcardWithLowerBound()
github
e)
Check the required type parameter is an actual type, the bean type parameter is a type variable and the actual type is assignable to the upper bound of the type variable
org.jboss.cdi.tck.tests.lookup.injection.parameterized
ParameterizedTypesInjectionToParameterizedWithActualTypeTest.testInjection()
github
org.jboss.cdi.tck.tests.lookup.injection.parameterized.multiple.bounds
ParameterizedTypesWithTypeVariableWithMultipleBoundsTest.testInjectionOfBeanWithTypeVariableWithMultipleBoundsToParameterizedTypeWithActualType()
github
org.jboss.cdi.tck.tests.lookup.typesafe.resolution.parameterized
AssignabilityOfRawAndParameterizedTypesTest.testAssignabilityOfParameterizedTypeWithTypeVariablesToParameterizedTypeWithActualTypes()
github
AssignabilityOfRawAndParameterizedTypesTest.testAssignabilityOfParameterizedTypeWithTypeVariablesWithMultipleBoundsToParameterizedTypeWithActualTypes()
github
f)
Check the required type parameter and the bean type parameter are both type variables and the upper bound of the required type parameter is assignable to the upper bound of the bean type parameter.
org.jboss.cdi.tck.tests.lookup.injection.parameterized
ParameterizedTypesInjectionToParameterizedWithTypeVariableUpperBoundTest.testInjection()
github
ParameterizedTypesInjectionToParameterizedWithTypeVariableTest.testInjection()
github
org.jboss.cdi.tck.tests.lookup.injection.parameterized.multiple.bounds
ParameterizedTypesWithTypeVariableWithMultipleBoundsTest.testInjectionOfBeanWithTypeVariableWithMultipleBounds()
github
org.jboss.cdi.tck.tests.lookup.typesafe.resolution.parameterized
AssignabilityOfRawAndParameterizedTypesTest.testAssignabilityOfParameterizedTypeWithTypeVariablesToParameterizedTypeWithTypeVariable()
github
AssignabilityOfRawAndParameterizedTypesTest.testAssignabilityOfParameterizedTypeWithTypeVariableWithMultipleBoundsToParameterizedTypeWithTypeVariable()
github
g)
A raw bean type is considered assignable to a parameterized required type if the raw types are identical and all type parameters of the required type are either unbounded type variables or java.lang.Object.
org.jboss.cdi.tck.tests.lookup.typesafe.resolution.parameterized.raw
RawBeanTypeParameterizedRequiredTypeTest.testNotAssignableTypeParams()
github
RawBeanTypeParameterizedRequiredTypeTest.testAssignableTypeParams()
github
If necessary, the container performs boxing or unboxing when it injects a value to a field or parameter of primitive or wrapper type.
aa)
Test boxing.
org.jboss.cdi.tck.tests.lookup.typesafe.resolution
ResolutionByTypeTest.testResolveByTypeWithPrimitives()
github
org.jboss.cdi.tck.tests.lookup.injection
InjectionTest.testInjectionPerformsBoxingIfNecessary()
github
ab)
Test unboxing.
org.jboss.cdi.tck.tests.lookup.typesafe.resolution
ResolutionByTypeTest.testResolveByTypeWithPrimitives()
github
b)
If an injection point of primitive type resolves to a producer method or producer field that returns a null value at runtime, the container must inject the primitive type's default value as defined by the Java Language Specification.
org.jboss.cdi.tck.tests.lookup.typesafe.resolution.primitive
PrimitiveInjectionPointTest.testPrimitiveInjectionPointResolvedToNonPrimitiveProducerMethod()
github
a)
Qualifier types may have annotation members.
b)
An annotation member may be excluded from consideration using the @NonBinding annotation.
org.jboss.cdi.tck.tests.lookup.typesafe.resolution
ResolutionByTypeTest.testResolveByTypeWithNonBindingMembers()
github
org.jboss.cdi.tck.tests.lookup.binding.members.annotation
BindingAnnotationWithMemberTest.testAnnotationMemberWithNonBinding()
github
org.jboss.cdi.tck.tests.lookup.binding.members.array
BindingAnnotationWithMemberTest.testArrayMemberWithNonBinding()
github
c)
Array-valued or annotation-valued members of a qualifier type should be annotated @NonBinding in a portable application. If an array-valued or annotation-valued member of a qualifier is not annotated @NonBinding, non-portable behavior results.
a)
A bean class may declare multiple qualifiers.
org.jboss.cdi.tck.tests.lookup.typesafe.resolution
ResolutionByTypeTest.testAllQualifiersSpecifiedForResolutionMustAppearOnBean()
github
b)
A producer method may declare multiple qualifiers.
org.jboss.cdi.tck.tests.lookup.typesafe.resolution
ResolutionByTypeTest.testResolveByTypeWithPrimitives()
github
c)
A producer field may declare multiple qualifiers.
org.jboss.cdi.tck.tests.lookup.typesafe.resolution
ResolutionByTypeTest.testResolveByTypeWithPrimitives()
github
d)
A bean must declare all of the qualifiers that are specified at the injection point to be considered a candidate for injection.
org.jboss.cdi.tck.tests.lookup.typesafe.resolution
ResolutionByTypeTest.testAllQualifiersSpecifiedForResolutionMustAppearOnBean()
github
d)
An EL name resolves to a bean if the bean has the given EL name, and the bean is available for injection in the war containing the JSP or JSF page with the EL expression.
org.jboss.cdi.tck.tests.lookup.el.integration
IntegrationWithUnifiedELTest.testELResolverRegisteredWithJsf()
github
IntegrationWithUnifiedELTest.testELResolverRegisteredWithServletContainer()
github
e)
For a custom implementation of the Bean interface defined in Section 11.1, "The Bean interface", the container calls getName() to determine the bean EL name.
org.jboss.cdi.tck.tests.definition.bean.custom
CustomBeanImplementationTest.testGetNameCalled()
github
An ambiguous EL name exists in an EL expression when an EL name resolves to multiple beans. When an ambiguous EL name exists, the container attempts to resolve the ambiguity. The container eliminates all eligible beans that are not alternatives selected for the bean archive or selected for the application, except for producer methods and fields of beans that are alternatives.
ca)
If there is exactly one bean remaining, the container will select this bean, and the ambiguous dependency is called resolvable.
org.jboss.cdi.tck.tests.lookup.byname
ResolutionByNameTest.testAmbiguousELNamesResolved()
github
cb)
If all the beans left are alternatives with a priority, then the container will determine the highest priority value, and eliminate all beans, except for producer methods and fields of beans that are alternatives with the highest priority value. If there is exactly one bean remaining, the container will select this bean, and the ambiguous dependency is called resolvable.
org.jboss.cdi.tck.tests.lookup.byname.ambiguous
AmbiguousELNamesTest.testAmbiguousELNamesResolved()
github
org.jboss.cdi.tck.tests.lookup.byname.ambiguous.broken
AmbiguousELNamesTest.testAmbiguousELNamesResolved()
github
All unresolvable ambiguous EL names are detected by the container when the application is initialized. Suppose two beans are both accessible to classes in a certain war, and either the two beans have the same EL name and the name is not resolvable, or the EL name of one bean is of the form x.y, where y is a valid bean EL name, and x is the EL name of the other bean, the container automatically detects the problem and treats it as a deployment problem.
da)
Test with two beans with the same EL name.
org.jboss.cdi.tck.tests.lookup.byname.ambiguous.broken
AmbiguousELNamesTest.testAmbiguousELNamesResolved()
github
org.jboss.cdi.tck.tests.lookup.byname.broken.duplicity
DuplicitNameTest.testDuplicateNamedBeans()
github
db)
Test with with an EL name in the form x.y.
org.jboss.cdi.tck.tests.lookup.byname.broken.prefix
NamePrefixTest.testDuplicateBeanNamePrefix()
github
b)
A contextual reference to a bean with a normal scope, as defined in Section 6.3, “Normal scopes and pseudo-scopes”, is not a direct reference to a contextual instance of the bean (the object returned by Contextual.create()). Instead, the contextual reference is a client proxy object.
org.jboss.cdi.tck.tests.lookup.clientProxy
ClientProxyTest.testClientProxyUsedForNormalScope()
github
a)
Client proxies are never required for a bean whose scope is a pseudo-scope such as @Dependent.
The following assertion is not made explicitly by the spec, however it is implied c)
Client proxies are serializable
org.jboss.cdi.tck.tests.lookup.clientProxy
ClientProxyTest.testSimpleBeanClientProxyIsSerializable()
github
d)
The container must guarantee that when any valid injected reference to a bean of normal scope is invoked, the invocation is always processed by the current instance of the injected bean.
org.jboss.cdi.tck.tests.lookup.clientProxy.incontainer
ClientProxyTest.testInvocationIsProcessedOnCurrentInstance()
github
e)
Client proxies may be shared between multiple injection points.
aa)
Every time a method of the bean is invoked upon a client proxy, the client proxy must obtain a contextual instance of the bean, as defined in Section 6.5.2, "Contextual instance of a bean", and invoke the method upon this instance.
org.jboss.cdi.tck.tests.lookup.clientProxy
ClientProxyTest.testClientProxyInvocation()
github
ab)
If the scope is not active, as specified in Section 6.5.1, "The active context object for a scope", the client proxy rethrows ContextNotActiveException or IllegalStateException.
org.jboss.cdi.tck.tests.lookup.clientProxy
ClientProxyTest.testInactiveScope()
github
b)
The behavior of all methods declared by java.lang.Object, except for toString(), is undefined for a client proxy.
a)
The container is required to perform dependency injection whenever it creates a contextual instance of a session bean.
org.jboss.cdi.tck.tests.lookup.injection.enterprise
SessionBeanInjectionTest.testInjectionOnContextualSessionBean()
github
org.jboss.cdi.tck.tests.lookup.injection.visibility
InjectionVisibilityTest.testPackagePrivateSetMethodInjection()
github
b)
The container is required to perform dependency injection whenever it creates a contextual instance of a managed bean.
org.jboss.cdi.tck.tests.lookup.injection
InjectionTest.testInjectionOfNamedBean()
github
c)
The container is required to perform dependency injection whenever it instantiates non-contextual instances of session beans (for example, session beans obtained by the application from JNDI or injected using @EJB).
org.jboss.cdi.tck.tests.lookup.injection.enterprise
SessionBeanInjectionTest.testInjectionOnNonContextualSessionBean()
github
d)
The container is required to perform dependency injection whenever it instantiates non-contextual instances of managed beans.
org.jboss.cdi.tck.tests.lookup.injection.non.contextual
InjectionIntoNonContextualComponentTest.testInjectionIntoJSFManagedBean()
github
The container is required to perform dependency injection whenever it instantiates instances of any other Java EE component class supporting injection.
ea)
Test injection into a servlet listener
org.jboss.cdi.tck.tests.lookup.injection.non.contextual
InjectionIntoNonContextualComponentTest.testInjectionIntoServletListener()
github
eb)
Test injection into a tag handler
org.jboss.cdi.tck.tests.lookup.injection.non.contextual
InjectionIntoNonContextualComponentTest.testInjectionIntoTagHandler()
github
ec)
Test injection into a tag library listener
org.jboss.cdi.tck.tests.lookup.injection.non.contextual
InjectionIntoNonContextualComponentTest.testInjectionIntoTagLibraryListener()
github
ed)
Test injection into an EJB Interceptor
org.jboss.cdi.tck.tests.lookup.injection.enterprise
SessionBeanInjectionTest.testInjectionOnEJBInterceptor()
github
ee)
Test injection into a WS endpoint
org.jboss.cdi.tck.tests.lookup.injection.non.contextual.ws
WebServiceResourceTest.testInjectionIntoWebServiceEndpoint()
github
ef)
Test injection into a servlet
org.jboss.cdi.tck.tests.lookup.injection.non.contextual
InjectionIntoNonContextualComponentTest.testInjectionIntoServlet()
github
eg)
Test injection into a filter
org.jboss.cdi.tck.tests.lookup.injection.non.contextual
InjectionIntoNonContextualComponentTest.testInjectionIntoFilter()
github
f)
A Java EE 5 container is not required to support injection for non-contextual objects.
g)
The container interacts with instances of beans and other Java EE component classes supporting injection by calling methods and getting and setting the field values.
No tests exist for this assertion
h)
The object injected by the container may not be a direct reference to a contextual instance of the bean. Instead, it is an injectable reference, as defined by Section 6.5.5, "Injectable references".
No tests exist for this assertion
When the container instantiates a managed bean or session bean with a constructor annotated @Inject, the container calls this constructor, passing an injectable reference to each parameter. If there is no constructor annotated @Inject, the container calls the constructor with no parameters.
aa)
Test managed bean with a constructor annotated @Inject.
org.jboss.cdi.tck.tests.implementation.simple.definition
SimpleBeanDefinitionTest.testInitializerAnnotatedConstructorUsedOverEmptyConstuctor()
github
ab)
Test session bean with a constructor annotated @Inject.
org.jboss.cdi.tck.tests.implementation.enterprise.definition
EnterpriseBeanDefinitionTest.testConstructorAnnotatedInjectCalled()
github
ba)
Test constructor with no parameters is used for a managed bean
org.jboss.cdi.tck.tests.implementation.simple.definition
SimpleBeanDefinitionTest.testEmptyConstructorUsed()
github
bb)
Test constructor with no parameters is used for a session bean
org.jboss.cdi.tck.tests.implementation.enterprise.definition
EnterpriseBeanDefinitionTest.testConstructorWithNoParamsUsed()
github
When the container creates a new instance of a managed bean, session bean, or of any other Java EE component class supporting injection, the container must: Initialize the values of all injected fields. The container sets the value of each injected field to an injectable reference. Call all initializer methods, passing an injectable reference to each parameter.
aa)
Test session bean fields injected
org.jboss.cdi.tck.tests.lookup.injection.enterprise
SessionBeanInjectionTest.testInjectionOnContextualSessionBean()
github
ab)
Test session bean initializer methods called
org.jboss.cdi.tck.tests.lookup.injection.enterprise
SessionBeanInjectionTest.testInjectionOnContextualSessionBean()
github
ac)
Test managed bean fields injected
org.jboss.cdi.tck.tests.lookup.injection
InjectionTest.testInjectionOfNamedBean()
github
ad)
Test managed bean initializer methods called
org.jboss.cdi.tck.tests.implementation.initializer
InitializerMethodTest.testMultipleInitializerMethodsAreCalled()
github
ae)
Test Servlet fields injected
org.jboss.cdi.tck.tests.lookup.injection.non.contextual
InjectionIntoNonContextualComponentTest.testInjectionIntoServlet()
github
af)
Test Servlet initializer methods called
org.jboss.cdi.tck.tests.lookup.injection.non.contextual
InjectionIntoNonContextualComponentTest.testServletInitializerMethodCalled()
github
ag)
Test Servlet Filter fields injected
org.jboss.cdi.tck.tests.lookup.injection.non.contextual
InjectionIntoNonContextualComponentTest.testInjectionIntoFilter()
github
ah)
Test Servlet Filter initializer methods called
org.jboss.cdi.tck.tests.lookup.injection.non.contextual
InjectionIntoNonContextualComponentTest.testFilterInitializerMethodCalled()
github
ai)
Test Servlet Listener fields injected
org.jboss.cdi.tck.tests.lookup.injection.non.contextual
InjectionIntoNonContextualComponentTest.testInjectionIntoServletListener()
github
aj)
Test Servlet Listener initializer methods called
org.jboss.cdi.tck.tests.lookup.injection.non.contextual
InjectionIntoNonContextualComponentTest.testServletListenerInitializerMethodCalled()
github
ak)
Test non-contextual session bean fields injected
org.jboss.cdi.tck.tests.lookup.injection.enterprise
SessionBeanInjectionTest.testInjectionOnNonContextualSessionBean()
github
al)
Test non-contextual session bean initializer methods called
org.jboss.cdi.tck.tests.lookup.injection.enterprise
SessionBeanInjectionTest.testInjectionOnNonContextualSessionBean()
github
am)
Test tag handler fields injected
org.jboss.cdi.tck.tests.lookup.injection.non.contextual
InjectionIntoNonContextualComponentTest.testInjectionIntoTagHandler()
github
an)
Test tag handler initializer methods called
org.jboss.cdi.tck.tests.lookup.injection.non.contextual
InjectionIntoNonContextualComponentTest.testInjectionIntoTagHandler()
github
ao)
Test EJB interceptor fields injected
org.jboss.cdi.tck.tests.lookup.injection.enterprise
SessionBeanInjectionTest.testInjectionOnEJBInterceptor()
github
ap)
Test EJB interceptor initializer methods called
org.jboss.cdi.tck.tests.lookup.injection.enterprise
SessionBeanInjectionTest.testInjectionOnEJBInterceptor()
github
aq)
Test WS endpoint fields injected
org.jboss.cdi.tck.tests.lookup.injection.non.contextual.ws
WebServiceResourceTest.testInjectionIntoWebServiceEndpoint()
github
ar)
Test WS endpoint bean initializer methods called
org.jboss.cdi.tck.tests.lookup.injection.non.contextual.ws
WebServiceResourceTest.testInjectionIntoWebServiceEndpoint()
github
as)
Test tag handler listener fields injected
org.jboss.cdi.tck.tests.lookup.injection.non.contextual
InjectionIntoNonContextualComponentTest.testInjectionIntoTagLibraryListener()
github
at)
Test tag handler listener initializer methods called
org.jboss.cdi.tck.tests.lookup.injection.non.contextual
InjectionIntoNonContextualComponentTest.testTagLibraryListenerInitializerMethodCalled()
github
au)
Test JSF managed bean fields injected
org.jboss.cdi.tck.tests.lookup.injection.non.contextual
InjectionIntoNonContextualComponentTest.testInjectionIntoJSFManagedBean()
github
av)
Test JSF managed bean initializer methods called
org.jboss.cdi.tck.tests.lookup.injection.non.contextual
InjectionIntoNonContextualComponentTest.testInjectionIntoJSFManagedBean()
github
The container must ensure that: Initializer methods declared by a class X in the type hierarchy of the bean are called after all injected fields declared by X or by superclasses of X have been initialized, and after all Java EE component environment resource dependencies declared by X or by superclasses of X have been injected. Any @PostConstruct callback declared by a class X in the type hierarchy of the bean is called after all initializer methods declared by X or by superclasses of X have been called, after all injected fields declared by X or by superclasses of X have been initialized, and after all Java EE component environment resource dependencies declared by X
or by superclasses of X have been injected. Any servlet init() method is called after all initializer methods have been called, all injected fields have been initialized and all Java EE component environment resource dependencies have been injected.
ba)
Test session bean initializer methods called after injected field of X
org.jboss.cdi.tck.tests.lookup.injection.enterprise
SessionBeanInjectionTest.testInjectionOnContextualSessionBean()
github
bb)
Test session bean initializer methods called after injected field of superclass of X
org.jboss.cdi.tck.tests.lookup.injection.enterprise
SessionBeanInjectionOrderingTest.testInitializerCalledAfterFieldInjectionOfSuperclass()
github
bc)
Test session bean initializer methods called after EE resource injection of X
org.jboss.cdi.tck.tests.lookup.injection.enterprise
SessionBeanInjectionOrderingTest.testInitializerCalledAfterResourceInjection()
github
bd)
Test session bean initializer methods called after EE resource injection of superclass of X
org.jboss.cdi.tck.tests.lookup.injection.enterprise
SessionBeanInjectionOrderingTest.testInitializerCalledAfterResourceInjection()
github
be)
Test session bean @PostConstruct called after initializer of X
org.jboss.cdi.tck.tests.lookup.injection.enterprise
SessionBeanInjectionTest.testInjectionOnContextualSessionBean()
github
bf)
Test session bean @PostConstruct called after initializer of superclass of X
org.jboss.cdi.tck.tests.lookup.injection.enterprise
SessionBeanInjectionOrderingTest.testPostConstructCalledAfterInitializerOfSuperclass()
github
bg)
Test managed bean initializer methods called after injected field of X
org.jboss.cdi.tck.tests.lookup.injection
InjectionTest.testInjectionFieldsAndInitializerMethods()
github
bh)
Test managed bean initializer methods called after injected field of superclass of X
org.jboss.cdi.tck.tests.lookup.injection
InjectionTest.testInjectionFieldsAndInitializerMethods()
github
bi)
Test managed bean initializer methods called after EE resource injection of X
org.jboss.cdi.tck.tests.lookup.injection.persistence
PersistenceResourceInjectionTest.testInitializerMethodsAfterEEResourcePersistenceInjection()
github
org.jboss.cdi.tck.tests.lookup.injection
InjectionTest.testInjectionFieldsAndInitializerMethods()
github
org.jboss.cdi.tck.tests.lookup.injection.ws
WebServiceResourceInjectionTest.testInitializerMethodsCalledAfterEEResourceWebServiceRefInjection()
github
bj)
Test managed bean initializer methods called after EE resource injection of superclass of X
org.jboss.cdi.tck.tests.lookup.injection.persistence
PersistenceResourceInjectionTest.testInitializerMethodsAfterEEResourcePersistenceInjection()
github
org.jboss.cdi.tck.tests.lookup.injection
InjectionTest.testInjectionFieldsAndInitializerMethods()
github
org.jboss.cdi.tck.tests.lookup.injection.ws
WebServiceResourceInjectionTest.testInitializerMethodsCalledAfterEEResourceWebServiceRefInjection()
github
bk)
Test managed bean @PostConstruct called after initializer of X
org.jboss.cdi.tck.tests.lookup.injection
InjectionTest.testInjectionFieldsAndInitializerMethods()
github
bl)
Test managed bean @PostConstruct called after initializer of superclass of X
org.jboss.cdi.tck.tests.lookup.injection
InjectionTest.testInjectionFieldsAndInitializerMethods()
github
bm)
Servlet init() method called after initializer method
org.jboss.cdi.tck.tests.lookup.injection.non.contextual
InjectionIntoNonContextualComponentTest.testServletInitializerMethodCalled()
github
bn)
Servlet init() method called after injected fields
org.jboss.cdi.tck.tests.lookup.injection.non.contextual
InjectionIntoNonContextualComponentTest.testInjectionIntoServlet()
github
bo)
Servlet init() method called after Java EE resource injection
org.jboss.cdi.tck.tests.lookup.injection.non.contextual
InjectionIntoNonContextualComponentTest.testServletInitCalledAfterResourceInjection()
github
InjectionIntoNonContextualComponentTest.testServletInitCalledAfterPersistenceResourceInjection()
github
WebServiceInjectionIntoNonContextualComponentTest.testServletInitCalledAfterResourceInjection()
github
bp)
Servlet Filter init() method called after initializer method
org.jboss.cdi.tck.tests.lookup.injection.non.contextual
InjectionIntoNonContextualComponentTest.testFilterInitializerMethodCalled()
github
bq)
Servlet Filter init() method called after injected fields
org.jboss.cdi.tck.tests.lookup.injection.non.contextual
InjectionIntoNonContextualComponentTest.testInjectionIntoFilter()
github
br)
Servlet Filter init() method called after Java EE resource injection
org.jboss.cdi.tck.tests.lookup.injection.non.contextual
InjectionIntoNonContextualComponentTest.testFilterInitCalledAfterResourceInjection()
github
InjectionIntoNonContextualComponentTest.testFilterInitCalledAfterPersistenceResourceInjection()
github
WebServiceInjectionIntoNonContextualComponentTest.testFilterInitCalledAfterResourceInjection()
github
a)
When the container destroys an instance of a bean or of any Java EE component class supporting injection, the container destroys all dependent objects, as defined in Section 6.4.2, "Destruction of objects with scope @Dependent", after the @PreDestroy callback completes and after the servlet destroy() method is called.
org.jboss.cdi.tck.tests.implementation.simple.lifecycle
SimpleBeanLifecycleTest.testDependentsDestroyedAfterPreDestroy()
github
org.jboss.cdi.tck.tests.implementation.enterprise.lifecycle
EnterpriseBeanLifecycleTest.testDependentObjectsDestroyed()
github
a)
When the container calls a producer method, if the method is static, the container must invoke the method.
org.jboss.cdi.tck.tests.implementation.producer.method.definition
ProducerMethodDefinitionTest.testStaticMethod()
github
b)
When the container calls a disposer method, if the method is static, the container must invoke the method.
org.jboss.cdi.tck.tests.implementation.disposal.method.definition
DisposalMethodDefinitionTest.testBindingTypesAppliedToDisposalMethodParameters()
github
c)
When the container calls a producer method, if the method is non-static the container must obtain a contextual instance of the bean which declares the method, as defined by Section 6.5.2 "Contextual instance of a bean", then invoke the method upon this instance.
org.jboss.cdi.tck.tests.inheritance.specialization.producer.method
ProducerMethodSpecializationTest.testSpecializingProducerMethod()
github
org.jboss.cdi.tck.tests.inheritance.specialization.producer.method.enterprise
EnterpriseProducerMethodSpecializationTest.testSpecializingProducerMethod()
github
org.jboss.cdi.tck.tests.implementation.producer.method.lifecycle
ProducerMethodLifecycleTest.testProducerMethodFromSpecializedBeanUsed()
github
d)
When the container calls a disposer method, if the method is non-static the container must obtain a contextual instance of the bean which declares the method, as defined by Section 6.5.2 "Contextual instance of a bean", then invoke the method upon this instance.
org.jboss.cdi.tck.tests.context.dependent
DependentContextTest.testDependentsDestroyedWhenDisposerMethodCompletes()
github
e)
The container passes an injectable reference to each injected method parameter.
org.jboss.cdi.tck.tests.implementation.producer.method.definition
ProducerMethodDefinitionTest.testBindingTypesAppliedToProducerMethodParameters()
github
org.jboss.cdi.tck.tests.implementation.disposal.method.definition
DisposalMethodDefinitionTest.testDisposalMethodParametersGetInjected()
github
f)
The container is also responsible for destroying dependent objects created during this invocation, as defined in Section 6.4.2, "Destruction of objects with scope @Dependent".
org.jboss.cdi.tck.tests.context.dependent
DependentContextTest.testDependentsDestroyedWhenProducerMethodCompletes()
github
DependentContextTest.testDependentsDestroyedWhenDisposerMethodCompletes()
github
a)
When the container accesses the value of a producer field, if the producer field is static, the container must access the field value.
org.jboss.cdi.tck.tests.implementation.producer.field.lifecycle
ProducerFieldLifecycleTest.testProducerStaticFieldBean()
github
b)
When the container accesses the value of a producer field, if the producer field is non-static, the container must obtain a contextual instance of the bean which declares the producer field, as defined by Section 6.5.2 "Contextual instance of a bean", then access the field value of this instance.
org.jboss.cdi.tck.tests.implementation.producer.field.lifecycle
ProducerFieldLifecycleTest.testProducerFieldBeanCreate()
github
a)
When the container calls an observer method (defined in Section 10.4 "Observer methods"), if the observer method is static, the container must invoke the method.
org.jboss.cdi.tck.tests.event
EventTest.testStaticObserverMethodInvoked()
github
baa)
When the container calls an observer method (defined in Section 10.4 "Observer methods"), if the observer method is non-static, the container must obtain a contextual instance of the bean according to Section 6.5.2 "Contextual instance of a bean". If this observer method is a conditional observer method, obtain the contextual instance that already exists, only if the scope of the bean that declares the observer method is currently active, without creating a new contextual instance. Finally, the container must invoke the observer method on the resulting instance, if any, as a business method invocation, as defined in Section 7.2 "Container invocations and interception".
org.jboss.cdi.tck.tests.event
EventTest.testObserverCalledOnSpecializedBeanOnly()
github
org.jboss.cdi.tck.tests.event.observer.conditional
ConditionalObserverTest.testConditionalObserver()
github
ConditionalObserverTest.testObserverMethodInvokedOnReturnedInstanceFromContext()
github
c)
The container must pass the event object to the event parameter and an injectable instance to each injected method parameter.
org.jboss.cdi.tck.tests.event
EventTest.testObserverMethodParameterInjectionPoints()
github
d)
The container is also responsible for destroying dependent objects created during this invocation, as defined in Section 6.4.2, "Destruction of objects with scope @Dependent".
org.jboss.cdi.tck.tests.context.dependent
DependentContextTest.testDependentsDestroyedWhenObserverMethodEvaluationCompletes()
github
aa)
The getBean() method returns the Bean object representing the bean that defines the injection point.
org.jboss.cdi.tck.tests.event.metadata.injectionpoint
EventMetadataInjectionPointTest.testGetBean()
github
org.jboss.cdi.tck.tests.lookup.injectionpoint
InjectionPointTest.testGetBean()
github
org.jboss.cdi.tck.tests.lookup.injectionpoint.non.contextual
NonContextualInjectionPointTest.testContextualEjbInjectionPointGetBean()
github
aaa)
If the injection point does not belong to a bean, getBean() returns a null value.
org.jboss.cdi.tck.tests.lookup.injectionpoint.non.contextual
NonContextualInjectionPointTest.testNonContextualEjbInjectionPointGetBean()
github
aab)
If the injection point represents a dynamically obtained instance, the getBean() method should return the Bean object representing the bean that defines the Instance injection point.
org.jboss.cdi.tck.tests.lookup.injectionpoint.dynamic
DynamicInjectionPointTest.testInjectionPointGetBean()
github
ba)
The getType() method returns the required type of the injection point.
org.jboss.cdi.tck.tests.event.metadata.injectionpoint
EventMetadataInjectionPointTest.testGetType()
github
org.jboss.cdi.tck.tests.lookup.injectionpoint
InjectionPointTest.testGetType()
github
baa)
If the injection point represents a dynamically obtained instance, the getType() method returns the required type (as defined by Instance.select()).
org.jboss.cdi.tck.tests.lookup.injectionpoint.dynamic
DynamicInjectionPointTest.testInjectionPointGetType()
github
bc)
The getQualifiers() method returns the required qualifiers of the injection point.
org.jboss.cdi.tck.tests.event.metadata.injectionpoint
EventMetadataInjectionPointTest.testGetQualifiers()
github
org.jboss.cdi.tck.tests.lookup.injectionpoint
InjectionPointTest.testGetBindingTypes()
github
bca)
If the injection point represents a dynamically obtained instance, the getQualifiers() method returns required qualifiers of the injection point including any additional required qualifers (as defined by Instance.select()).
org.jboss.cdi.tck.tests.lookup.injectionpoint.dynamic
DynamicInjectionPointTest.testInjectionPointGetQualifiers()
github
ca)
The getMember() method returns the Field object in the case of field injection.
org.jboss.cdi.tck.tests.event.metadata.injectionpoint
EventMetadataInjectionPointTest.testGetMember()
github
org.jboss.cdi.tck.tests.lookup.injectionpoint
InjectionPointTest.testGetMemberField()
github
caa)
If the injection point represents a dynamically obtained instance, the getMember() method returns the Field object representing the field that defines the Instance injection point in the case of field injection.
org.jboss.cdi.tck.tests.lookup.injectionpoint.dynamic
DynamicInjectionPointTest.testInjectionPointGetMember()
github
cb)
The getMember() method returns the Method object in the case of method parameter injection.
org.jboss.cdi.tck.tests.event.metadata.injectionpoint
EventMetadataInjectionPointTest.testGetMember()
github
org.jboss.cdi.tck.tests.lookup.injectionpoint
InjectionPointTest.testGetMemberMethod()
github
cba)
If the injection point represents a dynamically obtained instance, the getMember() method returns the Method object representing the method that defines the Instance injection point in the case of method parameter injection.
org.jboss.cdi.tck.tests.lookup.injectionpoint.dynamic
DynamicInjectionPointTest.testInjectionPointGetMember()
github
cc)
The getMember() method returns the Constructor object in the case of constructor parameter injection.
org.jboss.cdi.tck.tests.event.metadata.injectionpoint
EventMetadataInjectionPointTest.testGetMember()
github
org.jboss.cdi.tck.tests.lookup.injectionpoint
InjectionPointTest.testGetMemberConstructor()
github
cca)
If the injection point represents a dynamically obtained instance, the getMember() method returns the Constructor object representing the constructor that defines the Instance injection point in the case of constructor parameter injection.
org.jboss.cdi.tck.tests.lookup.injectionpoint.dynamic
DynamicInjectionPointTest.testInjectionPointGetMember()
github
daa)
The getAnnotated() method returns an instance of javax.enterprise.inject.spi.AnnotatedField or javax.enterprise.inject.spi.AnnotatedParameter, depending upon whether the injection point is an injected field or a constructor/method parameter.
org.jboss.cdi.tck.tests.event.metadata.injectionpoint
EventMetadataInjectionPointTest.testGetAnnotatedType()
github
org.jboss.cdi.tck.tests.lookup.injectionpoint
InjectionPointTest.testGetAnnotatedField()
github
InjectionPointTest.testGetAnnotatedParameter()
github
dab)
If the injection point represents a dynamically obtained instance, then the getAnnotated() method returns an instance of javax.enterprise.inject.spi.AnnotatedField or javax.enterprise.inject.spi.AnnotatedParameter representing the Instance injection point, depending upon whether the injection point is an injected field or a constructor/method parameter.
org.jboss.cdi.tck.tests.lookup.injectionpoint.dynamic
DynamicInjectionPointTest.testInjectionPointGetAnnotated()
github
dba)
The isDelegate() method returns true if the injection point is a decorator delegate injection point, and false otherwise.
org.jboss.cdi.tck.tests.lookup.injectionpoint
InjectionPointTest.testIsDelegate()
github
dbb)
If the injection point represents a dynamically obtained instance then isDelegate() returns false.
org.jboss.cdi.tck.tests.lookup.injectionpoint.dynamic
DynamicInjectionPointTest.testInjectionPointIsDelegate()
github
dca)
The isTransient() method returns true if the injection point is a transient field, and false otherwise.
org.jboss.cdi.tck.tests.event.metadata.injectionpoint
EventMetadataInjectionPointTest.testIsTransient()
github
org.jboss.cdi.tck.tests.lookup.injectionpoint
InjectionPointTest.testIsTransient()
github
dcb)
If the injection point represents a dynamically obtained instance then the isTransient() method returns true if the Instance injection point is a transient field, and false otherwise.
org.jboss.cdi.tck.tests.lookup.injectionpoint.dynamic
DynamicInjectionPointTest.testInjectionPointIsTransient()
github
ea)
The container must provide a bean with scope @Dependent, bean type InjectionPoint and qualifier @Default, allowing dependent objects, as defined in Section 6.4.1, "Dependent objects", to obtain information about the injection point to which they belong.
org.jboss.cdi.tck.tests.extensions.afterBeanDiscovery
AfterBeanDiscoveryTest.testCustomDependentBeanInjectionPointIsAvailable()
github
org.jboss.cdi.tck.tests.lookup.injectionpoint
InjectionPointTest.testDependentScope()
github
InjectionPointTest.testApiTypeInjectionPoint()
github
InjectionPointTest.testCurrentBinding()
github
eb)
The built-in implementation must be a passivation capable dependency, as defined in Section 6.6.2, "Passivation capable dependencies".
org.jboss.cdi.tck.tests.lookup.injectionpoint
InjectionPointTest.testPassivationCapability()
github
f)
If a bean that declares any scope other than @Dependent has an injection point of type InjectionPoint and qualifier @Default, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.lookup.injectionpoint.broken.normal.scope
NormalScopedBeanWithInjectionPoint.testRequestScopedBeanWithInjectionPoint()
github
g)
If a disposer method has an injection point of type InjectionPoint and qualifier @Default, the container automatically detects the problema nd treats it as a definition error.
org.jboss.cdi.tck.tests.lookup.injectionpoint.broken.disposer
DisposerInjectionPointMetadataTest.testDisposerWithInjectionPointMetadata()
github
h)
If a Java EE component class supporting injection that is not a bean has an injection point of type InjectionPoint and qualifier @Default, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.lookup.injectionpoint.broken.not.bean
InjectionPointTest.testDefinitionErrorDetected()
github
The container must provide beans allowing a bean instance to obtain a Bean, Interceptor or Decorator instance containing its metadata.
a)
Bean with scope @Dependent, qualifier @Default and type Bean can be injected into any bean instance.
org.jboss.cdi.tck.tests.implementation.builtin.metadata
BuiltinMetadataBeanTest.testBeanMetadata()
github
BuiltinMetadataBeanTest.testProducerMethodMetadata()
github
b)
Bean with scope @Dependent, qualifier @Default and type Interceptor can be injected into any interceptor instance.
org.jboss.cdi.tck.tests.implementation.builtin.metadata.session
BuiltinMetadataSessionBeanTest.testInterceptorMetadata()
github
org.jboss.cdi.tck.tests.implementation.builtin.metadata
BuiltinMetadataBeanTest.testInterceptorMetadata()
github
c)
Bean with scope @Dependent, qualifier @Default and type Decorator which can be injected into any decorator instance.
org.jboss.cdi.tck.tests.implementation.builtin.metadata.session
BuiltinMetadataSessionBeanTest.testDecoratorMetadata()
github
org.jboss.cdi.tck.tests.implementation.builtin.metadata
BuiltinMetadataBeanTest.testDecoratorMetadata()
github
Additionally, the container must provide beans allowing interceptors and decorators to obtain information about the beans they intercept and decorate.
d)
Bean with scope @Dependent, qualifier @Intercepted and type Bean which can be injected into any interceptor instance.
org.jboss.cdi.tck.tests.implementation.builtin.metadata.session
BuiltinMetadataSessionBeanTest.testInterceptorMetadata()
github
org.jboss.cdi.tck.tests.implementation.builtin.metadata
BuiltinMetadataBeanTest.testInterceptorMetadata()
github
e)
Bean with scope @Dependent, qualifier @Decorated and type Bean can be injected into any decorator instance.
org.jboss.cdi.tck.tests.implementation.builtin.metadata.session
BuiltinMetadataSessionBeanTest.testDecoratorMetadata()
github
org.jboss.cdi.tck.tests.implementation.builtin.metadata
BuiltinMetadataBeanTest.testDecoratorMetadata()
github
f)
These beans are passivation capable dependencies, as defined in Section 6.6.2, "Passivation capable dependencies".
org.jboss.cdi.tck.tests.implementation.builtin.metadata.session
BuiltinMetadataSessionBeanTest.testInterceptorMetadata()
github
BuiltinMetadataSessionBeanTest.testDecoratorMetadata()
github
org.jboss.cdi.tck.tests.implementation.builtin.metadata
BuiltinMetadataBeanTest.testBeanMetadata()
github
BuiltinMetadataBeanTest.testProducerMethodMetadata()
github
BuiltinMetadataBeanTest.testInterceptorMetadata()
github
BuiltinMetadataBeanTest.testDecoratorMetadata()
github
h)
If an Interceptor instance is injected into a bean instance other than an interceptor instance, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.implementation.builtin.metadata.broken.injection
BuiltinInterceptorInjectionTest.testDeploymentFails()
github
i)
If a Decorator instance is injected into a bean instance other than a decorator instance, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.implementation.builtin.metadata.broken.injection
BuiltinDecoratorInjectionTest.testDeploymentFails()
github
r)
If a Bean instance with qualifier @Intercepted is injected into a bean instance other than an interceptor instance, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.implementation.builtin.metadata.broken.injection.intercepted
InterceptedBeanConstructorInjectionTest.testDeploymentFails()
github
InterceptedBeanInitializerInjectionTest.testDeploymentFails()
github
InterceptedBeanFieldInjectionTest.testDeploymentFails()
github
s)
If a Bean instance with qualifier @Decorated is injected into a bean instance other than an interceptor instance, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.implementation.builtin.metadata.broken.injection.decorated
DecoratedBeanConstructorInjectionTest.testDeploymentFails()
github
DecoratedBeanInitializerInjectionTest.testDeploymentFails()
github
DecoratedBeanFieldInjectionTest.testDeploymentFails()
github
The injection of bean metadata is restricted.
j)
If the injection point is a field, an initializer method parameter or a bean constructor, with qualifier @Default and type parameter of the injected Bean is not the same as the type declaring the injection point, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.implementation.builtin.metadata.broken.typeparam
BeanTypeParamConstructorTest.testDeploymentFails()
github
BeanTypeParamFieldTest.testDeploymentFails()
github
BeanTypeParamInitializerTest.testDeploymentFails()
github
k)
If the injection point is a field, an initializer method parameter or a bean constructor, with qualifier @Default and type parameter of the injected Interceptor is not the same as the type declaring the injection point, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.implementation.builtin.metadata.broken.typeparam.interceptor
InterceptorTypeParamConstructorTest.testDeploymentFails()
github
InterceptorTypeParamInitializerTest.testDeploymentFails()
github
InterceptorTypeParamFieldTest.testDeploymentFails()
github
l)
If the injection point is a field, an initializer method parameter or a bean constructor, with qualifier @Default and type parameter of the injected Decorator is not the same as the type declaring the injection point, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.implementation.builtin.metadata.broken.typeparam.decorator
DecoratorTypeParamInitializerTest.testDeploymentFails()
github
DecoratorTypeParamConstructorTest.testDeploymentFails()
github
DecoratorTypeParamFieldTest.testDeploymentFails()
github
m)
If the injection point is a field, an initializer method parameter or a bean constructor of an interceptor, with qualifier @Intercepted and the type parameter of the injected Bean is not an unbounded wildcard, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.implementation.builtin.metadata.broken.typeparam.interceptor
InterceptedBeanTypeParamFieldTest.testDeploymentFails()
github
InterceptedBeanTypeParamConstructorTest.testDeploymentFails()
github
InterceptedBeanTypeParamInitializerTest.testDeploymentFails()
github
n)
If he injection point is a field, an initializer method parameter or a bean constructor of a decorator, with qualifier @Decorated and the type parameter of the injected Bean is not the same as the delegate type, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.implementation.builtin.metadata.broken.typeparam.decorator
DecoratoredBeanTypeParamFieldTest.testDeploymentFails()
github
DecoratoredBeanTypeParamConstructorTest.testDeploymentFails()
github
DecoratoredBeanTypeParamInitializerTest.testDeploymentFails()
github
o)
If the injection point is a producer method parameter and the type parameter of the injected Bean is not the same as the producer method return type, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.implementation.builtin.metadata.broken.typeparam
BeanTypeParamProducerTest.testDeploymentFails()
github
p)
If the injection point is a disposer method parameter then no Bean instance can be injected, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.implementation.builtin.metadata.broken.typeparam
BeanTypeParamDisposerTest.testDeploymentFails()
github
aa)
An instance of the javax.enterprise.inject.Instance interface may be injected.
org.jboss.cdi.tck.tests.lookup.dynamic
DynamicLookupTest.testObtainsInjectsInstanceOfInstance()
github
ba)
The method javax.enterprise.inject.Instance.get() returns a contextual reference.
org.jboss.cdi.tck.tests.lookup.dynamic
DynamicLookupTest.testGetMethod()
github
ca)
Any combination of qualifiers may be specified at the injection point.
org.jboss.cdi.tck.tests.lookup.dynamic
DynamicLookupTest.testGetMethod()
github
da)
The @Any qualifier may be used to allow the application to specify qualifiers dynamically.
org.jboss.cdi.tck.tests.lookup.dynamic
DynamicLookupTest.testIsAmbiguous()
github
e)
The @New qualifier may be used, allowing the application to obtain a @New qualified bean, as defined in Section 3.12, "@New qualified beans".
org.jboss.cdi.tck.tests.lookup.dynamic
DynamicLookupTest.testNewBean()
github
aa)
The Instance interface provides a method for obtaining instances of beans with a specified combination of required type and qualifiers, and inherits the ability to iterate beans with that combination of required type and qualifiers from java.lang.Iterable.
org.jboss.cdi.tck.tests.lookup.dynamic
DynamicLookupTest.testGetMethod()
github
DynamicLookupTest.testIteratorMethod()
github
ab)
For an injected Instance, the required type is the type parameter specified at the injection point, and the required qualifiers are the qualifiers specified at the injection point.
org.jboss.cdi.tck.tests.lookup.dynamic
DynamicLookupTest.testGetMethod()
github
ba)
The select() method returns a child Instance for a given required type and additional required qualifiers. If no required type is given, the required type is the same as the parent.
org.jboss.cdi.tck.tests.lookup.dynamic
DynamicLookupTest.testIteratorMethod()
github
c)
If an injection point of raw type Instance is defined, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.lookup.dynamic.broken.raw
RawInstanceDisposerInjectionTest.testDefinitionError()
github
RawInstanceProcessInjectionPointTest.testDefinitionError()
github
RawInstanceFieldInjectionTest.testDefinitionError()
github
RawInstanceCustomBeanTest.testDefinitionError()
github
RawInstanceInitMethodInjectionTest.testDefinitionError()
github
RawInstanceObserverInjectionTest.testDefinitionError()
github
RawInstanceProducerMethodInjectionTest.testDefinitionError()
github
RawInstanceConstructorInjectionTest.testDefinitionError()
github
da)
If two instances of the same qualifier type are passed to select(), an IllegalArgumentException is thrown.
org.jboss.cdi.tck.tests.lookup.dynamic
DynamicLookupTest.testDuplicateBindingsThrowsException()
github
e)
If an instance of an annotation that is not a qualifier type is passed to select(), an IllegalArgumentException is thrown.
org.jboss.cdi.tck.tests.lookup.dynamic
DynamicLookupTest.testNonBindingThrowsException()
github
fa)
The get() method must identify a bean that has the required type and required qualifiers and is eligible for injection into the class into which the parent Instance was injected, according to the rules of typesafe resolution, as defined in Section 5.2, "Typesafe resolution", resolving ambiguities according to Section 5.2.1, "Unsatisfied and ambiguous dependencies".
org.jboss.cdi.tck.tests.lookup.dynamic
DynamicLookupTest.testGetMethod()
github
fba)
If typesafe resolution results in an unsatisfied dependency, throw an UnsatisfiedResolutionException.
org.jboss.cdi.tck.tests.lookup.dynamic
DynamicLookupTest.testUnsatisfiedDependencyThrowsException()
github
fbb)
If typesafe resolution results in an unresolvable ambiguous dependency, throw an AmbiguousResolutionException.
org.jboss.cdi.tck.tests.lookup.dynamic
DynamicLookupTest.testAmbiguousDependencyThrowsException()
github
fc)
Otherwise, obtain a contextual reference for the bean and the required type, as defined in Section 6.5.3, "Contextual reference for a bean".
org.jboss.cdi.tck.tests.lookup.dynamic
DynamicLookupTest.testGetMethod()
github
ja)
The iterator() method must identify the set of beans that have the required type and required qualifiers and are eligible for injection into the class into which the parent Instance was injected, according to the rules of typesafe resolution, as defined in Section 5.2, "Typesafe resolution".
org.jboss.cdi.tck.tests.lookup.dynamic
DynamicLookupTest.testIteratorMethod()
github
DynamicLookupTest.testAlternatives()
github
ka)
The iterator() method must return an Iterator, that iterates over the set of contextual references for the resulting beans and required type, as defined in Section 6.5.3, "Contextual reference for a bean".
org.jboss.cdi.tck.tests.lookup.dynamic
DynamicLookupTest.testIteratorMethod()
github
DynamicLookupTest.testAlternatives()
github
l)
The method isUnsatisfied() returns true if there is no bean that has the required type and qualifiers and is eligible for injection into the class into which the parent Instance was injected, or false otherwise.
org.jboss.cdi.tck.tests.lookup.dynamic
DynamicLookupTest.testIsUnsatisfied()
github
m)
The method isAmbiguous() returns true if there is more than one bean that has the required type and qualifiers and is eligible for injection into the class into which the parent Instance was injected, or false otherwise.
org.jboss.cdi.tck.tests.lookup.dynamic
DynamicLookupTest.testAlternatives()
github
DynamicLookupTest.testIsAmbiguous()
github
The method destroy() instructs the container to destroy the instance. The bean instance passed to destroy() should be a dependent scoped bean instance, or a client proxy for a normal scoped bean. Applications are encouraged to always call destroy() when they no longer require an instance obtained from Instance.
n)
Test dependent scoped bean instance passed to destroy().
org.jboss.cdi.tck.tests.lookup.dynamic.destroy.dependent
DestroyingDependentInstanceTest.testDestroyingDependentInstances()
github
DestroyingDependentInstanceTest.testDestroyingInterceptedDependentBean()
github
o)
Test client proxy passed to destroy().
org.jboss.cdi.tck.tests.lookup.dynamic.destroy.normal
DestroyingNormalScopedInstanceTest.testApplicationScopedComponent()
github
DestroyingNormalScopedInstanceTest.testRequestScopedComponent()
github
DestroyingNormalScopedInstanceTest.testCustomScopedComponent()
github
DestroyingNormalScopedInstanceTest.testContextDestroyCalled()
github
DestroyingNormalScopedInstanceTest.testNullParameter()
github
The following assertion is not made explicitly by the spec, however it is implied p)
Test UnsupportedOperationException is thrown when if the active context object for the scope type of the bean does not support destroying bean instances.
org.jboss.cdi.tck.tests.lookup.dynamic.destroy.normal
DestroyingNormalScopedInstanceTest.testUnsupportedOperationExceptionThrownIfUnderlyingContextNotAlterable()
github
a)
The container must provide a built-in bean with Instance<X> and Provider<X> for every legal bean type x in its set of bean types.
b)
The container must provide a built-in bean with every qualifier type in its set of qualifier types.
d)
The container must provide a built-in bean with scope @Dependent.
org.jboss.cdi.tck.tests.lookup.dynamic.builtin
BuiltinInstanceTest.testScopeOfBuiltinInstance()
github
e)
The container must provide a built-in bean with no bean EL name.
org.jboss.cdi.tck.tests.lookup.dynamic.builtin
BuiltinInstanceTest.testNameOfBuiltinInstance()
github
f)
The container must provide a built-in bean with an implementation provided automatically by the container.
org.jboss.cdi.tck.tests.lookup.dynamic.builtin
BuiltinInstanceTest.testInstanceProvidedForEveryLegalBeanType()
github
g)
The built-in implementation must be a passivation capable dependency, as defined in Section 6.6.2, "Passivation capable dependencies".
org.jboss.cdi.tck.tests.lookup.dynamic.builtin
BuiltinInstanceTest.testInstanceIsPassivationCapable()
github
The following assertion is not made explicitly by the spec, however it is implied a)
Test javax.enterprise.util.AnnotationLiteral when using Instance.select() to specify qualifiers.
org.jboss.cdi.tck.tests.lookup.dynamic
DynamicLookupTest.testIteratorMethod()
github
The following assertion is not made explicitly by the spec, however it is implied b)
Test javax.enterprise.util.TypeLiteral when specifying a parameterized type with actual type parameters when calling Instance.select().
org.jboss.cdi.tck.tests.lookup.dynamic
DynamicLookupTest.testNewBean()
github
aa)
If an exception occurs while creating an instance, the exception is rethrown by the create() method. If the exception is a checked exception, it must be wrapped and rethrown as an (unchecked) CreationException.
org.jboss.cdi.tck.tests.implementation.producer.method.lifecycle
ProducerMethodLifecycleTest.testCreateRethrowsUncheckedException()
github
ProducerMethodLifecycleTest.testCreateWrapsCheckedExceptionAndRethrows()
github
org.jboss.cdi.tck.tests.implementation.simple.lifecycle
SimpleBeanLifecycleTest.testCreationExceptionWrapsCheckedExceptionThrownFromCreate()
github
SimpleBeanLifecycleTest.testUncheckedExceptionThrownFromCreateNotWrapped()
github
ab)
If an exception occurs while destroying an instance, the exception must be caught by the destroy() method.
org.jboss.cdi.tck.tests.implementation.simple.lifecycle
SimpleBeanLifecycleTest.testContextualDestroyCatchesException()
github
ac)
If the application invokes a contextual instance after it has been destroyed, the behavior is undefined.
a)
The container and portable extensions may define implementations of the Contextual interface that do not extend Bean, but it is not recommended that applications directly implement Contextual.
ca)
The interface javax.enterprise.context.spi.CreationalContext provides operations that are used by the Contextual implementation during instance creation and destruction.
d)
push() registers an incompletely initialized contextual instance with the container. A contextual instance is considered incompletely initialized until it is returned by the create() method.
org.jboss.cdi.tck.tests.implementation.simple.lifecycle
SimpleBeanLifecycleTest.testCreateReturnsSameBeanPushed()
github
e)
release() destroys all dependent objects, as defined in Section 6.4.1, "Dependent objects", of the instance which is being destroyed, by passing each dependent object to the destroy() method of its Contextual object.
org.jboss.cdi.tck.tests.context.dependent
DependentContextTest.testCallingCreationalContextReleaseDestroysDependents()
github
f)
The implementation of Contextual is not required to call push(). However, for certain bean scopes, invocation of push() between instantiation and injection helps the container minimize the use of client proxy objects (which would otherwise be required to allow circular dependencies).
g)
If Contextual.create() calls push(), it must also return the instance passed to push().
org.jboss.cdi.tck.tests.implementation.simple.lifecycle
SimpleBeanLifecycleTest.testCreateReturnsSameBeanPushed()
github
h)
Contextual.create() should use the given CreationalContext when obtaining contextual references to inject, as defined in Section 6.5.3, "Contextual reference for a bean", in order to ensure that any dependent objects are associated with the contextual instance that is being created.
i)
Contextual.destroy() should call release() to allow the container to destroy dependent objects of the contextual instance.
aa)
The javax.enterprise.context.spi.Context interface provides an operation for obtaining contextual instances with a particular scope of any contextual type.
ab)
The method getScope() returns the scope type of the context object.
org.jboss.cdi.tck.tests.context.dependent
DependentContextTest.testContextScopeType()
github
ha)
When a context object is active the isActive() method returns true. Otherwise, we say that the context object is inactive and the isActive() method returns false.
org.jboss.cdi.tck.tests.context.dependent
DependentContextTest.testContextIsActive()
github
DependentContextTest.testContextIsActiveWhenInvokingProducerMethod()
github
j)
The Context.get() method may either return an existing instance of the given contextual type, or if no CreationalContext is given, return a null value, or if a CreationalContext is given, create a new instance of the given contextual type by calling Contextual.create() and return the new instance.
org.jboss.cdi.tck.tests.context
NormalContextTest.testGetReturnsExistingInstance()
github
k)
The Context.get() method may either return an existing instance of the given contextual type, or if no CreationalContext is given, return a null value, or if a CreationalContext is given, create a new instance of the given contextual type by calling Contextual.create() and return the new instance.
org.jboss.cdi.tck.tests.context
GetWithNoCreationalContextTest.testGetWithoutCreationalContextReturnsNull()
github
l)
The Context.get() method may either return an existing instance of the given contextual type, or if no CreationalContext is given, return a null value, or if a CreationalContext is given, create a new instance of the given contextual type by calling Contextual.create() and return the new instance.
org.jboss.cdi.tck.tests.context
NormalContextTest.testGetReturnsExistingInstance()
github
NormalContextTest.testGetWithCreationalContextReturnsNewInstance()
github
org.jboss.cdi.tck.tests.implementation.simple.lifecycle
SimpleBeanLifecycleTest.testContextCreatesNewInstanceForInjection()
github
m)
If the context object is inactive, the get() method must throw a ContextNotActiveException.
org.jboss.cdi.tck.tests.context
GetOnInactiveContextTest.testInvokingGetOnInactiveContextFails()
github
na)
The get() method may not return a null value unless no CreationalContext is given, or Contextual.create() returns a null value.
org.jboss.cdi.tck.tests.context
GetWithNoCreationalContextTest.testGetWithoutCreationalContextReturnsNull()
github
nb)
The get() method may not return a null value unless no CreationalContext is given, or Contextual.create() returns a null value.
org.jboss.cdi.tck.tests.context
NormalContextTest.testGetMayNotReturnNullUnlessContextualCreateReturnsNull()
github
o)
The get() method may not create a new instance of the given contextual type unless a CreationalContext is given.
org.jboss.cdi.tck.tests.context
GetFromContextualTest.testGetMayNotCreateNewInstanceUnlessCreationalContextGiven()
github
s)
When the container calls get() for a context that is associated with a passivating scope it must ensure that the given instance of Contextual and the instance of CreationalContext, if given, are serializable.
org.jboss.cdi.tck.tests.context.passivating.custom
CustomPassivatingScopeCalledWithSerializableParametersTest.testWithImplicitBean()
github
CustomPassivatingScopeCalledWithSerializableParametersTest.testWithExtensionProvidedBean()
github
t)
The destroy() method destroys an existing contextual instance, removing it from the context instance.
org.jboss.cdi.tck.tests.context.alterable
AlterableContextTest.testApplicationScopedComponent()
github
AlterableContextTest.testRequestScopedComponent()
github
AlterableContextTest.testCustomScopedComponent()
github
AlterableContextTest.testNothingHappensIfNoInstanceToDestroy()
github
p)
The context object is responsible for destroying any contextual instance it creates by passing the instance to the destroy() method of the Contextual object representing the contextual type.
org.jboss.cdi.tck.tests.context
ContextDestroysBeansTest.testContextDestroysBeansWhenDestroyed()
github
q)
A destroyed instance must not subsequently be returned by the get() method.
org.jboss.cdi.tck.tests.context
DestroyedInstanceReturnedByGetTest.testDestroyedInstanceMustNotBeReturnedByGet()
github
r)
The context object must pass the same instance of CreationalContext to Contextual.destroy() that it passed to Contextual.create() when it created the instance.
org.jboss.cdi.tck.tests.context
DestroyForSameCreationalContextTest.testDestroyForSameCreationalContextOnly()
github
DestroyForSameCreationalContext2Test.testDestroyForSameCreationalContextOnly()
github
a)
There may be no more than one mapped instance of a context object per contextual type per thread
b)
A context may be associated with one or more threads
c)
The get() operation of the Context object for an active normal scope returns the current instance of the given contextual type.
org.jboss.cdi.tck.tests.context
NormalContextTest.testGetReturnsExistingInstance()
github
d)
When a context is destroyed, all mapped instances belonging to that context are destroyed by passing them to the Contextual.destroy() method.
org.jboss.cdi.tck.tests.context
ContextDestroysBeansTest.testContextDestroysBeansWhenDestroyed()
github
e)
Contexts with normal scopes must obey the following rule: Suppose beans A, B and Z all have normal scopes. Suppose A has an injection point x, and B has an injection point y. Suppose further that both x and y resolve to bean Z according to the typesafe resolution algorithm. If a is the current instance of A, and b is the current instance of B, then both a.x and b.y refer to the same instance of Z. This instance is the current instance of Z.
org.jboss.cdi.tck.tests.context
NormalContextTest.testSameNormalScopeBeanInjectedEverywhere()
github
ea)
All normal scopes must be explicitly declared @NormalScope, to indicate to the container that a client proxy is required.
fa)
All pseudo-scopes must be explicitly declared @Scope, to indicate to the container that no client proxy is required.
g)
All scopes defined by this specification, except for the @Dependent pseudo-scope, are normal scopes
a)
When a bean is declared to have @Dependent scope, no injected instance of the bean is ever shared between multiple injection points.
org.jboss.cdi.tck.tests.context.dependent
DependentContextTest.testInstanceNotSharedBetweenInjectionPoints()
github
b)
When a bean is declared to have @Dependent scope, any instance of the bean injected into an object that is being created by the container is bound to the lifecycle of the newly created object.
org.jboss.cdi.tck.tests.context.dependent
DependentContextTest.testDestroyingSimpleParentDestroysDependents()
github
DependentContextTest.testDestroyingManagedParentDestroysDependentsOfSameBean()
github
ca)
When a bean is declared to have @Dependent scope, when a unified EL expression in a JSF or JSP page that refers to the bean by its EL name is evaluated, at most one instance of the bean is instantiated. This instance exists to service just a single evaluation of the EL expression. It is reused if the bean EL name appears multiple times in the EL expression, but is never reused when the EL expression is evaluated again, or when another EL expression is evaluated.
org.jboss.cdi.tck.tests.context.dependent
DependentContextTest.testInstanceUsedForElEvaluationNotShared()
github
When a bean is declared to have @Dependent scope, any instance of the bean that receives a producer method, producer field, disposer method or observer method invocation exists to service that invocation only
da)
Test with a producer method.
org.jboss.cdi.tck.tests.context.dependent
DependentContextTest.testInstanceUsedForProducerMethodNotShared()
github
db)
Test with a producer field.
org.jboss.cdi.tck.tests.context.dependent
DependentContextTest.testInstanceUsedForProducerFieldNotShared()
github
dc)
Test with a disposer method.
org.jboss.cdi.tck.tests.context.dependent
DependentContextTest.testInstanceUsedForDisposalMethodNotShared()
github
dd)
Test with an observer method.
org.jboss.cdi.tck.tests.context.dependent
DependentContextTest.testInstanceUsedForObserverMethodNotShared()
github
dg)
When a bean is declared to have @Dependent scope, any instance of the bean injected into method parameters of a disposer method or observer method exists to service the method invocation only (except for observer methods of container lifecycle events).
org.jboss.cdi.tck.tests.context.dependent
DependentContextTest.testInstanceUsedForDisposalMethodNotShared()
github
DependentContextTest.testInstanceUsedForObserverMethodNotShared()
github
e)
Every invocation of the get() operation of the Context object for the @Dependent scope with a CreationalContext returns a new instance of the given bean.
org.jboss.cdi.tck.tests.context.dependent
DependentContextTest.testContextGetWithCreationalContextReturnsNewInstance()
github
f)
Every invocation of the get() operation of the Context object for the @Dependent scope with no CreationalContext returns a null value.
org.jboss.cdi.tck.tests.context.dependent
DependentContextTest.testContextGetWithCreateFalseReturnsNull()
github
g)
The @Dependent scope is always active.
org.jboss.cdi.tck.tests.context.dependent
DependentContextTest.testContextIsActive()
github
DependentContextTest.testContextIsActiveWhenInvokingProducerMethod()
github
DependentContextTest.testContextIsActiveWhenInvokingDisposalMethod()
github
DependentContextTest.testContextIsActiveWhenInvokingProducerField()
github
DependentContextTest.testContextIsActiveWhenCreatingObserverMethodInstance()
github
DependentContextTest.testContextIsActiveWhenEvaluatingElExpression()
github
DependentContextTest.testContextIsActiveDuringBeanCreation()
github
DependentContextTest.testContextIsActiveDuringInjection()
github
Instances of interceptors or decorators with scope @Dependent are dependent objects of the bean instance they decorate.
aa)
Test with a @Dependent-scoped interceptor.
org.jboss.cdi.tck.tests.context.dependent
DependentContextTest.testDependentScopedInterceptorsAreDependentObjectsOfBean()
github
ab)
Test with a @Dependent-scoped decorator.
org.jboss.cdi.tck.tests.context.dependent
DependentContextTest.testDependentScopedDecoratorsAreDependentObjectsOfBean()
github
An instance of a bean with scope @Dependent injected into a field, bean constructor or initializer method is a dependent object of the bean or Java EE component class instance into which it was injected.
ga)
Test with @Dependent-scoped bean injected into field.
org.jboss.cdi.tck.tests.context.dependent
DependentContextTest.testInstanceNotSharedBetweenInjectionPoints()
github
DependentContextTest.testDependentBeanIsDependentObjectOfBeanInjectedInto()
github
gb)
Test with @Dependent-scoped bean injected into bean constructor.
org.jboss.cdi.tck.tests.context.dependent
DependentContextTest.testDependentBeanIsDependentObjectOfBeanInjectedInto()
github
gc)
Test with @Dependent-scoped bean injected into initializer method.
org.jboss.cdi.tck.tests.context.dependent
DependentContextTest.testDependentBeanIsDependentObjectOfBeanInjectedInto()
github
h)
An instance of a bean with scope @Dependent injected into a producer method is a dependent object of the producer method bean instance that is being produced.
org.jboss.cdi.tck.tests.context.dependent
DependentContextTest.testDependentsDestroyedWhenProducerMethodCompletes()
github
i)
An instance of a bean with scope @Dependent obtained by direct invocation of an Instance is a dependent object of the instance of Instance.
org.jboss.cdi.tck.tests.context.dependent.instance
BuiltinInstanceDependentObjectTest.testInstanceDependentObject()
github
The container must ensure that all dependent objects of a non-contextual instance of a bean or other Java EE component class are destroyed when the instance is destroyed by the container.
aaaa)
Test with a managed bean.
org.jboss.cdi.tck.tests.context.dependent
DependentContextTest.testDestroyingSimpleParentDestroysDependents()
github
DependentContextTest.testDestroyingManagedParentDestroysDependentsOfSameBean()
github
aaab)
Test with a Java EE component.
org.jboss.cdi.tck.tests.context.dependent.ejb
DependentContextEjbTest.testDestroyingEjbDestroysDependents()
github
DependentContextEjbTest.testDestroyingEjbDestroysDependentSimples()
github
The container must ensure that all @Dependent scoped contextual instances injected into method parameters of a disposer method or observer method of any other event are destroyed when the invocation completes.
ccc)
Check disposer method.
org.jboss.cdi.tck.tests.context.dependent
DependentContextTest.testDependentsDestroyedWhenDisposerMethodCompletes()
github
ccd)
Check observer method.
org.jboss.cdi.tck.tests.context.dependent
DependentContextTest.testDependentsDestroyedWhenObserverMethodEvaluationCompletes()
github
org.jboss.cdi.tck.tests.context.dependent.instance
BuiltinInstanceDependentObjectTest.testInstanceDependentObject()
github
The container must ensure that all @Dependent scoped contextual instances injected into method or constructor parameters that are annotated with @TransientReference are destroyed when the invocation completes.
fa)
Test producer method parameter.
org.jboss.cdi.tck.tests.context.dependent.transientreference
DependentTransientReferenceDestroyedTest.testProducerMethod()
github
fb)
Test initializer method parameter.
org.jboss.cdi.tck.tests.context.dependent.transientreference
DependentTransientReferenceDestroyedTest.testConstructorAndInitializer()
github
fc)
Test bean constructor parameter.
org.jboss.cdi.tck.tests.context.dependent.transientreference
DependentTransientReferenceDestroyedTest.testConstructorAndInitializer()
github
The container must ensure that any @Dependent scoped contextual instance created to receive a producer method, producer field, disposer method or observer method invocation is destroyed when the invocation completes.
ddd)
Check producer method.
org.jboss.cdi.tck.tests.context.dependent
DependentContextTest.testDependentsDestroyedWhenProducerMethodCompletes()
github
dde)
Check producer field.
org.jboss.cdi.tck.tests.context.dependent
DependentContextTest.testDependentsDestroyedWhenProducerFieldCompletes()
github
ddf)
Check disposer method.
org.jboss.cdi.tck.tests.context.dependent
DependentContextTest.testDependentsDestroyedWhenDisposerMethodCompletes()
github
ddg)
Check observer method.
org.jboss.cdi.tck.tests.context.dependent
DependentContextTest.testDependentsDestroyedWhenObserverMethodEvaluationCompletes()
github
eee)
The container must ensure that all @Dependent scoped contextual instances created during evaluation of a Unified EL expression in a JSP or JSF page are destroyed when the evaluation completes.
org.jboss.cdi.tck.tests.context.dependent
DependentContextTest.testDependentsDestroyedWhenElEvaluationCompletes()
github
e)
The container is permitted to destroy any @Dependent scoped contextual instance at any time if the instance is no longer referenced by the application (excluding weak, soft and phantom references).
a)
Suppose a Unified EL expression in a JSF or JSP page refers to a bean with scope @Dependent by its EL name. Each time the EL expression is evaluated the bean is instantiated at most once, and the resulting instance is reused for every appearance of the EL name, and the resulting instance is destroyed when the evaluation completes.
org.jboss.cdi.tck.tests.lookup.el
ResolutionByNameTest.testQualifiedNameLookup()
github
b)
Portable extensions that integrate with the container via Unified EL should also ensure that these rules are enforced.
a)
From time to time, the container must obtain an active context object for a certain scope type. The container must search for an active instance of Context associated with the scope type. If no active context object exists for the scope type, the container throws a ContextNotActiveException.
org.jboss.cdi.tck.tests.context
ContextTest.testGetContextWithNoRegisteredContextsFails()
github
b)
If more than one active context object exists for the given scope type, the container must throw an IllegalStateException.
org.jboss.cdi.tck.tests.context
ContextTest.testGetContextWithTooManyActiveContextsFails()
github
a)
From time to time, the container must obtain a contextual instance of a bean. The container must obtain the active context object for the bean scope, then obtain an instance of the bean by calling Context.get(), passing the Bean instance representing the bean and an instance of CreationalContext.
org.jboss.cdi.tck.tests.lookup.el
ResolutionByNameTest.testContextCreatesNewInstanceForInjection()
github
b)
From time to time, the container attempts to obtain a contextual instance of a bean that already exists, without creating a new contextual instance. The container must determine if the scope of the bean is active and if it is, obtain the active context object for the bean scope, then attempt to obtain an instance of the bean by calling Context.get(), passing the Bean instance representing the bean without passing any instance of CreationalContext.
org.jboss.cdi.tck.tests.lookup.el
ResolutionByNameTest.testContextCreatesNewInstanceForInjection()
github
c)
If the scope is not active, or if Context.get() returns a null value, there is no contextual instance that already exists.
e)
For a custom implementation of the Bean interface defined in Section 11.1, "The Bean interface", the container calls getScope() to determine the bean scope.
org.jboss.cdi.tck.tests.definition.bean.custom
CustomBeanImplementationTest.testGetScopeTypeCalled()
github
aa)
Contextual references must be obtained with a given CreationalContext, allowing any instance of scope @Dependent that is created to be later destroyed.
org.jboss.cdi.tck.tests.implementation.simple.lifecycle
SimpleBeanLifecycleTest.testContextualDestroyDisposesWhenNecessary()
github
a)
If the bean has a normal scope and the given bean type cannot be proxied by the container, as defined in Section 5.4.1, "Unproxyable bean types", the container throws an UnproxyableResolutionException.
org.jboss.cdi.tck.tests.implementation.simple.lifecycle.unproxyable
UnproxyableManagedBeanTest.testNormalScopedUnproxyableBeanResolution()
github
b)
If the bean has a normal scope, then the contextual reference for the bean is a client proxy, as defined in Section 5.4, "Client proxies", created by the container, that implements the given bean type and all bean types of the bean which are Java interfaces.
org.jboss.cdi.tck.tests.implementation.enterprise.lifecycle
EnterpriseBeanLifecycleTest.testCreateSFSB()
github
c)
If the bean has a pseudo-scope, the container must obtain a contextual instance of the bean. If the bean has scope @Dependent, the container must associate it with the CreationalContext.
org.jboss.cdi.tck.tests.implementation.simple.lifecycle
SimpleBeanLifecycleTest.testContextualDestroyDisposesWhenNecessary()
github
The container must ensure that every injection point of type InjectionPoint and qualifier @Default of any dependent object instantiated during this process receives an instance of InjectionPoint representing the injection point into which the dependent object will be injected, or a null value if it is not being injected into any injection point.
da)
Test an injected dependent object.
org.jboss.cdi.tck.tests.lookup.injectionpoint
InjectionPointTest.testGetBean()
github
db)
Test a non-injected dependent object.
org.jboss.cdi.tck.tests.lookup.injectionpoint
InjectionPointTest.testNullInjectionPointInjectedIntoNonInjectedObject()
github
a)
Any reference to a bean with a normal scope is valid as long as the application maintains a hard reference to it. However, it may only be invoked when the context associated with the normal scope is active. If it is invoked when the context is inactive, a ContextNotActiveException is thrown by the container.
org.jboss.cdi.tck.tests.lookup.clientProxy
ClientProxyTest.testInactiveScope()
github
b)
Any reference to a bean with a pseudo-scope (such as @Dependent) is valid until the bean instance to which it refers is destroyed. It may be invoked even if the context associated with the pseudo-scope is not active. If the application invokes a method of a reference to an instance that has already been destroyed, the behavior is undefined.
a)
From time to time, the container must obtain an injectable reference for an injection point. The container must identify a bean according to the rules defined in Section 5.2, "Typesafe resolution" and resolving ambiguities according to Section 5.2.1, "Unsatisfied and ambiguous dependencies", then obtain a contextual reference for this bean and the type of the injection point according to Section 6.5.3, "Contextual reference for a bean".
org.jboss.cdi.tck.tests.lookup.injectionpoint
InjectableReferenceTest.testGetInjectableReferenceOnBeanManager()
github
b)
For certain combinations of scopes, the container is permitted to optimize the procedure for obtaining an injectable reference for an injection point - the container is permitted to directly inject a contextual instance of the bean, as defined in Section 6.5.2, "Contextual instance of a bean", and if an incompletely initialized instance of the bean is registered with the current CreationalContext, as defined in Section 6.1, "The Contextual interface", the container is permitted to directly inject this instance.
a)
Injectable references to a bean must respect the rules of contextual reference validity, with the following exceptions - a reference to a bean injected into a field, bean constructor or initializer method is only valid until the object into which it was injected is destroyed, a reference to a bean injected into a producer method is only valid until the producer method bean instance that is being produced is destroyed, and a reference to a bean injected into a disposer method or observer method is only valid until the invocation of the method completes.
No tests exist for this assertion
b)
The application should not invoke a method of an invalid injected reference. If the application invokes a method of an invalid injected reference, the behavior is undefined.
The following assertion is not made explicitly by the spec, however it is implied a)
Test that passivation occurs.
org.jboss.cdi.tck.tests.context.passivating
PassivatingContextTest.testManagedBeanWithSerializableInterceptorClassOK()
github
PassivatingContextTest.testPassivationOccurs()
github
As defined by the EJB specification, a stateful session bean is passivation capable if interceptors and decorators of the bean are passivation capable, and the stateful session bean does not have the passivationCapable flag set to false.
aa)
Test a passivation capable stateful session bean with passivationCapable flag set to true.
org.jboss.cdi.tck.tests.context.passivating.enterprise.valid
StatefulSessionBeanXmlDescriptorTest.testDeployment()
github
StatefulSessionBeanTest.testDeployment()
github
ab)
Test a stateful session bean with passivationCapable flag set to false.
org.jboss.cdi.tck.tests.context.passivating.enterprise.invalid
StatefulSessionBeanTest.testDeployment()
github
StatefulSessionBeanXmlDescriptorTest.testDeployment()
github
i)
As defined by the EJB specification, a stateless session bean or a singleton session bean is not passivation capable.
A managed bean is passivation capable if and only if the bean class is serializable and all interceptors and decorators of the bean are passivation capable.
ba)
Tests with a serializable bean class.
org.jboss.cdi.tck.tests.context.passivating
PassivatingContextTest.testManagedBeanWithSerializableImplementationClassOK()
github
bb)
Tests with a serializable interceptor.
org.jboss.cdi.tck.tests.context.passivating
PassivatingContextTest.testManagedBeanWithSerializableInterceptorClassOK()
github
bc)
Tests with a serializable decorator.
org.jboss.cdi.tck.tests.context.passivating
PassivatingContextTest.testManagedBeanWithSerializableDecoratorOK()
github
c)
A producer method is passivation capable if and only if it never returns a value which is not passivation capable at runtime.
d)
A producer field is passivation capable if and only if it never refers to a value which is not passivation capable at runtime.
A producer method is passivation capable if and only if it never returns a value which is not passivation capable at runtime.
caa)
Test that a producer method with a primitive return type is passivation capable.
A test exists for this untestable assertion!
ca)
Test that a producer method with a serializable return type is passivation capable.
org.jboss.cdi.tck.tests.context.passivating
PassivatingContextTest.testPassivationCapableProducerMethodIsOK()
github
A producer field is passivation capable if and only if it never refers to a value which is not passivation capable at runtime.
daa)
Test that a producer field with a primitive type is passivation capable.
org.jboss.cdi.tck.tests.context.passivating.producer
ProducerWithPrimitiveFieldTypePassivationTest.testProducerFieldWithPrimitiveType()
github
da)
Test that a producer field with a serializable type is passivation capable.
org.jboss.cdi.tck.tests.context.passivating
PassivatingContextTest.testPassivationCapableProducerFieldIsOK()
github
ea)
A custom implementation of Bean is passivation capable if it implements the interface PassivationCapable.
org.jboss.cdi.tck.tests.definition.bean.custom
CustomBeanImplementationTest.testCustomBeanIsPassivationCapable()
github
f)
An implementation of Contextual that is not a bean is passivation capable if it implements both PassivationCapable and Serializable.
No tests exist for this assertion
g)
The getId() method of the PassivationCapable implementation must return a value that uniquely identifies the instance of Bean or Contextual.
h)
The getId() method of the PassivationCapable implementation must return a value that uniquely identifies the instance of Bean or Contextual. It is recommended that the string contain the package name of the class that implements Bean or Contextual.
a)
An injection point of a bean is passivation capable if the injection point is a transient field.
org.jboss.cdi.tck.tests.context.passivating
PassivatingContextTest.testBeanWithNonSerializableImplementationInjectedIntoTransientFieldOK()
github
b)
An injection point of a bean is passivation capable if the injection point is a non-transient field which resolves to a bean that is a passivation capable dependency.
org.jboss.cdi.tck.tests.context.passivating.injection.point
PassivationCapableInjectionPointTest.testPassivationCapableInjectionPoints()
github
org.jboss.cdi.tck.tests.context.passivating.broken.field
NonPassivatingInjectedFieldTest.testBeanWithNonSerializableImplementationInjectedIntoNonTransientFieldOfBeanWithPassivatingScopeFails()
github
c)
An injection point of a bean is passivation capable if the injection point is a bean constructor parameter which is annotated with @TransientReference.
org.jboss.cdi.tck.tests.context.passivating.transientreference
TransientReferenceParameterTest.testParamInjectionPoints()
github
d)
An injection point of a bean is passivation capable if the injection point is a bean constructor parameter which resolves to a bean that is a passivation capable dependency.
org.jboss.cdi.tck.tests.context.passivating.injection.point
PassivationCapableInjectionPointTest.testPassivationCapableInjectionPoints()
github
org.jboss.cdi.tck.tests.context.passivating.broken.constructor
NonPassivatingConstructorParamTest.testBeanWithNonSerializableImplementationInjectedIntoNonTransientFieldOfBeanWithPassivatingScopeFails()
github
e)
An injection point of a bean is passivation capable if the injection point is a method parameter which is annotated with @TransientReference.
org.jboss.cdi.tck.tests.context.passivating.transientreference
TransientReferenceParameterTest.testParamInjectionPoints()
github
f)
An injection point of a bean is passivation capable if the injection point is a method parameter which resolves to a bean that is a passivation capable dependency.
org.jboss.cdi.tck.tests.context.passivating.broken.initializer
NonPassivatingInitParamTest.testBeanWithNonSerializableImplementationInjectedIntoNonTransientFieldOfBeanWithPassivatingScopeFails()
github
org.jboss.cdi.tck.tests.context.passivating.injection.point
PassivationCapableInjectionPointTest.testPassivationCapableInjectionPoints()
github
aa)
The container must guarantee that all stateless session beans are passivation capable dependencies.
org.jboss.cdi.tck.tests.context.passivating.dependency.sessionbean
SessionBeanPassivationDependencyTest.testStateless()
github
ab)
The container must guarantee that all singleton session beans are passivation capable dependencies.
org.jboss.cdi.tck.tests.context.passivating.dependency.sessionbean
SessionBeanPassivationDependencyTest.testSingleton()
github
ac)
The container must guarantee that all passivation capable stateful session beans are passivation capable dependencies.
org.jboss.cdi.tck.tests.implementation.enterprise.lifecycle
EnterpriseBeanLifecycleTest.testSerializeSFSB()
github
b)
The container must guarantee that all beans with normal scope are passivation capable dependencies.
org.jboss.cdi.tck.tests.implementation.simple.lifecycle
SimpleBeanLifecycleTest.testSerializeRequestScoped()
github
SimpleBeanLifecycleTest.testSerializeSessionScoped()
github
c)
The container must guarantee that all passivation capable beans with scope @Dependent are passivation capable dependencies.
org.jboss.cdi.tck.tests.context.passivating
PassivatingContextTest.testInjectionOfDependentPrimitiveProductIntoNormalBean()
github
PassivatingContextTest.testInjectionOfDependentSerializableProductIntoNormalBean()
github
The container must guarantee that all resources are passivation capable dependencies.
da)
Test resource for a Java EE resource.
org.jboss.cdi.tck.tests.context.passivating.dependency.resource.persistence
DataSourcePassivationDependencyTest.testDataSource()
github
db)
Test resource for a persistence unit.
org.jboss.cdi.tck.tests.context.passivating.dependency.resource.persistence
ResourcePassivationDependencyTest.testPersistenceUnitAndContext()
github
dc)
Test resource for a persistence context.
org.jboss.cdi.tck.tests.context.passivating.dependency.resource.persistence
ResourcePassivationDependencyTest.testPersistenceUnitAndContext()
github
dd)
Test resource for a remote EJB.
org.jboss.cdi.tck.tests.context.passivating.dependency.resource.remote
ResourcePassivationDependencyTest.testRemoteSessionBean()
github
de)
Test resource for a web service.
org.jboss.cdi.tck.tests.context.passivating.dependency.resource.webservice
WebResourcePassivationCapableDependencyTest.testWebResourcePassivated()
github
The container must guarantee that the built-in beans of type Instance, Event, InjectionPoint and BeanManager are passivation capable dependencies.
ea)
Test built-in Instance.
org.jboss.cdi.tck.tests.context.passivating.dependency.builtin
BuiltinBeanPassivationDependencyTest.testInstance()
github
eb)
Test built-in Event.
org.jboss.cdi.tck.tests.event.implicit
ImplicitEventTest.testImplicitEventIsPassivationCapable()
github
ec)
Test built-in InjectionPoint.
org.jboss.cdi.tck.tests.context.passivating.dependency.builtin
BuiltinBeanPassivationDependencyTest.testInjectionPoint()
github
ed)
Test built-in BeanManager.
org.jboss.cdi.tck.tests.context.passivating.dependency.builtin
BuiltinBeanPassivationDependencyTest.testBeanManager()
github
fa)
A custom implementation of Bean is a passivation capable dependency if it implements PassivationCapable.
org.jboss.cdi.tck.tests.definition.bean.custom
CustomBeanImplementationTest.testCustomBeanIsPassivationCapableDependency()
github
A passivating scope requires that beans with the scope are passivation capable, and implementations of Contextual passed to any context object for the scope are passivation capable.
a)
Test that a bean with the scope is passivation capable.
org.jboss.cdi.tck.tests.context.passivating.broken
NonPassivationManagedBeanHasPassivatingScopeTest.testSimpleWebBeanWithNonSerializableImplementationClassFails()
github
org.jboss.cdi.tck.tests.context.passivating
PassivatingContextTest.testManagedBeanWithSerializableImplementationClassOK()
github
b)
Test that an implementation of Contextual passed to the context object for the scope is passivation capable.
b)
Passivating scopes must be explicitly declared @NormalScope(passivating=true).
If a managed bean which declares a passivating scope, a stateful session bean which declares a passivating scope, or a built-in bean is not passivation capable then the container automatically detects the problem and treats it as a deployment problem.
a)
Test managed bean.
org.jboss.cdi.tck.tests.extensions.lifecycle.bbd.broken.passivatingScope
AddingPassivatingScopeTest.testAddingScopeType()
github
org.jboss.cdi.tck.tests.extensions.lifecycle.processBeanAttributes.broken.passivation
PassivationCapabilityErrorTest.test()
github
org.jboss.cdi.tck.tests.context.passivating.broken
NonPassivationManagedBeanHasPassivatingScopeTest.testSimpleWebBeanWithNonSerializableImplementationClassFails()
github
b)
Test stateful session bean.
org.jboss.cdi.tck.tests.context.passivating.broken.decorator.enterprise
EnterpriseBeanWithNonPassivatingDecoratorTest.testEnterpriseBeanWithNonPassivatingDecoratorFails()
github
org.jboss.cdi.tck.tests.context.passivating.broken.interceptor.enterprise
EnterpriseBeanWithNonPassivatingInterceptorTest.testEnterpriseBeanWithNonPassivatingDecoratorFails()
github
If a managed bean which declares a passivating scope, a stateful session bean which declares a passivating scope, or a built-in bean has has an injection point that is not passivation capable, then the container automatically detects the problem and treats it as a deployment problem.
aa)
Test non-transient injected field.
org.jboss.cdi.tck.tests.extensions.lifecycle.processBeanAttributes.broken.passivation
PassivationCapableDependencyErrorTest.test()
github
org.jboss.cdi.tck.tests.context.passivating.broken.field
NonPassivatingInjectedFieldTest.testBeanWithNonSerializableImplementationInjectedIntoNonTransientFieldOfBeanWithPassivatingScopeFails()
github
org.jboss.cdi.tck.tests.context.passivating.broken.enterprise
NonPassivationCapableEjbWithPassivatingScopeTest.testDeployment()
github
ab)
Test transient injected field.
org.jboss.cdi.tck.tests.context.passivating
PassivatingContextTest.testBeanWithNonSerializableImplementationInjectedIntoTransientFieldOK()
github
ac)
Test bean constructor parameter which is not annotated with @TransientReference.
org.jboss.cdi.tck.tests.context.passivating.broken.constructor
NonPassivatingConstructorParamTest.testBeanWithNonSerializableImplementationInjectedIntoNonTransientFieldOfBeanWithPassivatingScopeFails()
github
ad)
Test bean constructor parameter which is annotated with @TransientReference.
org.jboss.cdi.tck.tests.context.passivating.transientreference
TransientReferenceParameterTest.testParamInjectionPoints()
github
ae)
Test initializer method parameter which is not annotated with @TransientReference.
org.jboss.cdi.tck.tests.context.passivating.broken.initializer
NonPassivatingInitParamTest.testBeanWithNonSerializableImplementationInjectedIntoNonTransientFieldOfBeanWithPassivatingScopeFails()
github
af)
Test initializer method parameter which is annotated with @TransientReference.
org.jboss.cdi.tck.tests.context.passivating.transientreference
TransientReferenceParameterTest.testParamInjectionPoints()
github
ag)
If a managed bean which declares a passivating scope, a stateful session bean which declares a passivating scope, or a built-in bean has a non-transient injected field, bean constructor parameter or initializer method parameter that resolves to a bean that is not a dependent scoped bean and that is not a passivation capable dependency then the container automatically detects the problem and treats it as a deployment problem.
If a managed bean which declares a passivating scope, a stateful session bean which declares a passivating scope, or a built-in bean has an interceptor or decorator with a non-transient injected field that does not resolve to a passivation capable dependency, then the container automatically detects the problem and treats it as a deployment problem.
aac)
Test interceptor with a non-transient injected field that does not resolve to a passivation capable dependency.
org.jboss.cdi.tck.tests.context.passivating.broken.interceptor.field
PassivationCapableBeanWithNonPassivatingInterceptorTest.testPassivationCapableBeanWithNonPassivatingInterceptorFails()
github
aaf)
Test decorator with a non-transient injected field that does not resolve to a passivation capable dependency.
org.jboss.cdi.tck.tests.context.passivating.broken.decorator.field
DecoratorWithNonPassivatingInjectedFieldTest.testPassivationCapableBeanWithNonPassivatingDecoratorInjectedFieldFails()
github
ba)
If a stateful session bean which declares a passivating scope has a non-transient injected field that does not resolve to a passivation capable dependency, then the container automatically detects the problem and treats it as a deployment problem.
org.jboss.cdi.tck.tests.context.passivating.broken.enterprise.field
UnserializableSimpleInjectedIntoPassivatingEnterpriseBeanTest.testSimpleDependentWebBeanWithNonSerializableImplementationInjectedIntoStatefulSessionBeanFails()
github
If a stateful session bean has an interceptor or decorator with a non-transient injected field that does not resolve to a passivation capable dependency, then the container automatically detects the problem and treats it as a deployment problem.
bda)
Test an interceptor with an injected field.
org.jboss.cdi.tck.tests.context.passivating.broken.interceptor.enterprise.field
EnterpriseBeanWithNonPassivatingInjectedFieldInInterceptorTest.testSessionBeanWithNonPassivatingInjectedFieldInInterceptorFails()
github
bdd)
Test a decorator with an injected field.
org.jboss.cdi.tck.tests.context.passivating.broken.decorator.enterprise.field
EnterpriseBeanWithNonPassivatingInjectedFieldInDecoratorTest.testSessionBeanWithNonPassivatingInjectedFieldInDecoratorFails()
github
ca)
If a producer method declares a passivating scope and has a return type that is declared final and does not implement or extend Serializable then the container automatically detects the problem and treats it as a deployment problem.
org.jboss.cdi.tck.tests.context.passivating.broken.producer.method
NonPassivationCapableProducerMethodTest.testNonPassivationCapableProducerMethodNotOk()
github
ea)
If a producer method declares a passivating scope and doesn't only return Serializable types at runtime, then the container must throw an IllegalProductException.
org.jboss.cdi.tck.tests.context.passivating
PassivatingContextTest.testPassivatingScopeProducerMethodReturnsUnserializableObjectNotOk()
github
d)
If a producer field declares a passivating scope and has a type that is declared final and does not implement or extend Serializable then the container automatically detects the problem and treats it as a deployment problem.
org.jboss.cdi.tck.tests.context.passivating.broken.producer.field
NonPassivationCapableProducerFieldTest.testNonPassivationCapableProducerFieldNotOk()
github
eb)
If a producer field declares a passivating scope and doesn't only contain Serializable values at runtime then the container must throw anIllegalProductException.
org.jboss.cdi.tck.tests.context.passivating
PassivatingContextTest.testNonSerializableProducerFieldDeclaredPassivatingThrowsIllegalProductException()
github
If a producer method or field of scope @Dependent returns an unserializable object for injection into an injection point that requires a passivation capable dependency, the container must throw an IllegalProductException
fab)
Test for a runtime exception with a producer method.
org.jboss.cdi.tck.tests.context.passivating.broken.producer.method.dependent
EnterpriseBeanWithIllegalDependencyTest.test()
github
fbb)
Test for a runtime exception with a producer field.
org.jboss.cdi.tck.tests.context.passivating.broken.producer.field.dependent
EnterpriseBeanWithIllegalDependencyTest.test()
github
For a custom implementation of Bean, the container calls getInjectionPoints() to determine the injection points, and InjectionPoint.isTransient() to determine whether the injected point is a transient field.
ga)
Test calling getInjectionPoints().
org.jboss.cdi.tck.tests.definition.bean.custom
CustomBeanImplementationTest.testGetInjectionPointsCalled()
github
gb)
Test calling InjectionPoint.isTransient().
org.jboss.cdi.tck.tests.definition.bean.custom
CustomBeanImplementationTest.testGetInjectionPointsCalled()
github
If a bean which declares a passivating scope type has a decorator or interceptor which is not a passivation capable dependency, the container automatically detects the problem and treats it as a deployment problem.
ha)
Test a bean with decorator which is not a passivation capable dependency.
org.jboss.cdi.tck.tests.context.passivating.broken.decorator
ManagedBeanWithNonPassivatingDecoratorTest.testManagedBeanWithNonPassivatingDecoratorFails()
github
hb)
Test a stateful session bean with decorator which is not a passivation capable dependency.
org.jboss.cdi.tck.tests.context.passivating.broken.decorator.enterprise
EnterpriseBeanWithNonPassivatingDecoratorTest.testEnterpriseBeanWithNonPassivatingDecoratorFails()
github
hc)
Test a bean with interceptor which is not a passivation capable dependency.
org.jboss.cdi.tck.tests.context.passivating.broken.interceptor
ManagedBeanWithNonSerializableInterceptorClassTest.testManagedBeanWithNonSerializableInterceptorClassNotOK()
github
hd)
Test a stateful session bean with interceptor which is not a passivation capable dependency.
org.jboss.cdi.tck.tests.context.passivating.broken.interceptor.enterprise
EnterpriseBeanWithNonPassivatingInterceptorTest.testEnterpriseBeanWithNonPassivatingDecoratorFails()
github
The following assertion is not made explicitly by the spec, however it is implied j)
Stateful session bean which does not declare a passivating scope needn't be passivation capable.
org.jboss.cdi.tck.tests.context.passivating.enterprise
NonPassivationCapableSessionBeanTest.testDeployment()
github
The following assertion is not made explicitly by the spec, however it is implied k)
Passivation capable interceptor with non-passivation capable dependencies is allowed unless it intercepts a bean declaring passivation scope.
org.jboss.cdi.tck.tests.context.passivating.validation
InterceptorWithNonPassivationCapableDependenciesTest.test()
github
The following assertion is not made explicitly by the spec, however it is implied l)
Passivation capable decorator with non-passivation capable dependencies is allowed unless it decorates a bean declaring passivation scope.
org.jboss.cdi.tck.tests.context.passivating.validation
DecoratorWithNonPassivationCapableDependenciesTest.testDeploymentValid()
github
The built-in request and application context objects are active during servlet, web service and EJB invocations, and the built in session and request context objects are active during servlet and web service invocations. For other kinds of invocations, a portable extension may define a custom context object for any or all of the built-in scopes.
The request scope is active during the service() method of any servlet in the web application, during the doFilter() method of any servlet filter and when the container calls any ServletRequestListener or AsyncListener.
aa)
Check service() method.
org.jboss.cdi.tck.tests.context.request
RequestContextTest.testRequestScopeActiveDuringServiceMethod()
github
ab)
Check doFilter() method.
org.jboss.cdi.tck.tests.context.request
RequestContextTest.testRequestScopeActiveDuringServletFilter()
github
ac)
Check ServletRequestListener.
org.jboss.cdi.tck.tests.context.request
RequestContextTest.testRequestScopeActiveDuringServiceMethod()
github
RequestContextTest.testRequestScopeActiveDuringServletFilter()
github
ad)
Check AsyncListener.
org.jboss.cdi.tck.tests.context.request.async
RequestContextAsyncListenerTest.testRequestContextActiveOnComplete()
github
RequestContextAsyncListenerTest.testRequestContextActiveOnTimeout()
github
RequestContextAsyncListenerTest.testRequestContextActiveOnError()
github
RequestContextAsyncListenerTest.testRequestContextActiveOnStartAsync()
github
c)
The request scope is active during any Java EE web service invocation.
org.jboss.cdi.tck.tests.context.request.ws
RequestContextTest.testRequestScopeActiveDuringWebServiceInvocation()
github
org.jboss.cdi.tck.tests.context.request.jaxrs
RequestContextTest.testRequestScopeActiveDuringWebServiceInvocation()
github
The request scope is active during any remote method invocation of any EJB, during any asynchronous method invocation of any EJB, during any call to an EJB timeout method and during message delivery to any EJB message-driven bean.
ga)
Test the request scope is active during a remote method invocation of any EJB.
org.jboss.cdi.tck.tests.context.request.ejb
EJBRequestContextTest.testRequestScopeActiveDuringRemoteCallToEjb()
github
gb)
Test the request scope is active during any asynchronous method invocation of any EJB.
org.jboss.cdi.tck.tests.context.request.ejb
EJBRequestContextTest.testRequestScopeActiveDuringAsyncCallToEjb()
github
gc)
Test the request scope is active during any call to an EJB timeout method.
org.jboss.cdi.tck.tests.context.request.ejb
EJBRequestContextTest.testRequestScopeActiveDuringCallToEjbTimeoutMethod()
github
gd)
Test the request scope is active during message delivery to any EJB message-driven bean.
org.jboss.cdi.tck.tests.context.jms
MessageDrivenBeanContextTest.testRequestScopeActiveDuringMessageDelivery()
github
e)
The request scope is active during @PostConstruct callback of any bean.
org.jboss.cdi.tck.tests.context.request.postconstruct
SimpleBeanPostConstructCallbackTest.testSimplePostConstructCallback()
github
EagerSingletonPostConstructCallbackTest.testEagerSingletonPostConstructCallback()
github
The request context is destroyed at the end of the servlet request, after the service() method and all doFilter() methods, and all requestDestroyed() and onComplete() notifications return.
ba)
Check service() method.
org.jboss.cdi.tck.tests.context.request
RequestContextTest.testRequestScopeIsDestroyedAfterServletRequest()
github
bb)
Check doFilter() methods.
org.jboss.cdi.tck.tests.context.request
RequestContextTest.testRequestScopeIsDestroyedAfterServletRequest()
github
bc)
Check requestDestroyed() notification.
org.jboss.cdi.tck.tests.context.request
RequestContextTest.testRequestScopeIsDestroyedAfterServletRequest()
github
bd)
Check onComplete() notification.
org.jboss.cdi.tck.tests.context.request.async
RequestContextAsyncListenerTest.testRequestContextActiveOnComplete()
github
d)
The request context is destroyed after the web service invocation completes.
org.jboss.cdi.tck.tests.context.request.ws
RequestContextTest.testRequestScopeActiveDuringWebServiceInvocation()
github
org.jboss.cdi.tck.tests.context.request.jaxrs
RequestContextTest.testRequestScopeActiveDuringWebServiceInvocation()
github
The request context is destroyed after the EJB remote method invocation, asynchronous method invocation, timeout or message delivery completes.
ha)
Test the request context is destroyed after an EJB remote method invocation.
org.jboss.cdi.tck.tests.context.request.ejb
EJBRequestContextTest.testRequestScopeActiveDuringRemoteCallToEjb()
github
hb)
Test the request context is destroyed after an EJB asynchronous method invocation.
org.jboss.cdi.tck.tests.context.request.ejb
EJBRequestContextTest.testRequestScopeActiveDuringAsyncCallToEjb()
github
hc)
Test the request context is destroyed after the EJB timeout.
org.jboss.cdi.tck.tests.context.request.ejb
EJBRequestContextTest.testRequestScopeDestroyedAfterCallToEjbTimeoutMethod()
github
hd)
Test the request context is destroyed after the message delivery completes.
org.jboss.cdi.tck.tests.context.jms
MessageDrivenBeanContextTest.testRequestScopeActiveDuringMessageDelivery()
github
f)
The request context is destroyed after the after the @PostConstruct callback completes, if it did not already exist when the @PostConstruct callback occurred.
org.jboss.cdi.tck.tests.context.request.postconstruct
SimpleBeanPostConstructCallbackTest.testSimplePostConstructCallback()
github
EagerSingletonPostConstructCallbackTest.testEagerSingletonPostConstructCallback()
github
An event with qualifier @Initialized(RequestScoped.class) is fired when the request context is initialized and an event with qualifier @Destroyed(RequestScoped.class) when the request context is destroyed.
ja)
The event payload is the ServletRequest if the context is initialized or destroyed due to a servlet request.
org.jboss.cdi.tck.tests.deployment.shutdown
ApplicationShutdownLifecycleTest.testShutdown()
github
org.jboss.cdi.tck.tests.context.request.event
RequestScopeEventTest.test()
github
jb)
The event payload is the ServletRequest if the context is initialized or destroyed due to a web service invocation.
org.jboss.cdi.tck.tests.context.request.jaxrs
RequestContextTest.testRequestScopeActiveDuringWebServiceInvocation()
github
jc)
The event payload is the java.lang.Object if the context is initialized or destroyed due to a EJB remote method invocation.
org.jboss.cdi.tck.tests.context.request.event.remote
RequestScopeEventRemoteTest.testRequestScopeActiveDuringRemoteCallToEjb()
github
jd)
The event payload is the java.lang.Object if the context is initialized or destroyed due to a EJB asynchronous method invocation.
org.jboss.cdi.tck.tests.context.request.event.async
RequestScopeEventAsyncTest.testEventsFired()
github
je)
The event payload is the java.lang.Object if the context is initialized or destroyed due to a EJB timeout method invocation.
org.jboss.cdi.tck.tests.context.request.event.timeout
RequestScopeEventTimeoutTest.testEventsFired()
github
jf)
The event payload is the java.lang.Object if the context is initialized or destroyed due to a message delivery to any EJB message-driven bean.
org.jboss.cdi.tck.tests.context.request.event.jms
RequestScopeEventMessageDeliveryTest.testEventsFired()
github
aa)
The session scope is active during the service() method of any servlet in the web application.
org.jboss.cdi.tck.tests.context.session
SessionContextTest.testSessionScopeActiveDuringServiceMethod()
github
ab)
The session scope is active during the doFilter() method of any servlet filter.
org.jboss.cdi.tck.tests.context.session
SessionContextTest.testSessionScopeActiveDuringDoFilterMethod()
github
ac)
The session scope is active when the container calls any HttpSessionListener.
org.jboss.cdi.tck.tests.context.session.listener.shutdown
SessionContextListenerShutdownTest.testApplicationContextDestroyed()
github
org.jboss.cdi.tck.tests.context.session.listener
SessionContextHttpSessionListenerTest.testSessionScopeActiveDuringHttpSessionListenerCall()
github
SessionContextHttpSessionListenerTest.testSessionScopeActiveDuringHttpSessionListenerCallOnTimeout()
github
ad)
The session scope is active when the container calls any AsyncListener.
org.jboss.cdi.tck.tests.context.session.async
SessionContextAsyncListenerTest.testSessionContextActiveOnComplete()
github
SessionContextAsyncListenerTest.testSessionContextActiveOnTimeout()
github
SessionContextAsyncListenerTest.testSessionContextActiveOnError()
github
SessionContextAsyncListenerTest.testSessionContextActiveOnStartAsync()
github
ae)
The session scope is active when the container calls any ServletRequestListener.
org.jboss.cdi.tck.tests.context.session
SessionContextTest.testSessionScopeActiveDuringServiceMethod()
github
SessionContextTest.testSessionScopeActiveDuringDoFilterMethod()
github
org.jboss.cdi.tck.tests.context.session.listener
SessionContextServletRequestListenerTest.testSessionScopeActiveDuringServletRequestListenerCall()
github
b)
The session context is shared between all servlet requests that occur in the same HTTP servlet session.
org.jboss.cdi.tck.tests.context.session
SessionContextTest.testSessionContextSharedBetweenServletRequestsInSameHttpSession()
github
ca)
The session context is destroyed at the very end of any request in which invalidate() was called, after all filters and ServletRequestListeners have been called.
org.jboss.cdi.tck.tests.context.session.event
SessionScopeEventTest.test()
github
org.jboss.cdi.tck.tests.context.session
SessionContextTest.testSessionContextDestroyedWhenHttpSessionInvalidated()
github
cb)
The session context is destroyed when the HTTPSession times out, after all HttpSessionListeners have been called.
org.jboss.cdi.tck.tests.context.session
SessionContextTest.testSessionContextDestroyedWhenHttpSessionTimesOut()
github
da)
An event with the HttpSession as payload and with qualifier @Initialized(SessionScoped.class) is fired when the session context is initialized.
org.jboss.cdi.tck.tests.context.session.event
SessionScopeEventTest.test()
github
db)
An event with the HttpSession as payload and with qualifier @Destroyed(SessionScoped.class) is fired when the session context is destroyed.
org.jboss.cdi.tck.tests.context.session.event
SessionScopeEventTest.test()
github
The application scope is active during the service() method of any servlet in the web application, during the doFilter() method of any servlet filter and when the container calls any ServletContextListener, HttpSessionListener, AsyncListener or ServletRequestListener.
aa)
Check service method
org.jboss.cdi.tck.tests.context.application
ApplicationContextTest.testApplicationScopeActiveDuringServiceMethod()
github
ab)
Check filter.
org.jboss.cdi.tck.tests.context.application
ApplicationContextTest.testApplicationScopeActiveDuringDoFilterMethod()
github
ac)
Check ServletContextListener.
org.jboss.cdi.tck.tests.context.application
ApplicationContextTest.testApplicationScopeActiveDuringServletContextListenerInvocation()
github
ad)
Check HttpSessionListener
org.jboss.cdi.tck.tests.context.application
ApplicationContextTest.testApplicationScopeActiveDuringHttpSessionListenerInvocation()
github
ae)
Check AsyncListener
org.jboss.cdi.tck.tests.context.application.async
ApplicationContextAsyncListenerTest.testApplicationContextActiveOnComplete()
github
ApplicationContextAsyncListenerTest.testApplicationContextActiveOnTimeout()
github
ApplicationContextAsyncListenerTest.testApplicationContextActiveOnError()
github
ApplicationContextAsyncListenerTest.testApplicationContextActiveOnStartAsync()
github
af)
Check ServletRequestListener
org.jboss.cdi.tck.tests.context.application
ApplicationContextTest.testApplicationScopeActiveDuringServletRequestListenerInvocation()
github
b)
The application scope is active during any Java EE web service invocation.
org.jboss.cdi.tck.tests.context.request.ws
RequestContextTest.testRequestScopeActiveDuringWebServiceInvocation()
github
The application scope is also active during any remote method invocation of any EJB, during any asynchronous method invocation of any EJB, during any call to an EJB timeout method and during message delivery to any EJB message-driven bean.
da)
Test remote method invocation
org.jboss.cdi.tck.tests.context.application.ejb
ApplicationContextSharedTest.testApplicationScopeActiveDuringRemoteCallToEjb()
github
db)
Test asynchronous method invocation
org.jboss.cdi.tck.tests.context.application.ejb
ApplicationContextSharedTest.testApplicationScopeActiveDuringAsyncCallToEjb()
github
dc)
Test EJB timeout method
org.jboss.cdi.tck.tests.context.application.ejb
ApplicationContextSharedTest.testApplicationScopeActiveDuringCallToEjbTimeoutMethod()
github
dd)
Test message delivery to any EJB message-driven bean.
org.jboss.cdi.tck.tests.context.jms
MessageDrivenBeanContextTest.testRequestScopeActiveDuringMessageDelivery()
github
The application scope is active when the disposer method or @PreDestroy callback of any bean with any normal scope other than @ApplicationScoped is called.
dg)
Test disposer method
org.jboss.cdi.tck.tests.context.application.disposer
ApplicationContextDisposerTest.testApplicationContextActiveDuringDispose()
github
dh)
Test @PreDestroy method
org.jboss.cdi.tck.tests.context.application.predestroy
ApplicationContextPreDestroyTest.testApplicationContextActivePreDestroy()
github
h)
The application scope is active during @PostConstruct callback of any bean.
org.jboss.cdi.tck.tests.context.application.postconstruct
EagerSingletonPostConstructCallbackTest.testEagerSingletonPostConstructCallback()
github
SimpleBeanPostConstructCallbackTest.testSimplePostConstructCallback()
github
e)
The application context is shared between all servlet requests, asynchronous observer method notifications, web service invocations, EJB remote method invocations, EJB asynchronous method invocations, EJB timeouts and message deliveries to message driven beans that execute within the same application.
org.jboss.cdi.tck.tests.context.application.ejb
ApplicationContextSharedTest.testApplicationContextShared()
github
org.jboss.cdi.tck.tests.context.application
ApplicationContextTest.testApplicationContextSharedBetweenServletRequests()
github
ApplicationContextTest.testApplicationContextSharedBetweenJaxRsRequests()
github
f)
The application context is destroyed when the application is shut down.
org.jboss.cdi.tck.tests.context.application.destroy
ApplicationContextDestructionTest.testApplicationContextDestroyed()
github
An event with qualifier @Initialized(ApplicationScoped.class) is fired when the application context is initialized and an event with qualifier @Destroyed(ApplicationScoped.class) is fired when the application is destroyed.
ga)
The event payload is the ServletContext if the application is a web application deployed to a Servlet container.
org.jboss.cdi.tck.tests.context.application.event
ApplicationScopeEventMultiWarTest.testDeployment()
github
org.jboss.cdi.tck.tests.deployment.shutdown
ApplicationShutdownLifecycleTest.testShutdown()
github
org.jboss.cdi.tck.tests.context.application.event
ApplicationScopeEventTest.testServletContextInitializedInvoked()
github
gb)
the java.lang.Object for other types of application.
The conversation scope is active during all Servlet requests.
a)
Test JSF request.
org.jboss.cdi.tck.tests.context.conversation
ClientConversationContextTest.testConversationActiveDuringNonFacesRequest()
github
aa)
Test non-JSF servlet request.
org.jboss.cdi.tck.tests.context.conversation.servlet
ServletConversationTest.testTransientConversation()
github
ServletConversationTest.testLongRunningConversation()
github
ServletConversationTest.testPost()
github
An event with qualifier @Initialized(ConversationContext.class) is fired when the conversation context is initialized and an event with qualifier @Destroyed(ConversationScoped.class) is fired when the conversation is destroyed. The event payload is the conversation id if the conversation context is destroyed and is not associated with a current Servlet request, the ServletRequestEvent if the application is a web application deployed to a Servlet container, any java.lang.Object for other types of application.
ba)
An event with the ServletRequest as the payload and with qualifier @Initialized(ConversationContext.class) is fired when the conversation context is initialized.
org.jboss.cdi.tck.tests.context.conversation.event
LongRunningConversationLifecycleEventTest.testLifecycleEventFiredForLongRunningConversation()
github
TransientConversationLifecycleEventTest.testLifecycleEventFiredForTransientConversation()
github
bb)
An event with the ServletRequest as the payload and with qualifier @Destroyed(ConversationContext.class) is fired when the conversation context is destroyed.
org.jboss.cdi.tck.tests.context.conversation.event
LongRunningConversationLifecycleEventTest.testLifecycleEventFiredForLongRunningConversation()
github
TransientConversationLifecycleEventTest.testLifecycleEventFiredForTransientConversation()
github
bc)
An event with the conversation id as the payload and with qualifier @Destroyed(ConversationContext.class) is fired when the conversation context is destroyed and is not associated with a current Servlet request.
org.jboss.cdi.tck.tests.context.conversation.event.notattached
DestroyConversationNotAssociatedWithCurrentRequestEventTest.testLifecycleEventFired()
github
c)
Any Servlet request has exactly one associated conversation.
d)
The container provides a filter with the name "CDI Conversation Filter", which may be mapped in web.xml, allowing the user alter when the conversation is associated with the servlet request.
org.jboss.cdi.tck.tests.context.conversation.filter
ConversationFilterTest.testConversationActivation()
github
If this filter is not mapped in any web.xml in the application, the conversation associated with a Servlet request is determined at the beginning of the request before calling any service() method of any servlet in the web application, calling the doFilter() method of any servlet filter in the web application and before the container calls any ServletRequestListener or AsyncListener in the web application.
da)
Test service() method of a servlet.
org.jboss.cdi.tck.tests.context.conversation.determination
ConversationDeterminationTest.testConversationDetermination()
github
db)
Test doFilter() method of a servlet filter.
org.jboss.cdi.tck.tests.context.conversation.determination
ConversationDeterminationTest.testConversationDetermination()
github
dc)
Test ServletRequestListener.
org.jboss.cdi.tck.tests.context.conversation.determination
ConversationDeterminationTest.testConversationDetermination()
github
dd)
Test AsyncListener.
org.jboss.cdi.tck.tests.context.conversation.determination
ConversationDeterminationTest.testConversationDetermination()
github
e)
By default, a conversation is transient.
org.jboss.cdi.tck.tests.context.conversation
ClientConversationContextTest.testTransientConversationHasNullId()
github
f)
A transient conversation may be marked long-running by calling Conversation.begin()
org.jboss.cdi.tck.tests.context.conversation
ClientConversationContextTest.testConversationBeginMakesConversationLongRunning()
github
g)
A long-running conversation may be marked transient by calling Conversation.end()
org.jboss.cdi.tck.tests.context.conversation
ClientConversationContextTest.testConversationEndMakesConversationTransient()
github
ha)
All long-running conversations have a string-valued unique identifier, which may be set by the application when the conversation is marked long-running, or generated by the container
org.jboss.cdi.tck.tests.context.conversation
ClientConversationContextTest.testConversationIdMayBeSetByApplication()
github
hb)
All long-running conversations have a string-valued unique identifier, which may be set by the application when the conversation is marked long-running, or generated by the container
org.jboss.cdi.tck.tests.context.conversation
ClientConversationContextTest.testConversationIdSetByContainerIsUnique()
github
ClientConversationContextTest.testConversationIdMayBeSetByContainer()
github
j)
If the conversation associated with the current Servlet request is in the transient state at the end of a Servlet request, it is destroyed, and the conversation context is also destroyed.
org.jboss.cdi.tck.tests.context.conversation
ClientConversationContextTest.testTransientConversationInstancesDestroyedAtRequestEnd()
github
k)
If the conversation associated with the current Servlet request is in the long-running state at the end of a Servlet request, it is not destroyed.
org.jboss.cdi.tck.tests.context.conversation
ClientConversationContextTest.testLongRunningConversationInstancesNotDestroyedAtRequestEnd()
github
n)
The long-running conversation associated with a request may be propagated to any Servlet request via use of a request parameter named cid containing the unique identifier of the conversation. In this case, the application must manage this request parameter.
org.jboss.cdi.tck.tests.context.conversation
ManualCidPropagationTest.testManualCidPropagation()
github
l)
The long-running conversation context associated with a request that renders a JSF view is automatically propagated to any faces request (JSF form submission) that originates from that rendered page.
org.jboss.cdi.tck.tests.context.conversation
LongRunningConversationPropagatedByFacesContextTest.testConversationPropagated()
github
LongRunningConversationPropagatedByFacesContextTest.testConversationPropagatedAjax()
github
m)
The long-running conversation context associated with a request that results in a JSF redirect (via a navigation rule) is automatically propagated to the resulting non-faces request, and to any other subsequent request to the same URL. This is accomplished via use of a request parameter named cid containing the unique identifier of the conversation.
org.jboss.cdi.tck.tests.context.conversation
LongRunningConversationPropagatedByFacesContextTest.testConversationPropagatedOverRedirect()
github
When no conversation is propagated to a Servlet request, or if a request parameter named conversationPropagation has the value none the request is associated with a new transient conversation.
o)
The request is associated with a new transient conversation.
org.jboss.cdi.tck.tests.context.conversation
ClientConversationContextTest.testConversationIdSetByContainerIsUnique()
github
oa)
Test request parameter named conversationPropagation.
org.jboss.cdi.tck.tests.context.conversation
ClientConversationContextTest.testSuppressedConversationPropagation()
github
p)
All long-running conversations are scoped to a particular HTTP servlet session and may not cross session boundaries.
org.jboss.cdi.tck.tests.context.conversation
ClientConversationContextTest.testConversationsDontCrossSessionBoundary1()
github
ClientConversationContextTest.testConversationsDontCrossSessionBoundary2()
github
qa)
When the HTTP servlet session is invalidated, all long-running conversation contexts created during the current session are destroyed, after the servlet service() method completes.
org.jboss.cdi.tck.tests.context.conversation
InvalidatingSessionDestroysConversationTest.testInvalidatingSessionDestroysConversation()
github
org.jboss.cdi.tck.tests.context.conversation.servlet
ServletConversationTest.testInvalidatingSessionDestroysConversation()
github
r)
The container is permitted to arbitrarily destroy any long-running conversation that is associated with no current JSF request, in order to conserve resources
ta)
The conversation timeout, which may be specified by calling Conversation.setTimeout() is a hint to the container that a conversation should not be destroyed if it has been active within the last given interval in milliseconds.
tb)
If the propagated conversation cannot be restored, the container must associate the request with a new transient conversation and throw an exception of type javax.enterprise.context.NonexistentConversationException.
org.jboss.cdi.tck.tests.context.conversation
ClientConversationContextTest.testNonexistentConversationExceptionThrown()
github
The container ensures that a long-running conversation may be associated with at most one request at a time, by blocking or rejecting concurrent requests. If the container rejects a request, it must associate the request with a new transient conversation and throw an exception of type javax.enterprise.context.BusyConversationException.
ua)
Test the container blocks the concurrent request.
org.jboss.cdi.tck.tests.context.conversation.filter
ConversationFilterTest.testConversationBusy()
github
The container provides a built-in bean with bean type Conversation, scope @RequestScoped, and qualifier @Default, named javax.enterprise.context.conversation.
iaa)
Test the bean type is correct.
org.jboss.cdi.tck.tests.context.conversation
ClientConversationContextTest.testBeanWithRequestScope()
github
ib)
Test the scope is correct.
org.jboss.cdi.tck.tests.context.conversation
ClientConversationContextTest.testBeanWithRequestScope()
github
id)
Test the qualifier is correct.
org.jboss.cdi.tck.tests.context.conversation
ClientConversationContextTest.testBeanWithDefaultQualifier()
github
ie)
Test the bean name is correct.
org.jboss.cdi.tck.tests.context.conversation
ClientConversationContextTest.testBeanWithNameJavaxEnterpriseContextConversation()
github
j)
begin() marks the current transient conversation long-running. A conversation identifier may, optionally, be specified. If no conversation identifier is specified, an identifier is generated by the container.
org.jboss.cdi.tck.tests.context.conversation
ClientConversationContextTest.testConversationIdMayBeSetByApplication()
github
ClientConversationContextTest.testConversationIdMayBeSetByContainer()
github
k)
end() marks the current long-running conversation transient.
org.jboss.cdi.tck.tests.context.conversation
ClientConversationContextTest.testConversationEndMakesConversationTransient()
github
l)
getId() returns the identifier of the current long-running conversation, or a null value if the current conversation is transient.
org.jboss.cdi.tck.tests.context.conversation
ClientConversationContextTest.testTransientConversationHasNullId()
github
m)
getTimeout() returns the timeout, in milliseconds, of the current conversation.
org.jboss.cdi.tck.tests.context.conversation
ClientConversationContextTest.testSetConversationTimeoutOverride()
github
ClientConversationContextTest.testConversationHasDefaultTimeout()
github
n)
setTimeout() sets the timeout of the current conversation.
org.jboss.cdi.tck.tests.context.conversation
ClientConversationContextTest.testSetConversationTimeoutOverride()
github
o)
isTransient() returns true if the conversation is marked transient, or false if it is marked long-running.
org.jboss.cdi.tck.tests.context.conversation
ClientConversationContextTest.testConversationEndMakesConversationTransient()
github
p)
If any method of Conversation is called when the conversation scope is not active, a ContextNotActiveException is thrown.
org.jboss.cdi.tck.tests.context.conversation.inactive
InactiveConversationTest.testContextNotActiveExceptionThrown()
github
q)
If end() is called, and the current conversation is marked transient, an IllegalStateException is thrown.
org.jboss.cdi.tck.tests.context.conversation
ClientConversationContextTest.testEndTransientConversationThrowsException()
github
r)
If begin() is called, and the current conversation is already marked long-running, an IllegalStateException is thrown.
org.jboss.cdi.tck.tests.context.conversation
ClientConversationContextTest.testBeginAlreadyLongRunningConversationThrowsException()
github
s)
If begin() is called with an explicit conversation identifier, and a long-running conversation with that identifier already exists, an IllegalArgumentException is thrown.
org.jboss.cdi.tck.tests.context.conversation
ClientConversationContextTest.testBeginConversationWithExplicitIdAlreadyUsedByDifferentConversation()
github
aa)
When the application invokes a method of a bean via a contextual reference to the bean, as defined in Section 6.5.3, "Contextual reference for a bean", the invocation is treated as a business method invocation.
org.jboss.cdi.tck.tests.interceptors.invocation
InterceptorInvocationTest.testManagedBeanIsIntercepted()
github
org.jboss.cdi.tck.tests.decorators.invocation
DecoratorInvocationTest.testDecoratorInvocation()
github
org.jboss.cdi.tck.tests.interceptors.definition.enterprise.simpleInterception
SessionBeanInterceptorDefinitionTest.testSessionBeanIsIntercepted()
github
ab)
When the application invokes a method of a bean via a non-contextual reference to the bean, if the instance was created by the container, the invocation is treated as a business method invocation.
org.jboss.cdi.tck.tests.interceptors.definition.enterprise.nonContextualReference
SessionBeanInterceptorOnNonContextualEjbReferenceTest.testNonContextualSessionBeanReferenceIsIntercepted()
github
ac)
When the application invokes a business method of a session bean via an EJB remote or local reference, the invocation is treated as a business method invocation.
org.jboss.cdi.tck.tests.extensions.beanManager.unmanaged
UnmanagedInstanceTest.testNonContextualInstanceIsIntercepted()
github
ad)
Invocations of initializer methods by the container are not business method invocations.
org.jboss.cdi.tck.tests.interceptors.invocation
InterceptorInvocationTest.testInitializerMethodsNotIntercepted()
github
Invocations of producer, disposer and observer methods by the container are business method invocations are are intercepted by method interceptors and decorators.
ia)
Verify producer methods are intercepted
org.jboss.cdi.tck.tests.interceptors.invocation
InterceptorInvocationTest.testProducerMethodsAreIntercepted()
github
ib)
Verify producer methods are decorated
org.jboss.cdi.tck.tests.decorators.invocation.producer.method
DecoratorInvocationTest.testDecoratorInvocation()
github
ic)
Verify disposer methods are intercepted
org.jboss.cdi.tck.tests.interceptors.invocation
InterceptorInvocationTest.testDisposerMethodsAreIntercepted()
github
id)
Verify disposer methods are decorated
org.jboss.cdi.tck.tests.decorators.invocation.producer.method
DecoratorInvocationTest.testDecoratorInvocation()
github
ie)
Verify observer methods are intercepted
org.jboss.cdi.tck.tests.interceptors.invocation
InterceptorInvocationTest.testObserverMethodsAreIntercepted()
github
if)
Verify observer methods are decorated
org.jboss.cdi.tck.tests.decorators.invocation.observer
DecoratorInvocationTest.testDecoratorInvocation()
github
ig)
Invocation of EJB timer service timeouts by the container are not business method invocations, but are intercepted by interceptors for EJB timeouts.
org.jboss.cdi.tck.tests.interceptors.invocation
InterceptorInvocationTest.testTimeoutMethodIntercepted()
github
j)
Invocation of lifecycle callbacks by the container are not business method invocations, but are intercepted by interceptors for lifecycle callbacks.
org.jboss.cdi.tck.tests.interceptors.invocation
InterceptorInvocationTest.testLifecycleCallbacksAreIntercepted()
github
Invocations of interceptors and decorator methods during method or lifecycle callback interception are not business method invocations, and therefore no recursive interception occurs.
ka)
Verify decorators callbacks are not intercepted
org.jboss.cdi.tck.tests.decorators.interceptor
DecoratorAndInterceptorTest.testMethodCallbacks()
github
kb)
Verify decorators callbacks are not decorated
org.jboss.cdi.tck.tests.decorators.interceptor
DecoratorAndInterceptorTest.testMethodCallbacks()
github
org.jboss.cdi.tck.tests.decorators.invocation
DecoratorInvocationTest.testChainedDecoratorInvocation()
github
kc)
Verify interceptor callbacks are not intercepted
org.jboss.cdi.tck.tests.decorators.interceptor
DecoratorAndInterceptorTest.testMethodCallbacks()
github
DecoratorAndInterceptorTest.testLifecycleCallbacks()
github
kd)
Verify interceptor callbacks are not decorated
org.jboss.cdi.tck.tests.decorators.interceptor
DecoratorAndInterceptorTest.testMethodCallbacks()
github
DecoratorAndInterceptorTest.testLifecycleCallbacks()
github
Invocations of message listener methods of message-driven beans during message delivery are business method invocations.
la)
Verify message listener methods are intercepted
org.jboss.cdi.tck.tests.interceptors.definition.enterprise.jms
MessageDrivenBeanInterceptorInvocationTest.testMessageDrivenBeanMethodIntercepted()
github
m)
Invocations of methods declared by java.lang.Object are not business method invocations.
org.jboss.cdi.tck.tests.interceptors.invocation
InterceptorInvocationTest.testObjectMethodsAreNotIntercepted()
github
If, and only if, the invocation is a business method invocation it passes through method interceptors and decorators, and in the case of a session bean, it is subject to EJB services such a declarative transaction management, concurrency, security and asynchronicity, as defined by the EJB specification.
a)
Verify that a managed bean's business methods are intercepted
org.jboss.cdi.tck.tests.interceptors.invocation
InterceptorInvocationTest.testManagedBeanIsIntercepted()
github
b)
Verify that a managed bean's business methods are decorated
org.jboss.cdi.tck.tests.decorators.invocation
DecoratorInvocationTest.testDecoratorInvocation()
github
c)
Verify that a session bean's business methods are intercepted
org.jboss.cdi.tck.tests.interceptors.definition.enterprise.simpleInterception
SessionBeanInterceptorDefinitionTest.testSessionBeanIsIntercepted()
github
d)
Verify that a session bean's business methods are decorated
org.jboss.cdi.tck.tests.decorators.invocation.enterprise
EnterpriseDecoratorInvocationTest.testContextualDecorated()
github
org.jboss.cdi.tck.tests.decorators.invocation
EJBDecoratorInvocationTest.testEJBDecoratorInvocation()
github
f)
Verify that a session bean's business methods receive EJB services
h)
Verify that a non-contextual session bean's business methods are intercepted
org.jboss.cdi.tck.tests.interceptors.definition.enterprise.nonContextualReference
SessionBeanInterceptorOnNonContextualEjbReferenceTest.testNonContextualSessionBeanReferenceIsIntercepted()
github
i)
Verify that a non-contextual session bean's business methods are decorated
org.jboss.cdi.tck.tests.decorators.invocation.enterprise
EnterpriseDecoratorInvocationTest.testNonContextualDecorated()
github
g)
If the invocation is not a business method invocation, it is treated as a normal Java method call and is not intercepted by the container.
org.jboss.cdi.tck.tests.interceptors.invocation
InterceptorInvocationTest.testObjectMethodsAreNotIntercepted()
github
aa)
When the create() method of the Bean object that represents a managed bean is called, the container obtains an instance of the bean, as defined by the Managed Beans specification, calling the bean constructor as defined by Section 5.5.1, "Injection using the bean constructor", and performing dependency injection as defined in Section 5.5.2, "Injection of fields and initializer methods".
org.jboss.cdi.tck.tests.implementation.simple.lifecycle
SimpleBeanLifecycleTest.testBeanCreateInjectsDependenciesAndInvokesInitializerToInstantiateInstance()
github
SimpleBeanLifecycleTest.testCreateInjectsFieldsDeclaredInJava()
github
SimpleBeanLifecycleTest.testPostConstructPreDestroy()
github
ba)
When the destroy() method is called, the container destroys the instance, as defined by the Managed Beans specification, and any dependent objects, as defined in Section 5.5.3, "Destruction of dependent objects".
org.jboss.cdi.tck.tests.implementation.simple.lifecycle
SimpleBeanLifecycleTest.testPostConstructPreDestroy()
github
SimpleBeanLifecycleTest.testContextualDestroyDisposesWhenNecessary()
github
aa)
When the create() method of a Bean object that represents a stateful session bean that is called, the container creates and returns a container-specific internal local reference to a new session bean instance. The reference must be passivation capable. This reference is not directly exposed to the application.
bb)
Before injecting or returning a contextual instance to the application, the container transforms its internal reference into an object that implements the bean types expected by the application and delegates method invocations to the underlying stateful session bean instance. This object must be passivation capable.
org.jboss.cdi.tck.tests.implementation.enterprise.lifecycle
EnterpriseBeanLifecycleTest.testCreateSFSB()
github
bc)
When the destroy() method is called, and if the underlying EJB was not already removed by direct invocation of a remove method by the application, the container removes the stateful session bean. The @PreDestroy callback must be invoked by the container.
org.jboss.cdi.tck.tests.implementation.enterprise.lifecycle
EnterpriseBeanLifecycleTest.testDestroyRemovesSFSB()
github
EnterpriseBeanLifecycleTest.testRemovedEjbIgnored()
github
a)
When the create() method of a Bean object that represents a stateless session or singleton session bean is called, the container
creates and returns a container-specific internal local reference to the session bean. This reference is not directly exposed to the application.
b)
Before injecting or returning a contextual instance to the application, the container transforms its internal reference into an object that implements the bean types expected by the application and delegates method invocations to the underlying session bean. This object must be passivation capable.
org.jboss.cdi.tck.tests.implementation.enterprise.lifecycle
EnterpriseBeanLifecycleTest.testCreateSLSB()
github
c)
When the destroy() method is called, the container simply discards this internal reference.
org.jboss.cdi.tck.tests.implementation.enterprise.lifecycle
EnterpriseBeanLifecycleTest.testDestroyRemovesSFSB()
github
ea)
When the create() method of a Bean object that represents a producer method is called, the container must invoke the producer method as defined by Section 5.5.4, "Invocation of producer or disposer methods". The return value of the producer method, after method interception completes, is the new contextual instance to be returned by Bean.create().
org.jboss.cdi.tck.tests.implementation.producer.method.lifecycle
ProducerMethodLifecycleTest.testProducerMethodInvokedOnCreate()
github
ProducerMethodLifecycleTest.testProducerMethodBeanCreate()
github
k)
If the producer method returns a null value and the producer method bean has the scope @Dependent, the create() method returns a null value.
org.jboss.cdi.tck.tests.implementation.producer.method.lifecycle
ProducerMethodLifecycleTest.testCreateReturnsNullIfProducerDoesAndDependent()
github
l)
If the producer method returns a null value, and the scope of the producer method is not @Dependent, the create() method throws an IllegalProductException.
org.jboss.cdi.tck.tests.implementation.producer.method.lifecycle
ProducerMethodLifecycleTest.testCreateFailsIfProducerReturnsNullAndNotDependent()
github
ma)
When the destroy() method is called, and if there is a disposer method for this producer method, the container must invoke the disposer method as defined by Section 5.5.4, "Invocation of producer or disposer methods", passing the instance given to destroy() to the disposed parameter.
org.jboss.cdi.tck.tests.implementation.producer.method.lifecycle
ProducerMethodLifecycleTest.testProducerMethodBeanDestroy()
github
r)
Finally, the container destroys dependent objects, as defined in Section 5.5.3, "Destruction of dependent objects".
org.jboss.cdi.tck.tests.implementation.producer.method.lifecycle
ProducerMethodLifecycleTest.testProducerMethodBeanDestroy()
github
ga)
When the create() method of a Bean object that represents a producer field is called, the container must access the producer field as defined by Section 5.5.5, "Access to producer field values" to obtain the current value of the field. The value of the producer field is the new contextual instance to be returned by Bean.create().
org.jboss.cdi.tck.tests.implementation.producer.field.lifecycle
ProducerFieldLifecycleTest.testProducerFieldBeanCreate()
github
m)
If the producer field contains a null value and the producer field bean has the scope @Dependent, the create() method returns a null value.
org.jboss.cdi.tck.tests.implementation.producer.field.lifecycle
ProducerFieldLifecycleTest.testProducerFieldReturnsNullIsDependent()
github
n)
If the producer field contains a null value, and the scope of the producer method is not @Dependent, the create() method throws an IllegalProductException.
org.jboss.cdi.tck.tests.implementation.producer.field.lifecycle
ProducerFieldLifecycleTest.testProducerFieldForNullValueNotDependent()
github
ProducerFieldLifecycleTest.testProducerFieldReturnsNullIsNotDependent()
github
o)
When the destroy() method is called, and if there is a disposer method for this producer field, the container must invoke the disposer method as defined by Section 5.5.4, "Invocation of producer or disposer methods", passing the instance given to destroy() to the disposed parameter.
org.jboss.cdi.tck.tests.implementation.disposal.method.definition
DisposalMethodDefinitionTest.testDisposalMethodCalledForProducerField()
github
org.jboss.cdi.tck.tests.implementation.producer.field.lifecycle
ProducerFieldLifecycleTest.testProducerFieldBeanDestroy()
github
When the create() method of a Bean object that represents a resource is called, the container creates and returns a container-specific internal reference to the Java EE component environment resource, entity manager, entity manager factory, remote EJB instance or web service reference. This reference is not directly exposed to the application.
la)
Check Java EE component environment resource
org.jboss.cdi.tck.tests.implementation.simple.resource.resource
InjectionOfResourceTest.testProduceResourceProxy()
github
org.jboss.cdi.tck.tests.implementation.simple.resource.env
EnvInjectionTest.testProduceEnvProxy()
github
lb)
Check Entity Manager
org.jboss.cdi.tck.tests.implementation.simple.resource.persistenceContext
PersistenceContextInjectionTest.testInjectionOfPersistenceContext()
github
lc)
Check Entity Manager Factory
org.jboss.cdi.tck.tests.implementation.simple.resource.persistenceContext
PersistenceContextInjectionTest.testInjectionOfPersistenceUnit()
github
PersistenceContextInjectionTest.testPassivationOfPersistenceUnit()
github
ld)
Check Remote EJB instance
org.jboss.cdi.tck.tests.implementation.simple.resource.ejb
EjbInjectionTest.testInjectionOfEjbs()
github
le)
Check Web Service Reference
No tests exist for this assertion
Before injecting or returning a contextual instance to the application, the container transforms its internal reference into an object that implements the bean types expected by the application and delegates method invocations to the underlying resource, entity manager, entity manager factory, remote EJB instance or web service reference. This object must be passivation capable.
ma)
Check delegations to underlying Java EE component environment resource
org.jboss.cdi.tck.tests.implementation.simple.resource.resource
InjectionOfResourceTest.testProduceResourceProxy()
github
org.jboss.cdi.tck.tests.implementation.simple.resource.env
EnvInjectionTest.testProduceEnvProxy()
github
mb)
Check injected Java EE component environment resource is passivation capable
org.jboss.cdi.tck.tests.implementation.simple.resource.resource
InjectionOfResourceTest.testPassivatingResource()
github
mc)
Check delegations to underlying Entity Manager
org.jboss.cdi.tck.tests.implementation.simple.resource.persistenceContext
PersistenceContextInjectionTest.testInjectionOfPersistenceContext()
github
md)
Check injected Entity Manager is passivation capable
org.jboss.cdi.tck.tests.implementation.simple.resource.persistenceContext
PersistenceContextInjectionTest.testPassivationOfPersistenceContext()
github
me)
Check delegations to Entity Manager Factory
org.jboss.cdi.tck.tests.implementation.simple.resource.persistenceContext
PersistenceContextInjectionTest.testInjectionOfPersistenceUnit()
github
mf)
Check injected Entity Manager Factory is passivation capable
org.jboss.cdi.tck.tests.implementation.simple.resource.persistenceContext
PersistenceContextInjectionTest.testPassivationOfPersistenceUnit()
github
mg)
Check delegations to underlying Remote EJB instance
org.jboss.cdi.tck.tests.implementation.simple.resource.ejb
EjbInjectionTest.testInjectionOfEjbs()
github
mh)
Check injected Remote EJB instance is passivation capable
org.jboss.cdi.tck.tests.implementation.simple.resource.ejb
EjbInjectionTest.testPassivationOfEjbs()
github
mj)
Check delegations to underlying Web Service Reference
No tests exist for this assertion
mk)
Check injected Web Service Reference is passivation capable
No tests exist for this assertion
The container must perform ordinary Java EE component environment injection upon any non-static field that functions as a resource declaration, as defined by the Java EE platform and Common Annotations for the Java platform specifications.
o)
Check @Resource injection
org.jboss.cdi.tck.tests.implementation.simple.resource.resource
InjectionOfResourceTest.testProduceResourceProxy()
github
org.jboss.cdi.tck.tests.implementation.simple.resource.env
EnvInjectionTest.testProduceEnvProxy()
github
p)
The container is not required to perform Java EE component environment injection upon a static field. Portable applications should not rely upon the value of a static field that functions as a resource declaration.
q)
References to EJBs and web services are always dependent scoped and a new instance must be obtained for every injection performed.
No tests exist for this assertion
r)
For an entity manager associated with a resource definition, it must behave as though it were injected directly using @PersistencContext.
No tests exist for this assertion
s)
When the destroy() method of a bean which represents a remote stateful EJB reference is called, the container will not automatically destroy the EJB reference.
No tests exist for this assertion
a)
Decorators may be associated with any managed bean that is not itself an interceptor or decorator, with any EJB session bean or with any built-in bean other than the built-in bean with type BeanManager and qualifier @Default.
b)
Decorators are not applied to the return value of a producer method or the current value of a producer field.
org.jboss.cdi.tck.tests.decorators.definition.producer
DecoratorNotAppliedToResultOfProducerTest.testDecoratorNotAppliedToResultOfProducerMethod()
github
DecoratorNotAppliedToResultOfProducerTest.testDecoratorNotAppliedToResultOfProducerField()
github
c)
A decorator instance is a dependent object of the object it decorates.
org.jboss.cdi.tck.tests.decorators.definition.lifecycle
DecoratorInstanceIsDependentObjectTest.testDecoratorInstanceIsDependentObject()
github
a)
A decorator is a managed bean.
b)
The set of decorated types of a decorator includes all bean types of the managed bean which are Java interfaces, except for java.io.Serializable.
org.jboss.cdi.tck.tests.decorators.definition
DecoratorDefinitionTest.testDecoratedTypes()
github
c)
The decorator bean class and its superclasses are not decorated types of the decorator.
org.jboss.cdi.tck.tests.decorators.definition
DecoratorDefinitionTest.testDecoratedTypes()
github
d)
The decorator class may be abstract.
org.jboss.cdi.tck.tests.decorators.invocation.enterprise
EnterpriseDecoratorInvocationTest.testContextualDecorated()
github
EnterpriseDecoratorInvocationTest.testNonContextualDecorated()
github
org.jboss.cdi.tck.tests.decorators.definition
DecoratorDefinitionTest.testDecoratorIsManagedBean()
github
DecoratorDefinitionTest.testAbstractDecoratorNotImplementingMethodOfDecoratedType()
github
e)
If the set of decorated types of a decorator is empty, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.decorators.definition.broken.nodecoratedtypes
DecoratorWithNoDecoratedTypes3Test.testDeploymentFails()
github
DecoratorWithNoDecoratedTypes2Test.testDeploymentFails()
github
DecoratorWithNoDecoratedTypes1Test.testDeploymentFails()
github
f)
Decorators of a session bean must comply with the bean provider programming restrictions defined by the EJB specification.
No tests exist for this assertion
g)
Decorators of a stateful session bean must comply with the rules for instance passivation and conversational state defined by the EJB specification.
No tests exist for this assertion
a)
A decorator is declared by annotating the bean class with the @javax.decorator.Decorator stereotype.
org.jboss.cdi.tck.tests.decorators.invocation.enterprise
EnterpriseDecoratorInvocationTest.testContextualDecorated()
github
EnterpriseDecoratorInvocationTest.testNonContextualDecorated()
github
org.jboss.cdi.tck.tests.decorators.definition
DecoratorDefinitionTest.testDecoratorIsManagedBean()
github
a)
All decorators have a delegate injection point. A delegate injection point is an injection point of the bean class. The type and qualifiers of the injection point are called the delegate type and delegate qualifiers. The decorator applies to beans that are assignable to the delegate injection point. The delegate injection point must be be declared by annotating the injection point with the annotation @javax.decorator.Delegate.
org.jboss.cdi.tck.tests.decorators.definition
DecoratorDefinitionTest.testDelegateInjectionPoint()
github
A decorator must have exactly one delegate injection point. If a decorator has more than one delegate injection point, or does not have a delegate injection point, the container automatically detects the problem and treats it as a definition error.
ca)
Test with more than one delegate injection point.
org.jboss.cdi.tck.tests.decorators.custom.broken.toomanydelegateinjectionpoints
CustomDecoratorWithTooManyDelegateInjectionPointsTest.testDeploymentFails()
github
org.jboss.cdi.tck.tests.decorators.definition.broken.multipleDelegateInjectionPoints
MultipleDelegateInjectionPointsTest.testMultipleDelegateInjectionPoints()
github
cb)
Test a decorator without a delegate injection point.
org.jboss.cdi.tck.tests.decorators.custom.broken.nodelegateinjectionpoint
CustomDecoratorWithNoDelegateInjectionPointTest.testDeploymentFails()
github
org.jboss.cdi.tck.tests.decorators.definition.broken.noDelegateInjectionPoints
NoDelegateInjectionPointsTest.testNoDelegateInjectionPoints()
github
The delegate injection point must be an injected field, initializer method parameter or bean constructor method parameter. If an injection point that is not an injected field, initializer method parameter or bean constructor method parameter is annotated @Delegate, the container automatically detects the problem and treats it as a definition error.
cc)
Check an injected field is ok
org.jboss.cdi.tck.tests.decorators.invocation.enterprise
EnterpriseDecoratorInvocationTest.testContextualDecorated()
github
org.jboss.cdi.tck.tests.decorators.definition.inject.delegateField
DelegateFieldInjectionPointTest.testDecoratorDelegateInjectionPoints()
github
cd)
Check an initializer method parameter is ok
org.jboss.cdi.tck.tests.decorators.definition.inject.delegateInitializerMethod
DelegateInjectionPointTest.testDecoratorDelegateInjectionPoints()
github
ce)
Check a bean constructor method parameter is ok
org.jboss.cdi.tck.tests.decorators.definition.inject.delegateConstructor
DelegateInjectionPointTest.testDecoratorDelegateInjectionPoints()
github
cf)
Check that a producer method parameter is not ok
org.jboss.cdi.tck.tests.decorators.definition.inject.broken.delegateProducerMethod
DelegateInjectionPointTest.testDecoratorDelegateInjectionPoints()
github
cg)
If a bean class that is not a decorator has an injection point annotated @Delegate, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.decorators.definition.broken.nonDecoratorWithDecorates
NonDecoratorWithDecoratesTest.testNonDecoratorWithDecoratesAnnotationNotOK()
github
f)
The container must inject a delegate object to the delegate injection point. The delegate object implements the delegate type and delegates method invocations to the remaining uninvoked decorators and eventually to the bean. When the container calls a decorator during business method interception, the decorator may invoke any method of the delegate object.
org.jboss.cdi.tck.tests.decorators.invocation
DecoratorInvocationTest.testDecoratorInvocation()
github
DecoratorInvocationTest.testChainedDecoratorInvocation()
github
g)
If a decorator invokes the delegate object at any other time, the invoked method throws an IllegalStateException.
No tests exist for this assertion
a)
The delegate type of a decorator must implement or extend every decorated type (with exactly the same type parameters). If the delegate type does not implement or extend a decorated type of the decorator (or specifies different type parameters), the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.decorators.definition.broken.notAllDecoratedTypesImplemented.parameterized
TypeParametersNotTheSameTest.testDeploymentFails()
github
org.jboss.cdi.tck.tests.decorators.definition.types
DelegateTypeImplementsParameterizedDecoratedTypeTest.testDelegateTypeIsValid()
github
org.jboss.cdi.tck.tests.decorators.definition.broken.notAllDecoratedTypesImplemented
NotAllDecoratedTypesImplementedTest.testNotAllDecoratedTypesImplemented()
github
ab)
If a decorated type is a parameterized type and the delegate type does not have exactly the same type parameters as the decorated type, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.decorators.definition.broken.parameterizedTypesWithDifferentTypeParameters
DifferentTypeParametersTest.testTypeParametersOnDecoratedTypeAndDelegateTypeDoNotMatch()
github
b)
A decorator is not required to implement the delegate type.
org.jboss.cdi.tck.tests.decorators.definition
DecoratorDefinitionTest.testDecoratorDoesNotImplementDelegateType()
github
c)
A decorator may be an abstract Java class, and is not required to implement every method of every decorated type.
org.jboss.cdi.tck.tests.decorators.definition
DecoratorDefinitionTest.testDecoratorIsManagedBean()
github
DecoratorDefinitionTest.testAbstractDecoratorNotImplementingMethodOfDecoratedType()
github
ca)
Whenever the decorator does not implement a method of the decorated type, the container will provide an implicit implementation that calls the method on the delegate.
org.jboss.cdi.tck.tests.decorators.definition
DecoratorDefinitionTest.testAbstractDecoratorNotImplementingMethodOfDecoratedType()
github
cb)
If a decorator has abstract methods that are not declared by a decorated type, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.decorators.definition.broken.invalidAbstractMethodOnDecorator
DecoratorWithInvalidAbstractMethodTest.testAbstractMethodsNotDeclaredByDecoratedTypeNotOk()
github
d)
The decorator intercepts every method which is declared by a decorated type of the decorator and is implemented by the bean class of the decorator.
org.jboss.cdi.tck.tests.decorators.invocation
DecoratorInvocationTest.testDecoratorInvocation()
github
DecoratorInvocationTest.testChainedDecoratorInvocation()
github
a)
This specification defines two methods of enabling and ordering decorators. From Contexts and Dependency Injection 1.1 onwards the @Priority annotation allows a decorator to be enabled and ordered for an entire application. Contexts and Dependency Injection 1.0 allowed only for a decorator to be enabled and ordered for a bean archive.
b)
Decorators are called after interceptors.
org.jboss.cdi.tck.tests.interceptors.definition.interceptorCalledBeforeDecorator
InterceptorCalledBeforeDecoratorTest.testInterceptorCalledBeforeDecorator()
github
org.jboss.cdi.tck.tests.decorators.invocation.enterprise
EnterpriseDecoratorInvocationTest.testContextualDecorated()
github
org.jboss.cdi.tck.tests.decorators.interceptor
DecoratorAndInterceptorTest.testMethodCallbacks()
github
c)
Decorators enabled using @Priority are called before decorators enabled using beans.xml.
org.jboss.cdi.tck.tests.decorators.ordering.global
GlobalDecoratorOrderingTest.testDecoratorsInWebInfClasses()
github
a)
A decorator may be enabled for the entire application by applying the @Priority annotation, along with a priority value, on the decorator class.
org.jboss.cdi.tck.tests.decorators.ordering.global
EnterpriseDecoratorOrderingTest.testDecoratorsInWebInfClasses()
github
GlobalDecoratorOrderingTest.testDecoratorsInWebInfClasses()
github
b)
Decorators with the smaller priority values are called first.
org.jboss.cdi.tck.tests.decorators.ordering.global
EnterpriseDecoratorOrderingTest.testDecoratorsInWebInfClasses()
github
GlobalDecoratorOrderingTest.testDecoratorsInWebInfClasses()
github
c)
The order of more than one decorator with the same priority is undefined.
d)
The priority value ranges defined in the Java Interceptors specification section 5.5 should be used when defining decorator priorities.
a)
A decorator may be explicitly enabled by listing its bean class under the <decorators> element of the beans.xml file of the bean archive.
org.jboss.cdi.tck.tests.decorators.invocation.enterprise
EnterpriseDecoratorInvocationTest.testContextualDecorated()
github
org.jboss.cdi.tck.tests.deployment.packaging.ear.modules
EnterpriseArchiveModulesTest.testDecoratorEnablement()
github
org.jboss.cdi.tck.tests.decorators.ordering.global
EnterpriseDecoratorOrderingTest.testDecoratorsInWebInfClasses()
github
GlobalDecoratorOrderingTest.testDecoratorsInWebInfClasses()
github
org.jboss.cdi.tck.tests.deployment.packaging.war.modules
WebArchiveModulesTest.testDecoratorAndCrossModuleEventObserver()
github
org.jboss.cdi.tck.tests.decorators.definition
DecoratorDefinitionTest.testNonEnabledDecoratorNotResolved()
github
b)
The order of the decorator declarations determines the decorator ordering. Decorators which occur earlier in the list are called first.
org.jboss.cdi.tck.tests.decorators.invocation.enterprise
EnterpriseDecoratorInvocationTest.testContextualDecorated()
github
org.jboss.cdi.tck.tests.decorators.definition
DecoratorDefinitionTest.testDecoratorOrdering()
github
Each child <class> element must specify the name of a decorator bean class. If there is no class with the specified name, or if the class with the specified name is not a decorator bean class, the container automatically detects the problem and treats it as a deployment problem.
ca)
Test with a nonexistent class name.
org.jboss.cdi.tck.tests.decorators.definition.broken.nonExistantClassInBeansXml
NonExistantDecoratorClassInBeansXmlTest.testNonExistantDecoratorClassInBeansXmlNotOK()
github
cb)
Test with a non-decorator class.
org.jboss.cdi.tck.tests.decorators.definition.broken.enabledDecoratorIsNotDecorator
EnabledDecoratorNotADecoratorTest.testEnabledDecoratorNotADecoratorTest()
github
d)
If the same class is listed twice under the <decorators> element, the container automatically detects the problem and treats it as a deployment problem.
org.jboss.cdi.tck.tests.decorators.definition.broken.decoratorListedTwiceInBeansXml
DecoratorListedTwiceInBeansXmlTest.testDecoratorListedTwiceInBeansXmlNotOK()
github
aa)
The process of matching decorators to a certain bean is called decorator resolution. A decorator is bound to a bean if the bean is assignable to the delegate injection point according to the rules defined in Section 5.2, "Typesafe resolution", and the decorator is enabled in the bean archive containing the bean.
org.jboss.cdi.tck.tests.decorators.builtin.http.session
BuiltinHttpSessionDecoratorTest.testDecoratorIsResolved()
github
org.jboss.cdi.tck.tests.deployment.packaging.ear.modules
EnterpriseArchiveModulesTest.testDecoratorEnablement()
github
org.jboss.cdi.tck.tests.decorators.builtin.conversation
BuiltinConversationDecoratorTest.testDecoratorIsResolved()
github
org.jboss.cdi.tck.tests.decorators.builtin.event
BuiltinEventDecoratorTest.testDecoratorIsResolved()
github
org.jboss.cdi.tck.tests.deployment.packaging.war.modules
WebArchiveModulesTest.testDecoratorAndCrossModuleEventObserver()
github
org.jboss.cdi.tck.tests.decorators.definition
DecoratorDefinitionTest.testDecoratorIsManagedBean()
github
DecoratorDefinitionTest.testDecoratorOrdering()
github
ab)
If a decorator matches a managed bean, and the managed bean class is declared final, the container automatically detects the problem and treats it as a deployment problem.
org.jboss.cdi.tck.tests.decorators.definition.broken.finalBeanClass
FinalBeanClassTest.testAppliesToFinalManagedBeanClass()
github
org.jboss.cdi.tck.tests.decorators.custom.broken.finalBeanClass
CustomDecoratorMatchingBeanWithFinalClassTest.testCustomDecoratorDecoratingFinalBean()
github
ac)
If a decorator matches a managed bean with a non-static, non-private, final method, and the decorator also implements that method, the container automatically detects the problem and treats it as a deployment problem.
org.jboss.cdi.tck.tests.decorators.definition.broken.finalBeanMethod
FinalBeanMethodTest.testAppliesToFinalMethodOnManagedBeanClass()
github
b)
For a custom implementation of the Decorator interface defined in Section 11.1.1, "The Decorator interface", the container calls getDelegateType(), getDelegateQualifiers() and getDecoratedTypes() to determine the delegate type and qualifiers and decorated types of the decorator.
org.jboss.cdi.tck.tests.decorators.custom
CustomDecoratorTest.testCustomImplementationOfDecoratorInterface()
github
A raw bean type is considered assignable to a parameterized delegate type if the raw types are identical and all type parameters of the delegate type are either unbounded type variables or java.lang.Object.
aa)
Check all type parameters are unbounded type variables
org.jboss.cdi.tck.tests.decorators.resolution
DecoratorResolutionTest.testUnboundedTypeVariables()
github
ab)
Check all type parameters are Object
org.jboss.cdi.tck.tests.decorators.resolution
DecoratorResolutionTest.testObject()
github
ac)
Check mix
org.jboss.cdi.tck.tests.decorators.resolution
DecoratorResolutionTest.testUnboundedTypeVariablesAndObject()
github
A parameterized bean type is considered assignable to a parameterized delegate type if they have identical raw type and for each parameter: the delegate type parameter and the bean type parameter are actual types with identical raw type, and, if the type is parameterized, the bean type parameter is assignable to the delegate type parameter according to these rules, or the delegate type parameter is a wildcard, the bean type parameter is an actual type and the actual type is assignable to the upper bound, if any, of the wildcard and assignable from the lower bound, if any, of the wildcard, or the delegate type parameter is a wildcard, the bean type parameter is a type
variable and the upper bound of the type variable is assignable to the upper bound, if any, of the wildcard and assignable from the lower bound, if any, of the wildcard, or the delegate type parameter and the bean type parameter are both type variables and the upper bound of the bean type parameter is assignable to the upper bound, if any, of the delegate type parameter, or the delegate type parameter is a type variable, the bean type parameter is an actual type, and the actual type is assignable to the upper bound, if any, of the type variable.
c)
Check both have identical type parameters
org.jboss.cdi.tck.tests.decorators.resolution
DecoratorResolutionTest.testIdenticalTypeParamerters()
github
d)
Check nested identical type parameters
org.jboss.cdi.tck.tests.decorators.resolution
DecoratorResolutionTest.testNestedIdenticalTypeParamerters()
github
e)
Check delegate type parameter is a wildcard, the bean type parameter is an actual type and the actual type is assignable to the upper bound of the wildcard and assignable from the lower bound of the wildcard
org.jboss.cdi.tck.tests.decorators.resolution
DecoratorResolutionTest.testDelegateWildcardBeanActualType()
github
f)
Check delegate type parameter is a wildcard, the bean type parameter is a type variable and the upper bound of the type variable is assignable to the upper bound of the wildcard and assignable from the lower bound of the wildcard
org.jboss.cdi.tck.tests.decorators.resolution
DecoratorResolutionTest.testDelegateWildcardBeanTypeVariable()
github
g)
Check the delegate type parameter and the bean type parameter are both type variables and the upper bound of the bean type parameter is assignable to the upper bound of the delegate type parameter
org.jboss.cdi.tck.tests.decorators.resolution
DecoratorResolutionTest.testDelegateTypeVariableBeanTypeVariable()
github
h)
Check the delegate type parameter is a type variable, the bean type parameter is an actual type, and the actual type is as- signable to the upper bound of the type variable
org.jboss.cdi.tck.tests.decorators.resolution
DecoratorResolutionTest.testDelegateTypeVariableBeanActualType()
github
Whenever a business method is invoked on an instance of a bean with decorators, the container intercepts the business method invocation and, after processing all interceptors of the method, invokes decorators of the bean. The container searches for the first decorator of the instance that implements the method that is being invoked as a business method. If such decorator exists, the container calls the method of the decorator.
aa)
Test decorator of managed bean is called.
org.jboss.cdi.tck.tests.decorators.invocation
DecoratorInvocationTest.testDecoratorInvocation()
github
ab)
Test decorator of session bean is called .
org.jboss.cdi.tck.tests.decorators.invocation
EJBDecoratorInvocationTest.testEJBDecoratorInvocation()
github
aca)
Test injected Event
org.jboss.cdi.tck.tests.decorators.builtin.event.complex
ComplexEventDecoratorTest.testOrderedEvents()
github
org.jboss.cdi.tck.tests.decorators.builtin.event
BuiltinEventDecoratorTest.testDecoratorIsResolved()
github
BuiltinEventDecoratorTest.testDecoratorIsInvoked()
github
BuiltinEventDecoratorTest.testMultipleDecorators()
github
acb)
Test injected Instance
org.jboss.cdi.tck.tests.decorators.builtin.instance
BuiltinInstanceDecoratorTest.testDecoratorIsResolved()
github
BuiltinInstanceDecoratorTest.testDecoratorIsInvoked()
github
ach)
Test injected Conversation
org.jboss.cdi.tck.tests.decorators.builtin.conversation
BuiltinConversationDecoratorTest.testDecoratorIsResolved()
github
BuiltinConversationDecoratorTest.testDecoratorIsInvoked()
github
aci)
Test injected HttpServletRequest
org.jboss.cdi.tck.tests.decorators.builtin.http.request
BuiltinHttpServletRequestDecoratorTest.testDecoratorIsResolved()
github
BuiltinHttpServletRequestDecoratorTest.testDecoratorIsInvoked()
github
acj)
Test injected HttpSession
org.jboss.cdi.tck.tests.decorators.builtin.http.session
BuiltinHttpSessionDecoratorTest.testDecoratorIsResolved()
github
BuiltinHttpSessionDecoratorTest.testDecoratorIsInvoked()
github
ack)
Test injected ServletContext
org.jboss.cdi.tck.tests.decorators.builtin.http.servletcontext
BuiltinServletContextDecoratorTest.testDecoratorIsResolved()
github
BuiltinServletContextDecoratorTest.testDecoratorIsInvoked()
github
acl)
Test injected InjectionPoint
org.jboss.cdi.tck.tests.decorators.builtin.injectionpoint
BuiltinInjectionPointDecoratorTest.testDecoratorIsResolved()
github
BuiltinInjectionPointDecoratorTest.testDecoratorInvoked()
github
acm)
Test injected Principal
org.jboss.cdi.tck.tests.decorators.builtin.principal
BuiltinPrincipalDecoratorTest.testDecoratorIsResolved()
github
BuiltinPrincipalDecoratorTest.testDecoratorInvoked()
github
acn)
Test injected UserTransaction
org.jboss.cdi.tck.tests.decorators.builtin.transaction
BuiltinUserTransactionDecoratorTest.testUserTransactionDecorated()
github
b)
If no such decorator exists, the container invokes the business method of the intercepted instance.
org.jboss.cdi.tck.tests.decorators.invocation
DecoratorInvocationTest.testDecoratorInvocation()
github
d)
When any decorator is invoked by the container, it may in turn invoke a method of the delegate. The container intercepts the delegate invocation and searches for the first decorator of the instance such that the decorator occurs after the decorator invoking the delegate, and the decorator implements the method that is being invoked upon the delegate.
org.jboss.cdi.tck.tests.decorators.invocation
DecoratorInvocationTest.testChainedDecoratorInvocation()
github
e)
If no such decorator exists, the container invokes the business method of the intercepted instance.
org.jboss.cdi.tck.tests.decorators.invocation
DecoratorInvocationTest.testChainedDecoratorInvocation()
github
f)
Otherwise, the container calls the method of the decorator.
org.jboss.cdi.tck.tests.decorators.invocation
DecoratorInvocationTest.testChainedDecoratorInvocation()
github
a)
Interceptor bindings may be applied to a stereotype by annotating the stereotype annotation.
org.jboss.cdi.tck.tests.interceptors.definition
InterceptorDefinitionTest.testStereotypeInterceptorBindings()
github
b)
An interceptor binding declared by a stereotype is inherited by any bean that declares that stereotype.
org.jboss.cdi.tck.tests.interceptors.definition
InterceptorDefinitionTest.testStereotypeInterceptorBindings()
github
c)
If a stereotype declares interceptor bindings, it must be defined as @Target(TYPE).
a)
If an interceptor for lifecycle callbacks declares an interceptor binding type that not defined @Target(TYPE), the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.interceptors.definition.broken.interceptorForLifecycleTargetMethod
InterceptorForLifecycleTargetMethodTest.testInterceptorForLifecycleTargetMethod()
github
c)
Interceptor bindings may be used to associate interceptors with any managed bean that is not a decorator.
org.jboss.cdi.tck.tests.extensions.beanManager.bean
SyntheticBeanTest.testSyntheticBeanIntercepted()
github
org.jboss.cdi.tck.tests.interceptors.definition
InterceptorDefinitionTest.testInterceptorBindingAnnotation()
github
InterceptorDefinitionTest.testInterceptorBindingsCanDeclareOtherInterceptorBindings()
github
a)
The set of interceptor bindings for a method are those declared at class level includes those declared on stereotypes. An interceptor binding declared on a bean class replaces an interceptor binding of the same type declared by a stereotype that is applied to the bean class.
org.jboss.cdi.tck.tests.definition.stereotype.interceptor
StereotypeWithMultipleInterceptorBindingsTest.testMultipleInterceptorBindings()
github
b)
If a managed bean has a class-level or method-level interceptor binding, the managed bean must be a proxyable bean type, as defined in Section "unproxyable".
org.jboss.cdi.tck.tests.interceptors.definition.inheritance.broken.binding
FinalMethodWithInheritedClassLevelInterceptorTest.testFinalMethodWithInheritedClassLevelInterceptor()
github
FinalClassWithInheritedClassLevelInterceptorTest.testFinalClassWithInheritedClassLevelInterceptor()
github
org.jboss.cdi.tck.tests.interceptors.definition.broken.finalClassInterceptor
FinalClassClassLevelInterceptorTest.testFinalClassWithClassLevelInterceptor()
github
FinalClassMethodLevelInterceptorTest.testFinalClassWithMethodLevelInterceptor()
github
FinalMethodClassLevelInterceptorTest.testFinalMethodWithClassLevelInterceptor()
github
org.jboss.cdi.tck.tests.interceptors.definition.inheritance.broken.binding
FinalMethodWithInheritedStereotypeInterceptorTest.testFinalClassWithInheritedStereotypeInterceptor()
github
org.jboss.cdi.tck.tests.interceptors.definition.broken.finalClassInterceptor
FinalMethodMethodLevelInterceptorTest.testFinalMethodWithMethodLevelInterceptor()
github
org.jboss.cdi.tck.tests.interceptors.definition.inheritance.broken.binding
FinalClassWithInheritedStereotypeInterceptorTest.testFinalMethodWithInheritedStereotypeInterceptor()
github
a)
This specification extends the Java Interceptors specification and defines support for enabling interceptors only for a bean archive, as defined by Contexts and Dependency Injection 1.0, and the ability to override the interceptor order using the portable extension SPI, defined in Section "atd".
b)
An interceptor may be explicitly enabled for a bean archive by listing its class under the <interceptors> element of the beans.xml file of the bean archive.
org.jboss.cdi.tck.tests.interceptors.definition.interceptorOrder
InterceptorOrderTest.testInterceptorsCalledInOrderDefinedByBeansXml()
github
c)
The order of the interceptor declarations determines the interceptor ordering. Interceptors which occur earlier in the list are called first.
org.jboss.cdi.tck.tests.interceptors.definition.interceptorOrder
InterceptorOrderTest.testInterceptorsCalledInOrderDefinedByBeansXml()
github
Each child <class> element must specify the name of an interceptor class. If there is no class with the specified name, or if the class with the specified name is not an interceptor class, the container automatically detects the problem and treats it as a deployment problem.
da)
Test with a non-existant class.
org.jboss.cdi.tck.tests.interceptors.definition.broken.nonExistantClassInBeansXml
NonExistantClassInBeansXmlTest.testNonExistantClassInBeansXmlNotOk()
github
db)
Test with a class that isn't an interceptor.
org.jboss.cdi.tck.tests.interceptors.definition.broken.nonInterceptorClassInBeansXml
NonInterceptorClassInBeansXmlTest.testNonInterceptorClassInBeansXmlNotOk()
github
e)
If the same class is listed twice under the <interceptors> element, the container automatically detects the problem and treats it as a deployment problem.
org.jboss.cdi.tck.tests.interceptors.definition.broken.sameClassListedTwiceInBeansXml
SameClassListedTwiceInBeansXmlTest.testSameInterceptorClassListedTwiceInBeansXmlNotOk()
github
f)
Interceptors enabled using @Priority are called before interceptors enabled using beans.xml.
org.jboss.cdi.tck.tests.interceptors.ordering.global
EnterpriseInterceptorOrderingTest.testDecoratorsInWebInfClasses()
github
GlobalInterceptorOrderingTest.testOrderingInWebInfClasses()
github
The following assertion is not made explicitly by the spec, however it is implied g)
Interceptors declared using interceptor bindings are called after interceptors declared using the Interceptors annotation (or using the corresponding element of a deployment descriptor).
org.jboss.cdi.tck.tests.interceptors.definition.interceptorCalledBeforeDecorator
InterceptorCalledBeforeDecoratorTest.testInterceptorCalledBeforeDecorator()
github
org.jboss.cdi.tck.tests.interceptors.definition.enterprise.interceptorOrder
SessionBeanInterceptorOrderTest.testInterceptorsDeclaredUsingInterceptorsCalledBeforeInterceptorBinding()
github
org.jboss.cdi.tck.tests.interceptors.definition.lifecycle.enterprise.order
EnterpriseLifecycleInterceptorDefinitionTest.testLifecycleInterception()
github
org.jboss.cdi.tck.tests.interceptors.definition.lifecycle.order
LifecycleInterceptorOrderTest.testLifecycleCallbackInvocationOrder()
github
org.jboss.cdi.tck.tests.interceptors.definition.interceptorOrder
InterceptorOrderTest.testInterceptorsInvocationOrder()
github
The following assertion is not made explicitly by the spec, however it is implied h)
Interceptors declared using interceptor bindings are called before any around-invoke, around-timeout, or lifecycle event callback methods declared on the target class or any superclass of the target class.
org.jboss.cdi.tck.tests.interceptors.definition.enterprise.interceptorOrder
SessionBeanInterceptorOrderTest.testInterceptorsDeclaredUsingInterceptorsCalledBeforeInterceptorBinding()
github
org.jboss.cdi.tck.tests.interceptors.definition.lifecycle.enterprise.order
EnterpriseLifecycleInterceptorDefinitionTest.testLifecycleInterception()
github
org.jboss.cdi.tck.tests.interceptors.definition.lifecycle.order
LifecycleInterceptorOrderTest.testLifecycleCallbackInvocationOrder()
github
The following assertion is not made explicitly by the spec, however it is implied i)
By default, a bean archive has no enabled interceptors.
org.jboss.cdi.tck.tests.interceptors.ordering.global
EnterpriseInterceptorOrderingTest.testDecoratorsInWebInfClasses()
github
org.jboss.cdi.tck.tests.decorators.interceptor
DecoratorAndInterceptorTest.testMethodCallbacks()
github
org.jboss.cdi.tck.tests.interceptors.ordering.global
GlobalInterceptorOrderingTest.testOrderingInLib()
github
org.jboss.cdi.tck.tests.interceptors.definition.interceptorNotListedInBeansXml
InterceptorNotListedInBeansXmlNotEnabledTest.testInterceptorNotListedInBeansXmlNotInvoked()
github
a)
This specification extends the Java Interceptors specification and defines the effect of applying @Nonbinding to an interceptor binding member, and how the interceptor bindings of a custom implementation of the Interceptor interface are determined.
b)
If any interceptor binding has a member annotated @javax.enterprise.util.Nonbinding, the member is ignored when performing interceptor resolution, and the method does not need to have the same annotation member value.
org.jboss.cdi.tck.tests.interceptors.definition.member
InterceptorBindingTypeWithMemberTest.testInterceptorBindingTypeWithNonBindingMember()
github
For a custom implementation of the Interceptor interface defined in Section "interceptor", the container calls getInterceptorBindings() to determine the interceptor bindings of the interceptor and intercepts() to determine if the interceptor intercepts a given kind of lifecycle callback, EJB timeout or business method.
ca)
Check for @PostConstruct
org.jboss.cdi.tck.tests.interceptors.definition.custom
CustomInterceptorTest.testCustomPostConstructInterceptor()
github
cb)
Check for @PreDestroy
org.jboss.cdi.tck.tests.interceptors.definition.custom
CustomInterceptorTest.testCustomPreDestroyInterceptor()
github
cc)
Check for @PostActivate
org.jboss.cdi.tck.tests.interceptors.definition.custom
CustomInterceptorTest.testCustomPostActivateInterceptor()
github
cd)
Check for @PrePassivate
org.jboss.cdi.tck.tests.interceptors.definition.custom
CustomInterceptorTest.testCustomPrePassivateInterceptor()
github
ce)
Check for @AroundInvoke
org.jboss.cdi.tck.tests.interceptors.definition.custom
CustomInterceptorTest.testCustomAroundInvokeInterceptor()
github
cf)
Check for @AroundTimeout
org.jboss.cdi.tck.tests.interceptors.definition.custom
CustomInterceptorTest.testCustomAroundTimeoutInterceptor()
github
aa)
An event object is an instance of a concrete Java class with no unresolvable type variables.
org.jboss.cdi.tck.tests.event.eventTypes
EventTypesTest.testEventTypeIsConcreteTypeWithNoTypeVariables()
github
c)
The event types of the event include all superclasses and interfaces of the runtime class of the event object.
org.jboss.cdi.tck.tests.event.eventTypes
EventTypesTest.testEventTypeIncludesAllSuperclassesAndInterfacesOfEventObject()
github
cb)
An event type may not contain an unresolvable type variable.
d)
An event qualifier type is a Java annotation defined as @Target({FIELD, PARAMETER}) or @Target({METHOD, FIELD, PARAMETER, TYPE}) and @Retention(RUNTIME)
org.jboss.cdi.tck.tests.event.bindingTypes
EventBindingTypesTest.testEventBindingTypeTargetsMethodFieldParameterElementTypes()
github
e)
An event qualifier type is a Java annotation defined as @Target({FIELD, PARAMETER}) or @Target({METHOD, FIELD, PARAMETER, TYPE}) and @Retention(RUNTIME)
org.jboss.cdi.tck.tests.event.bindingTypes
EventBindingTypesTest.testEventBindingTypeTargetsFieldParameterElementTypes()
github
f)
An event qualifier type is a Java annotation defined as @Target({FIELD, PARAMETER}) or @Target({METHOD, FIELD, PARAMETER, TYPE}) and @Retention(RUNTIME)
org.jboss.cdi.tck.tests.event.bindingTypes
EventBindingTypesTest.testNonRuntimeBindingTypeIsNotAnEventBindingType()
github
EventBindingTypesTest.testFireEventWithNonRuntimeBindingTypeFails()
github
g)
All event qualifier types must specify the @javax.inject.Qualifier meta-annotation
org.jboss.cdi.tck.tests.event.bindingTypes
EventBindingTypesTest.testFireEventWithNonBindingAnnotationsFails()
github
i)
Every event has the qualifier @javax.enterprise.inject.Any, even if it does not explicitly declare this qualifier.
org.jboss.cdi.tck.tests.event.bindingTypes
EventBindingTypesTest.testEventAlwaysHasAnyBinding()
github
org.jboss.cdi.tck.tests.event.implicit
ImplicitEventTest.testImplicitEventHasAnyBinding()
github
j)
Any Java type may be an observed event type.
org.jboss.cdi.tck.tests.event.eventTypes
EventTypesTest.testEventTypeIsConcreteTypeWithNoTypeVariables()
github
EventTypesTest.testEventTypeIsArray()
github
a)
Beans fire events via an instance of the javax.enterprise.event.Event interface, which may be injected.
org.jboss.cdi.tck.tests.event.fires
FireEventTest.testInjectedAnyEventCanFireEvent()
github
b)
The method fire() accepts an event object.
org.jboss.cdi.tck.tests.event.fires
FireEventTest.testInjectedEventAcceptsEventObject()
github
c)
Any combination of qualifiers may be specified at the injection point.
org.jboss.cdi.tck.tests.event.fires
FireEventTest.testInjectedEventCanHaveBindings()
github
d)
Or, the @Any qualifier may be used, allowing the application to specify qualifiers dynamically.
org.jboss.cdi.tck.tests.event.fires
FireEventTest.testInjectedEventCanSpecifyBindingsDynamically()
github
ca)
The Event interface provides a method for firing events with a specified combination of type and qualifiers.
org.jboss.cdi.tck.tests.event.fires
FireEventTest.testEventProvidesMethodForFiringEventsWithCombinationOfTypeAndBindings()
github
cb)
For an injected Event, the specified type is the type parameter specified at the injection point, and the specified qualifiers are the qualifiers specified at the injection point.
org.jboss.cdi.tck.tests.event.fires
FireEventTest.testInjectedEventAcceptsEventObject()
github
FireEventTest.testInjectedEventCanHaveBindings()
github
eaa)
The select() method returns a child Event for a given specified type and additional specified qualifiers. If no specified type is given, the specified type is the same as the parent.
org.jboss.cdi.tck.tests.event.select
SelectEventTest.testEventSelectReturnsEventOfSameType()
github
eab)
If the specified type contains a type variable, an IllegalArgumentException is thrown.
org.jboss.cdi.tck.tests.event.select
SelectEventTest.testEventSelectThrowsExceptionIfEventTypeHasTypeVariable()
github
eba)
If two instances of the same qualifier type are passed to select(), an IllegalArgumentException is thrown.
org.jboss.cdi.tck.tests.event.select
SelectEventTest.testEventSelectThrowsExceptionForDuplicateBindingType()
github
SelectEventTest.testEventSelectWithSubtypeThrowsExceptionForDuplicateBindingType()
github
ec)
If an instance of an annotation that is not a qualifier type is passed to select(), an IllegalArgumentException is thrown.
org.jboss.cdi.tck.tests.event.select
SelectEventTest.testEventSelectThrowsExceptionIfAnnotationIsNotBindingType()
github
SelectEventTest.testEventSelectWithSubtypeThrowsExceptionIfAnnotationIsNotBindingType()
github
eda)
The method fire() fires an event with the specified qualifiers and notifies observers, as defined by Section 10.5, "Observer notification".
org.jboss.cdi.tck.tests.event.fires
FireEventTest.testEventSelectedFiresAndObserversNotified()
github
edb)
If the container is unable to resolve the parameterized type of the event object, it uses the specified type to infer the parameterized type of the event types.
org.jboss.cdi.tck.tests.event.parameterized
ParameterizedEventTest.testSelectedEventTypeUsedForResolvingEventTypeArguments()
github
ParameterizedEventTest.testSelectedEventTypeUsedForResolvingEventTypeArguments2()
github
ParameterizedEventTest.testSelectedEventTypeCombinedWithEventObjectRuntimeTypeForResolvingEventTypeArguments()
github
ParameterizedEventTest.testSelectedEventTypeCombinedWithEventObjectRuntimeTypeForResolvingEventTypeArguments2()
github
f)
If the runtime type of the event object contains an unresolvable type variable, an IllegalArgumentException is thrown.
org.jboss.cdi.tck.tests.event.parameterized
ParameterizedEventTest.testUnresolvedTypeVariableDetected1()
github
ParameterizedEventTest.testUnresolvedTypeVariableDetected2()
github
ParameterizedEventTest.testUnresolvedTypeVariableDetected3()
github
org.jboss.cdi.tck.tests.event.fires
FireEventTest.testEventFireThrowsExceptionIfEventObjectTypeContainsUnresovableTypeVariable()
github
g)
If the runtime type of the event object is assignable to the type of a container lifecycle event, IllegalArgumentException is thrown.
org.jboss.cdi.tck.tests.event.fires
FireEventTest.testFireContainerLifecycleEvent()
github
a)
The container must provide a built-in bean with Event<X> in its set of bean types, for every Java type x that does not contain a type variable.
org.jboss.cdi.tck.tests.event.implicit
ImplicitEventTest.testImplicitEventExistsForEachEventType()
github
b)
The container must provide a built-in bean with every event qualifier type in its set of qualifier types.
org.jboss.cdi.tck.tests.event.implicit
ImplicitEventTest.testImplicitEventHasAllExplicitBindingTypes()
github
d)
The container must provide a built-in bean with scope @Dependent.
org.jboss.cdi.tck.tests.event.implicit
ImplicitEventTest.testImplicitEventHasDependentScope()
github
e)
The container must provide a built-in bean with no bean EL name.
org.jboss.cdi.tck.tests.event.broken.raw
RawEventInitMethodInjectionTest.testDefinitionError()
github
RawEventProducerMethodInjectionTest.testDefinitionError()
github
RawEventDisposerInjectionTest.testDefinitionError()
github
RawEventProcessInjectionPointTest.testDefinitionError()
github
RawEventFieldInjectionTest.testDefinitionError()
github
RawEventCustomBeanTest.testDefinitionError()
github
RawEventObserverInjectionTest.testDefinitionError()
github
RawEventConstructorInjectionTest.testDefinitionError()
github
org.jboss.cdi.tck.tests.event.implicit
ImplicitEventTest.testImplicitEventHasNoName()
github
f)
The container must provide a built-in bean with an implementation provided automatically by the container.
org.jboss.cdi.tck.tests.event.implicit
ImplicitEventTest.testImplicitEventHasImplementation()
github
e)
If an injection point of raw type Event is defined, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.event.broken.raw
RawEventInitMethodInjectionTest.testDefinitionError()
github
RawEventProducerMethodInjectionTest.testDefinitionError()
github
RawEventDisposerInjectionTest.testDefinitionError()
github
RawEventProcessInjectionPointTest.testDefinitionError()
github
RawEventFieldInjectionTest.testDefinitionError()
github
RawEventCustomBeanTest.testDefinitionError()
github
RawEventObserverInjectionTest.testDefinitionError()
github
RawEventConstructorInjectionTest.testDefinitionError()
github
org.jboss.cdi.tck.tests.event.implicit
ImplicitEventTest.testImplicitEventHasNoName()
github
g)
The built-in implementation must be a passivation capable dependency, as defined in Section 6.6.2, "Passivation capable
dependencies".
org.jboss.cdi.tck.tests.event.implicit
ImplicitEventTest.testImplicitEventIsPassivationCapable()
github
a)
The process of matching an event to its observer methods is called observer resolution. The container considers event type and qualifiers when resolving observers.
b)
Observer resolution usually occurs at runtime.
An event is delivered to an observer method if the observer method belongs to an enabled bean, an event type is assignable to the observed event type, taking type parameters into consideration, the observer method has no event qualifiers or has a subset of the event qualifiers. An observer method has an event qualifier if it has an observed event qualifier with (a) the same type and (b) the same annotation member value for each member which is not annotated @javax.enterprise.util.Nonbinding. Also the event is not a container lifecycle event, as defined in Section 11.5 "Container lifecycle events", or the observer method belongs to an extension.
c)
Check an event is delivered if the observer method belongs to an enabled bean, an event type is assignable to the observed event type and has a subset of the event qualifiers.
org.jboss.cdi.tck.tests.event.observer
ObserverNotificationTest.testObserversNotified()
github
org.jboss.cdi.tck.tests.deployment.packaging.ear.modules
EnterpriseArchiveModulesTest.testProducerAndEventDuringDisposal()
github
org.jboss.cdi.tck.tests.deployment.packaging.war.modules
WebArchiveModulesTest.testDecoratorAndCrossModuleEventObserver()
github
WebArchiveModulesTest.testProducerAndEventDuringDisposal()
github
d)
Check an event is not delivered if the observer method belongs to an disabled bean.
org.jboss.cdi.tck.tests.event.observer
ObserverNotificationTest.testObserversNotified()
github
j)
If the runtime type of the event object contains an unresolvable type variable, the container must throw an IllegalArgumentException.
org.jboss.cdi.tck.tests.event.fires
FireEventTest.testEventFireThrowsExceptionIfEventObjectTypeContainsUnresovableTypeVariable()
github
k)
For a custom implementation of the ObserverMethod interface defined in Section 11.1.3, "The ObserverMethod interface", the container must call getObservedType() and getObservedQualifiers() to determine the observed event type and qualifiers.
org.jboss.cdi.tck.tests.event.observer.extension
BeanManagerObserverNotificationTest.testNotifyInvoked()
github
EventBeanObserverNotificationTest.testNotifyInvoked()
github
a)
An event type is considered assignable to a type variable if the event type is assignable to the upper bound, if any.
org.jboss.cdi.tck.tests.event.resolve.typeWithParameters
CheckTypeParametersWhenResolvingObserversTest.testEventTypeAssignableToATypeVariable()
github
b)
A parameterized event type is considered assignable to a raw observed event type if the raw types are identical.
org.jboss.cdi.tck.tests.event.resolve.typeWithParameters
CheckTypeParametersWhenResolvingObserversTest.testResolvingChecksTypeParameters()
github
CheckTypeParametersWhenResolvingObserversTest.testParameterizedEventTypeAssignableToRawType()
github
A parameterized event type is considered assignable to a parameterized observed event type if they have identical raw type and for each parameter the observed event type parameter is an actual type with identical raw type to the event type parameter, and, if the type is parameterized, the event type parameter is assignable to the observed event type parameter according to these rules, or the observed event type parameter is a wildcard and the event type parameter is assignable to the upper bound, if any, of the wildcard and assignable from the lower bound, if any, of the wildcard, or the observed event type parameter is a type variable and the event type parameter is
assignable to the upper bound, if any, of the type variable.
c)
Check the event type parameter and the observed event type parameter are actual types with identical raw type.
org.jboss.cdi.tck.tests.event.resolve.typeWithParameters
CheckTypeParametersWhenResolvingObserversTest.testObservedEventTypeParameterIsActualType()
github
d)
Check the event type parameter and the observed event type parameter are actual types with identical raw type for nested type parameters.
org.jboss.cdi.tck.tests.event.resolve.typeWithParameters
CheckTypeParametersWhenResolvingObserversTest.testObservedEventTypeParameterIsActualTypeNested()
github
org.jboss.cdi.tck.tests.event.parameterized
ParameterizedEventTest.testEventObjectTypeUsed()
github
e)
Check the observed event type parameter is a wildcard and the event type parameter is assignable to the upper bound, if any,
of the wildcard and assignable from the lower bound, if any, of the wildcard.
org.jboss.cdi.tck.tests.event.resolve.typeWithParameters
CheckTypeParametersWhenResolvingObserversTest.testObservedEventTypeParameterIsWildcard()
github
f)
Check the observed event type parameter is a type variable and the event type parameter is assignable to the upper bound, if
any, of the type variable.
org.jboss.cdi.tck.tests.event.resolve.typeWithParameters
CheckTypeParametersWhenResolvingObserversTest.testObservedEventTypeParameterIsTypeVariable()
github
a)
The qualifier type for an Event qualifier may have annotation members.
org.jboss.cdi.tck.tests.event.observer.resolve
ResolveEventObserversTest.testObserverMethodMayHaveMultipleBindingTypes()
github
org.jboss.cdi.tck.tests.event.resolve.binding
ResolvingChecksBindingTypeMembersTest.testResolvingChecksBindingTypeMembers()
github
b)
The container uses equals() to compare event qualifier type member values.
a)
An event parameter may have multiple qualifiers.
org.jboss.cdi.tck.tests.event
EventTest.testObserverMethodNotifiedWhenQualifiersMatch()
github
org.jboss.cdi.tck.tests.event.observer.resolve
ResolveEventObserversTest.testObserverMethodMayHaveMultipleBindingTypes()
github
b)
An observer method will only be notified if all the observed event qualifiers are specified when the event is fired.
org.jboss.cdi.tck.tests.event
EventTest.testObserverMethodNotifiedWhenQualifiersMatch()
github
aa)
An observer method allows the application to receive and respond to event notifications.
ab)
An observer method is a non-abstract method of a managed bean class or session bean class (or of an extension, as defined in Section 11.5, "Container lifecycle events").
org.jboss.cdi.tck.tests.event.resolve.typeWithParameters
CheckTypeParametersWhenResolvingObserversTest.testObservedEventTypeParameterIsActualType()
github
org.jboss.cdi.tck.tests.event.broken.observer.beanNotManaged
ObserverMethodOnIncorrectBeanTest.testObserverMethodNotOnManagedOrSessionBeanFails()
github
c)
An observer method may be either static or non-static.
org.jboss.cdi.tck.tests.event
EventTest.testStaticObserverMethodInvoked()
github
d)
If the bean is a session bean, the observer method must be either a business method of the EJB or a static method of the bean class.
org.jboss.cdi.tck.tests.event.broken.observer.notBusinessMethod
EJBObserverMethodNotBusinessMethodTest.testObserverMethodOnEnterpriseBeanNotBusinessMethodOrStaticFails()
github
org.jboss.cdi.tck.tests.event.observer.resolve.enterprise
ResolveEnterpriseEventObserverTest.testObserverMethodOnEnterpriseBeanIsBusinessMethodOrStatic()
github
e)
There may be arbitrarily many observer methods with the same event parameter type and qualifiers.
org.jboss.cdi.tck.tests.event.observer.resolve
ResolveEventObserversTest.testMultipleObserverMethodsForSameEventPermissible()
github
f)
A bean (or extension) may declare multiple observer methods.
org.jboss.cdi.tck.tests.event.observer.resolve
ResolveEventObserversTest.testMultipleObserverMethodsOnBeanPermissible()
github
a)
Each observer method must have exactly one event parameter, of the same type as the event type it observes. When searching for observer methods for an event, the container considers the type and qualifiers of the event parameter
org.jboss.cdi.tck.tests.event.resolve.binding
ResolvingChecksBindingTypeMembersTest.testResolvingChecksBindingTypeMembers()
github
org.jboss.cdi.tck.tests.event.broken.observer.tooManyParameters
ObserverMethodWithTwoEventParametersTest.testObserverMethodMustHaveOnlyOneEventParameter()
github
org.jboss.cdi.tck.tests.event.resolve.typeWithParameters
ChecksEventTypeWhenResolvingTest.testResolvingChecksEventType()
github
b)
If the event parameter does not explicitly declare any qualifier, the observer method observes events with no qualifier.
org.jboss.cdi.tck.tests.event.observer.resolve
ResolveEventObserversTest.testObserverMethodWithoutBindingTypesObservesEventsWithoutBindingTypes()
github
The event parameter type may contain a type variable or wildcard.
ca)
Test with a type variable.
org.jboss.cdi.tck.tests.event.observer.wildcardAndTypeVariable
ObserverMethodWithParametertizedTypeTest.testObserverMethodCanObserveTypeVariable()
github
cb)
Test with a wildcard.
org.jboss.cdi.tck.tests.event.observer.wildcardAndTypeVariable
ObserverMethodWithParametertizedTypeTest.testObserverMethodCanObserveWildcardType()
github
The event parameter may be an array type whose component type contains a type variable or a wildcard.
da)
Test with a type variable.
org.jboss.cdi.tck.tests.event.observer.wildcardAndTypeVariable
ObserverMethodWithParametertizedTypeTest.testObserverMethodCanObserveArrayTypeVariable()
github
db)
Test with a wildcard.
org.jboss.cdi.tck.tests.event.observer.wildcardAndTypeVariable
ObserverMethodWithParametertizedTypeTest.testObserverMethodCanObserveArrayWildcard()
github
a)
An observer method may be declared by annotating a parameter @javax.enterprise.event.Observes of a default-access, public, protected or private method. That parameter is the event parameter. The declared type of the parameter is the observed event type.
org.jboss.cdi.tck.tests.lookup.modules.specialization.alternative
Specialization04Test.testEvent()
github
Specialization03Test.testEvent()
github
Specialization02Test.testEvent()
github
Specialization01Test.testEvent()
github
Specialization05Test.testEvent()
github
Specialization06Test.testEvent()
github
org.jboss.cdi.tck.tests.event.observer.resolve
ResolveEventObserversTest.testMethodWithParameterAnnotatedWithObservesRegistersObserverMethod()
github
b)
If a method has more than one parameter annotated @Observes, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.event.broken.observer.tooManyParameters
ObserverMethodWithTwoEventParametersTest.testObserverMethodMustHaveOnlyOneEventParameter()
github
c)
Observed event qualifiers may be declared by annotating the event parameter.
org.jboss.cdi.tck.tests.event.observer.resolve
ResolveEventObserversTest.testObserverMethodMayHaveMultipleBindingTypes()
github
d)
If an observer method is annotated @Produces the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.event.broken.observer.isProducer
ObserverMethodAnnotatedProducesTest.testObserverMethodAnnotatedProducesFails()
github
e)
If an observer method is annotated @Inject the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.event.broken.observer.inject
DeploymentFailureTest.testDeploymentFailsBeforeNotifyingObserversAfterBeanDiscovery()
github
f)
If an observer method has a parameter annotated @Disposes, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.event.broken.observer.isDisposer
ObserverMethodAnnotatedDisposesTest.testObserverMethodWithDisposesParamFails()
github
g)
If a non-static method of a session bean class has a parameter annotated @Observes, and the method is not a business method of the EJB, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.event.broken.observer.notBusinessMethod
EJBObserverMethodNotBusinessMethodTest.testObserverMethodOnEnterpriseBeanNotBusinessMethodOrStaticFails()
github
h)
Interceptors and decorators may not declare observer methods. If an interceptor or decorator has a method with a parameter annotated @Observes, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.interceptors.definition.broken.observer
InterceptorWithObserverMethodTest.testInterceptorWithObserverMethodNotOk()
github
org.jboss.cdi.tck.tests.decorators.definition.broken.observer
DecoratorWithObserverMethodTest.testDecoratorWithObserverMethodNotOk()
github
i)
In addition to the event parameter, observer methods may declare additional parameters, which may declare qualifiers. These additional parameters are injection points.
org.jboss.cdi.tck.tests.event
EventTest.testObserverMethodParameterInjectionPoints()
github
org.jboss.cdi.tck.tests.event.observer.broken.validation.ambiguous
ObserverMethodParameterInjectionValidationTest.test()
github
org.jboss.cdi.tck.tests.event.observer.broken.validation.unsatisfied
ObserverMethodParameterInjectionValidationTest.test()
github
The interface javax.enterprise.inject.spi.EventMetadata provides access to metadata about an observed event.
a)
getQualifiers() returns the set of qualifiers with which the event was fired.
org.jboss.cdi.tck.tests.event.metadata
EventMetadataTest.testSimpleEvent()
github
b)
getInjectionPoint() returns the InjectionPoint from which this event payload was fired, or null if it was fired from BeanManager.fireEvent().
org.jboss.cdi.tck.tests.event.metadata
EventMetadataTest.testSimpleEvent()
github
org.jboss.cdi.tck.tests.event.metadata.injectionpoint
EventMetadataInjectionPointTest.testGetBean()
github
EventMetadataInjectionPointTest.testIsTransient()
github
EventMetadataInjectionPointTest.testGetType()
github
EventMetadataInjectionPointTest.testGetQualifiers()
github
EventMetadataInjectionPointTest.testGetMember()
github
EventMetadataInjectionPointTest.testGetAnnotatedType()
github
c)
getType() returns the type representing runtime class of the event object with type variables resolved.
org.jboss.cdi.tck.tests.event.metadata
EventMetadataTest.testSimpleEvent()
github
d)
The container must provide a bean with scope @Dependent, bean type EventMetadata and qualifier @Default, allowing observer methods to obtain information about the events they observe.
org.jboss.cdi.tck.tests.event.metadata
EventMetadataTest.testSimpleEvent()
github
e)
If an injection point of type EventMetadata and qualifier @Default which is not a parameter of an observer method exists, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.event.metadata.broken.initializer
InvalidEventMetadataInjectionPointTest.testDeployment()
github
a)
A conditional observer method may be declared by specifying receive=IF_EXISTS.
org.jboss.cdi.tck.tests.event.observer.conditional
ConditionalObserverTest.testConditionalObserver()
github
b)
Beans with scope @Dependent may not have conditional observer methods. If a bean with scope @Dependent has an observer method declared receive=IF_EXISTS, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.event.broken.observer.dependentIsConditionalObserver
DependentIsConditionalObserverTest.testDependentBeanWithConditionalObserverMethodIsDefinitionError()
github
c)
The enumeration javax.enterprise.event.Reception identifies the possible values of receive.
org.jboss.cdi.tck.tests.event.observer.conditional
ConditionalObserverTest.testNotifyEnumerationContainsNotifyValues()
github
a)
Transactional observer methods are observer methods which receive event notifications during the before or after completion phase of the transaction in which the event was fired. If no transaction is in progress when the event is fired, they are notified at the same time as other observers
org.jboss.cdi.tck.tests.event.observer.transactional
TransactionalObserverTest.testSucessfullTransaction()
github
TransactionalObserverTest.testFailedTransaction()
github
TransactionalObserverTest.testNoTransaction()
github
b)
A before completion observer method is called during the before completion phase of the transaction
org.jboss.cdi.tck.tests.event.observer.transactional
TransactionalObserverTest.testSucessfullTransaction()
github
TransactionalObserverTest.testFailedTransaction()
github
c)
An after completion observer method is called during the after completion phase of the transaction
org.jboss.cdi.tck.tests.event.observer.transactional
TransactionalObserverTest.testSucessfullTransaction()
github
TransactionalObserverTest.testFailedTransaction()
github
d)
An after success observer method is called during the after completion phase of the transaction, only when the transaction completes successfully
org.jboss.cdi.tck.tests.event.observer.transactional
TransactionalObserverTest.testSucessfullTransaction()
github
TransactionalObserverTest.testFailedTransaction()
github
e)
An after failure observer method is called during the after completion phase of the transaction, only when the transaction fails
org.jboss.cdi.tck.tests.event.observer.transactional
TransactionalObserverTest.testSucessfullTransaction()
github
TransactionalObserverTest.testFailedTransaction()
github
f)
The enumeration javax.enterprise.event.TransactionPhase identifies the kind of transactional observer method.
gaa)
A transactional observer method may be declared by specifying any value other than IN_PROGRESS for during.
org.jboss.cdi.tck.tests.event.observer.transactional
TransactionalObserverTest.testSucessfullTransaction()
github
TransactionalObserverTest.testFailedTransaction()
github
aa)
When an event is fired by the application, the container must determine the observers for that event according to the observer resolution defined by Section 10.2, "Observer resolution", then then for each observer method, either invoke the observer method immediately or register the observer method for later invocation during the transaction completion phase, using a JTA Synchronization.
org.jboss.cdi.tck.tests.event.observer
ObserverNotificationTest.testObserversNotified()
github
org.jboss.cdi.tck.tests.event.observer.resolve
ResolveEventObserversTest.testObserverMethodRegistration()
github
ba)
The container calls observer methods as defined in Section 5.5.6, "Invocation of observer methods".
bb)
If the observer method is a transactional observer method and there is currently a JTA transaction in progress, the container calls the observer method during the appropriate transaction completion phase. Otherwise, the container calls the observer immediately.
org.jboss.cdi.tck.tests.event.observer.transactional
TransactionalObserverTest.testSucessfullTransaction()
github
TransactionalObserverTest.testFailedTransaction()
github
bc)
If the observer method is a transactional observer method and there is currently a JTA transaction in progress, the container calls the observer method during the appropriate transaction completion phase. Otherwise, the container calls the observer immediately.
org.jboss.cdi.tck.tests.event.observer.transactional
TransactionalObserverTest.testNoTransaction()
github
bca)
If there is no context active for the scope to which the bean declaring the observer method belongs, then the observer method should not be called.
org.jboss.cdi.tck.tests.event.observer
ObserverNotificationTest.testObserverMethodNotInvokedIfNoActiveContext()
github
org.jboss.cdi.tck.tests.event.observer.conditional
ConditionalObserverTest.testConditionalObserverMethodNotInvokedIfNoActiveContext()
github
bcb)
The order in which observer methods are called is not defined, and so portable applications should not rely upon the order in which observers are called.
bda)
Any observer method called before completion of a transaction may call setRollbackOnly() to force a transaction rollback.
org.jboss.cdi.tck.tests.event.observer.transactional
TransactionalObserverTest.testObserverFailedTransaction()
github
bdb)
An observer method may not directly initiate, commit or rollback JTA transactions.
ca)
Observers may throw exceptions. If an observer method is a transactional observer method, any exception is caught and logged by the container.
cb)
Observers may throw exceptions. If an observer method is a transactional observer method, any exception is caught and logged by the container. Otherwise, the exception aborts processing of the event.
org.jboss.cdi.tck.tests.event.observer.abortProcessing
ObserverExceptionAbortsProcessingTest.testObserverThrowsExceptionAbortsNotifications()
github
cc)
Observers may throw exceptions. If an observer method is a transactional observer method, any exception is caught and logged by the container. Otherwise, the exception aborts processing of the event. No other observer methods of that event will be called. The BeanManager.fireEvent() or Event.fire() method rethrows the exception. If the exception is a checked exception, it is wrapped and rethrown as an (unchecked) ObserverException.
org.jboss.cdi.tck.tests.event.observer.runtimeException
ObserverExceptionRethrownTest.testNonTransactionalObserverThrowsNonCheckedExceptionIsRethrown()
github
cd)
Observers may throw exceptions. If an observer method is a transactional observer method, any exception is caught and logged by the container. Otherwise, the exception aborts processing of the event. No other observer methods of that event will be called. The BeanManager.fireEvent() or Event.fire() method rethrows the exception. If the exception is a checked exception, it is wrapped and rethrown as an (unchecked) ObserverException.
org.jboss.cdi.tck.tests.event.observer.checkedException
CheckedExceptionWrappedTest.testNonTransactionalObserverThrowsCheckedExceptionIsWrappedAndRethrown()
github
For a custom implementation of the ObserverMethod interface defined in Section 11.1.3, "The ObserverMethod interface", the container must call getTransactionPhase() to determine if the observer method is a transactional observer method, and notify() to invoke the method.
fa)
Check getTransactionPhase() is called.
org.jboss.cdi.tck.tests.event.observer.transactional.custom
CustomTransactionalObserverTest.testCustomTransactionalObserver()
github
fb)
Check notify() is called.
org.jboss.cdi.tck.tests.event.observer.extension
BeanManagerObserverNotificationTest.testNotifyInvoked()
github
EventBeanObserverNotificationTest.testNotifyInvoked()
github
org.jboss.cdi.tck.tests.event.observer.transactional.custom
CustomTransactionalObserverTest.testCustomTransactionalObserver()
github
ba)
If the observer method is a before completion transactional observer method, it is called within the context of the transaction that is about to complete and with the same client security context and lifecycle contexts.
No tests exist for this assertion
c)
If the observer method is any other kind of transactional observer method, it is called in an unspecified transaction context, but with the same client security context and lifecycle contexts as the transaction that just completed.
No tests exist for this assertion
da)
If an observer method is not a before completion transactional method, and not any other kind of transactional observer method, then the observer method is called in the same transaction context, client security context and lifecycle contexts as the invocation of Event.fire() or BeanManager.fireEvent().
No tests exist for this assertion
e)
The transaction and security contexts for a business method of a session bean also depend upon the transaction attribute and @RunAs descriptor, if any.
No tests exist for this assertion
a)
A portable extension may integrate with the container by providing its own beans, interceptors and decorators to the container.
b)
A portable extension may integrate with the container by injecting dependencies into its own objects using the dependency injection service.
c)
A portable extension may integrate with the container by providing a context implementation for a custom scope.
f)
Augmenting or overriding the annotation-based metadata with metadata from some other source.
The BeanAttributes interface exposes the basic attributes of a bean.
ba)
getTypes(), getQualifiers(), getScope(), getName() and getStereotypes() must return the bean types, qualifiers, scope type, EL name and stereotypes of the bean, as defined in Chapter 2, Concepts.
org.jboss.cdi.tck.tests.definition.bean
BeanDefinitionTest.testQualifiersNonEmpty()
github
BeanDefinitionTest.testHasScopeType()
github
BeanDefinitionTest.testBeanTypes()
github
BeanDefinitionTest.testGenericBeanTypes()
github
BeanDefinitionTest.testRawBeanTypes()
github
BeanDefinitionTest.testMultipleStereotypes()
github
org.jboss.cdi.tck.tests.extensions.lifecycle.processBeanAttributes.broken.invalid
InvalidStereotypeTest.test()
github
InvalidQualifierTest.test()
github
bc)
isAlternative() must return true if the bean is an alternative, and false otherwise.
org.jboss.cdi.tck.tests.alternative
AlternativeAvailabilityTest.testIsAlternative()
github
The interface javax.enterprise.inject.spi.Bean defines everything the container needs to manage instances of a certain bean.
bb)
getBeanClass() returns the bean class of the managed bean or session bean or of the bean that declares the producer method or field.
org.jboss.cdi.tck.tests.definition.bean
BeanDefinitionTest.testBeanClassOnSimpleBean()
github
c)
getInjectionPoints() returns a set of InjectionPoint objects, defined in Section 5.5.7, "Injection point metadata", representing injection points of the bean, that will be validated by the container at initialization time.
org.jboss.cdi.tck.tests.definition.qualifier
QualifierDefinitionTest.testDefaultQualifierForInjectionPoint()
github
bd)
isNullable() is deprecated in CDI 1.1 and should be ignored by the container.
aa)
Implementations of Bean must also implement the inherited operations defined by the Contextual interface defined in Section 6.1, "The Contextual interface".
org.jboss.cdi.tck.tests.context.dependent
DependentContextTest.testContextIsActiveWhenInvokingDisposalMethod()
github
org.jboss.cdi.tck.tests.context
DestroyedInstanceReturnedByGetTest.testDestroyedInstanceMustNotBeReturnedByGet()
github
f)
An instance of Bean exists for every enabled bean.
org.jboss.cdi.tck.tests.extensions.lifecycle.bbd
DeploymentTest.testOnlyEnabledBeansDeployed()
github
g)
A portable extension may add support for new kinds of beans beyond those defined by the this specification (managed beans, session beans, producer methods, producer fields and resources) by implementing Bean and registering beans with the container, using the mechanism defined in Section 11.5.2, "AfterBeanDiscovery event".
a)
The Bean object for a decorator must implement the interface javax.enterprise.inject.spi.Decorator.
org.jboss.cdi.tck.tests.decorators.definition
DecoratorDefinitionTest.testDecoratorIsManagedBean()
github
b)
getDecoratedTypes() returns the decorated types of the decorator.
org.jboss.cdi.tck.tests.decorators.definition
DecoratorDefinitionTest.testDecoratedTypes()
github
c)
getDelegateType() and getDelegateQualifiers() return the delegate type and qualifiers of the decorator.
org.jboss.cdi.tck.tests.decorators.definition
DecoratorDefinitionTest.testDelegateInjectionPoint()
github
d)
An instance of Decorator exists for every enabled decorator.
org.jboss.cdi.tck.tests.decorators.definition
DecoratorDefinitionTest.testInstanceOfDecoratorForEachEnabled()
github
a)
The Bean object for an interceptor must implement javax.enterprise.inject.spi.Interceptor.
org.jboss.cdi.tck.tests.interceptors.definition
InterceptorDefinitionTest.testInterceptorsImplementInterceptorInterface()
github
b)
getInterceptorBindings() returns the interceptor bindings of the interceptor.
org.jboss.cdi.tck.tests.interceptors.definition
InterceptorDefinitionTest.testInterceptorBindingTypes()
github
c)
intercepts() returns true if the interceptor intercepts the specified kind of lifecycle callback or method invocation, and false otherwise.
org.jboss.cdi.tck.tests.interceptors.definition
InterceptorDefinitionTest.testInterceptionType()
github
d)
intercept() invokes the specified kind of lifecycle callback or method invocation interception upon the given instance of the interceptor.
org.jboss.cdi.tck.tests.extensions.interceptors.custom
CustomInterceptorInvocationTest.testCustomInterceptorInvocation()
github
e)
An InterceptionType identifies the kind of lifecycle callback, EJB timeout method or business method.
org.jboss.cdi.tck.tests.interceptors.definition
InterceptorDefinitionTest.testInterceptionType()
github
f)
An instance of Interceptor exists for every enabled interceptor.
org.jboss.cdi.tck.tests.interceptors.definition
InterceptorDefinitionTest.testInstanceOfInterceptorForEveryEnabledInterceptor()
github
a)
The interface javax.enterprise.inject.spi.ObserverMethod defines everything the container needs to know about an observer method.
b)
getBeanClass() returns the bean class of the bean that declares the observer method.
org.jboss.cdi.tck.tests.event.observer.method
ObserverMethodTest.testGetBeanClassOnObserverMethod()
github
c)
getObservedType() and getObservedQualifiers() return the observed event type and qualifiers.
org.jboss.cdi.tck.tests.event.observer.method
ObserverMethodTest.testGetObservedTypeOnObserverMethod()
github
ObserverMethodTest.testGetObservedQualifiersOnObserverMethod()
github
d)
getReception() returns IF_EXISTS for a conditional observer and ALWAYS otherwise.
org.jboss.cdi.tck.tests.event.observer.method
ObserverMethodTest.testGetNotifyOnObserverMethod()
github
e)
getTransactionPhase() returns the appropriate transaction phase for a transactional observer method or IN_PROGRESS otherwise.
org.jboss.cdi.tck.tests.event.observer.method
ObserverMethodTest.testGetTransactionPhaseOnObserverMethod()
github
f)
notify() calls the observer method, as defined in Section 5.5.6 "Invocation of observer methods".
org.jboss.cdi.tck.tests.event.observer.method
ObserverMethodTest.testNotifyOnObserverMethod()
github
ga)
An instance of ObserverMethod exists for every observer method of every enabled bean.
org.jboss.cdi.tck.tests.event.observer.method
ObserverMethodTest.testInstanceOfBeanForEveryEnabledObserverMethod()
github
a)
The interface javax.enterprise.inject.spi.Producer provides a generic operation for producing an instance of a type.
For a Producer that represents a class, produce() calls the constructor annotated @Inject if it exists, or the constructor with no parameters otherwise, as defined in Section 5.5.1, "Injection using the bean constructor". and returns the resulting instance. If the class has interceptors, produce() is responsible for building the interceptors and decorators of the instance.
ba)
Test field injection occurs
org.jboss.cdi.tck.tests.extensions.producer
ProducerTest.testProduceAndInjectCallsInitializerAndConstructor()
github
bb)
Test initializer methods called
org.jboss.cdi.tck.tests.extensions.producer
ProducerTest.testProduceAndInjectCallsInitializerAndConstructor()
github
bc)
Test constructor injected
org.jboss.cdi.tck.tests.extensions.producer
ProducerTest.testProduceAndInjectCallsInitializerAndConstructor()
github
bd)
Test decorator stack built
org.jboss.cdi.tck.tests.extensions.producer
ProducerTest.testInterceptorAndDecoratorStackBuilt()
github
be)
Test interceptor stack built
org.jboss.cdi.tck.tests.extensions.producer
ProducerTest.testInterceptorAndDecoratorStackBuilt()
github
c)
For a Producer that represents a class, dispose() does nothing.
org.jboss.cdi.tck.tests.extensions.producer
ProducerTest.testDisposeDoesNothing()
github
For a Producer that represents a class, getInjectionPoints() returns a set of InjectionPoint objects representing all injected fields, bean constructor parameters and initializer method parameters.
da)
Test injected fields.
org.jboss.cdi.tck.tests.extensions.producer
ProducerTest.testGetInjectionPointsForFields()
github
db)
Test bean constructor parameters.
org.jboss.cdi.tck.tests.extensions.producer
ProducerTest.testGetInjectionPointsForConstructorAndInitializer()
github
dc)
Test initializer method parameters.
org.jboss.cdi.tck.tests.extensions.producer
ProducerTest.testGetInjectionPointsForConstructorAndInitializer()
github
For a Producer that represents a producer method or field, produce() calls the producer method on, or accesses the producer field of, a contextual instance of the bean that declares the producer method, as defined in Section 5.5.4, "Invocation of producer or disposer methods".
eaa)
Test with producer method.
org.jboss.cdi.tck.tests.extensions.producer
ProducerTest.testProduceCallsProducerMethod()
github
eba)
Test with producer field.
org.jboss.cdi.tck.tests.extensions.producer
ProducerTest.testProduceAccessesProducerField()
github
For a Producer that represents a producer method or field, dispose() calls the disposer method, if any, on a contextual instance of the bean that declares the disposer method, as defined in Section 5.5.4, "Invocation of producer or disposer methods", or performs any additional required cleanup, if any, to destroy state associated with a resource.
faa)
Test with producer method.
org.jboss.cdi.tck.tests.extensions.producer
ProducerTest.testProducerForMethodDisposesProduct()
github
g)
For a Producer that represents a producer method, getInjectionPoints() returns the set of InjectionPoint objects representing all parameters of the producer method.
org.jboss.cdi.tck.tests.extensions.producer
ProducerTest.testInjectionPointsForProducerMethod()
github
h)
The subinterface javax.enterprise.inject.spi.InjectionTarget provides operations for performing dependency injection and lifecycle callbacks on an instance of a type.
i)
inject() performs dependency injection upon the given object. The container performs Java EE component environment injection, according to the semantics required by the Java EE platform specification, sets the value of all injected fields, and calls all initializer methods, as defined in Section 5.5.2, "Injection of fields and initializer methods".
org.jboss.cdi.tck.tests.extensions.producer
ProducerTest.testInjectionTargetInject()
github
j)
postConstruct() calls the @PostConstruct callback, if it exists, according to the semantics required by the Java EE platform specification.
org.jboss.cdi.tck.tests.extensions.producer
ProducerTest.testInjectionTargetPostConstruct()
github
k)
preDestroy() calls the @PreDestroy callback, if it exists, according to the semantics required by the Java EE platform specification.
org.jboss.cdi.tck.tests.extensions.producer
ProducerTest.testInjectionTargetPreDestroy()
github
l)
Implementations of Producer and InjectionTarget must ensure that the set of injection points returned by getInjectionPoints() are injected by produce() or inject().
The container provides a built-in bean with bean type BeanManager, scope @Dependent and qualifier @Default.
aa)
Test the bean type.
org.jboss.cdi.tck.tests.lookup.manager
ManagerTest.testContainerProvidesManagerBean()
github
ab)
Test the scope.
org.jboss.cdi.tck.tests.lookup.manager
ManagerTest.testManagerBeanIsDependentScoped()
github
ac)
Test the qualifier.
org.jboss.cdi.tck.tests.lookup.manager
ManagerTest.testManagerBeanHasCurrentBinding()
github
Exception is thrown if the following operations are called before the {@Link AfterDeploymentValidation} event is fired:
ad)
Test getBeans(String)
org.jboss.cdi.tck.tests.extensions.beanManager.bootstrap.unavailable.methods
UnavailableMethodsDuringApplicationInitializationTest.testUnavailableMethods()
github
ae)
Test getBeans(Type, Annotation...)
org.jboss.cdi.tck.tests.extensions.beanManager.bootstrap.unavailable.methods
UnavailableMethodsDuringApplicationInitializationTest.testUnavailableMethods()
github
af)
Test getPassivationCapableBean(String)
org.jboss.cdi.tck.tests.extensions.beanManager.bootstrap.unavailable.methods
UnavailableMethodsDuringApplicationInitializationTest.testUnavailableMethods()
github
ag)
Test resolve(Set)
org.jboss.cdi.tck.tests.extensions.beanManager.bootstrap.unavailable.methods
UnavailableMethodsDuringApplicationInitializationTest.testUnavailableMethods()
github
ah)
Test resolveDecorators(Set, Annotation...)
org.jboss.cdi.tck.tests.extensions.beanManager.bootstrap.unavailable.methods
UnavailableMethodsDuringApplicationInitializationTest.testUnavailableMethods()
github
ai)
Test resolveInterceptors(InterceptionType, Annotation...)
org.jboss.cdi.tck.tests.extensions.beanManager.bootstrap.unavailable.methods
UnavailableMethodsDuringApplicationInitializationTest.testUnavailableMethods()
github
aj)
Test resolveObserverMethods(Object, Annotation...)
org.jboss.cdi.tck.tests.extensions.beanManager.bootstrap.unavailable.methods
UnavailableMethodsDuringApplicationInitializationTest.testUnavailableMethods()
github
ak)
Test validate(InjectionPoint)
org.jboss.cdi.tck.tests.extensions.beanManager.bootstrap.unavailable.methods
UnavailableMethodsDuringApplicationInitializationTest.testUnavailableMethods()
github
al)
Test getReference(Bean, Type, CreationalContext)
org.jboss.cdi.tck.tests.extensions.beanManager.bootstrap.unavailable.methods
UnavailableMethodsDuringApplicationInitializationTest.testUnavailableMethods()
github
am)
Test getInjectableReference(InjectionPoint, CreationalContext)
org.jboss.cdi.tck.tests.extensions.beanManager.bootstrap.unavailable.methods
UnavailableMethodsDuringApplicationInitializationTest.testUnavailableMethods()
github
b)
The built-in implementation must be a passivation capable dependency, as defined in Section 6.6.2, "Passivation capable dependencies".
org.jboss.cdi.tck.tests.lookup.manager
ManagerTest.testManagerBeanIsPassivationCapable()
github
c)
Any bean may obtain an instance of BeanManager by injecting it.
org.jboss.cdi.tck.tests.lookup.manager
ManagerTest.testInjectingManager()
github
e)
Any operation of BeanManager may be called at any time during the execution of the application.
A portable extension or other object may obtain a reference to the current container by calling CDI.current(). CDI.getBeanManager() may be called at any time after the container fires the BeforeBeanDiscovery container
lifecycle event until the container fires the BeforeShutdown container lifecycle event. Other methods on CDI may be called after the application initialization is completed until the application shutdown starts.
aa)
Test CDI.getBeanManager() is called before the application initialization is completed.
org.jboss.cdi.tck.tests.lookup.manager.provider.init
CDIProviderInitTest.testAccessingBeanManager()
github
ab)
Test CDI.getBeanManager() is called after the application initialization is completed.
org.jboss.cdi.tck.tests.lookup.manager.provider.runtime
CDIProviderRuntimeTest.testGetBeanManager()
github
ac)
Test lookup of bean instances after the application initialization is completed.
org.jboss.cdi.tck.tests.lookup.manager.provider.runtime
CDIProviderRuntimeTest.testLookup()
github
The CDIProvider to use may be set by the application or container using the setCDIProvider() method. If the setCDIProvider() has not been called, the first service provider of the service javax.enterprise.inject.spi.CDIProvider
declared in META-INF/services is used. If no provider is available an IllegalStateException is thrown.
ba)
Test using CDIProvider set by the application.
org.jboss.cdi.tck.tests.lookup.manager.provider.custom
CustomCDIProviderTest.testCustomCDIProvider()
github
d)
Java EE components may obtain an instance of BeanManager from JNDI by looking up the name java:comp/BeanManager.
org.jboss.cdi.tck.tests.lookup.manager.jndi
ManagerTest.testManagerLookupInJndi()
github
ManagerTestEar.testManagerLookupInJndi()
github
a)
The method BeanManager.getReference() returns a contextual reference for a given bean and bean type, as defined in Section 6.5.3, "Contextual reference for a bean".
org.jboss.cdi.tck.tests.lookup.manager
ManagerTest.testGetReferenceReturnsContextualInstance()
github
b)
The first parameter is the Bean object representing the bean. The second parameter represents the bean type that must be implemented by any client proxy that is returned. The third parameter is an instance of CreationalContext that may be used to destroy any object with scope @Dependent that is created.
org.jboss.cdi.tck.tests.lookup.manager
ManagerTest.testGetReferenceReturnsContextualInstance()
github
c)
If the given type is not a bean type of the given bean, an IllegalArgumentException is thrown.
org.jboss.cdi.tck.tests.lookup.manager
ManagerTest.testGetReferenceWithIllegalBeanType()
github
a)
The method BeanManager.getInjectableReference() returns an injectable reference for a given injection point, as defined in Section 6.5.5, "Injectable references".
org.jboss.cdi.tck.tests.lookup.injectionpoint
InjectableReferenceTest.testGetInjectableReferenceOnBeanManager()
github
ab)
The first parameter represents the target injection point. The second parameter is an instance of CreationalContext that may be used to destroy any object with scope @Dependent that is created.
org.jboss.cdi.tck.tests.lookup.injectionpoint
InjectableReferenceTest.testGetInjectableReferenceOnBeanManager()
github
b)
If the InjectionPoint represents a decorator delegate injection point, getInjectableReference() returns a delegate, as defined in Section 8.1.2, "Decorator delegate injection points".
org.jboss.cdi.tck.tests.lookup.injectionpoint
InjectableReferenceTest.testGetInjectableReferenceReturnsDelegateForDelegateInjectionPoint()
github
bb)
If typesafe resolution results in an unsatisfied dependency, the container must throw an UnsatisfiedResolutionException.
org.jboss.cdi.tck.tests.lookup.injectionpoint.broken.reference.unresolved
UnsatisfiedInjectableReferenceTest.testUnsatisfiedReference()
github
bc)
If typesafe resolution results in an unresolvable ambiguous dependency, the container must throw an AmbiguousResolutionException.
org.jboss.cdi.tck.tests.lookup.injectionpoint.broken.reference.ambiguous
AmbiguousInjectableReferenceTest.testUnsatisfiedReference()
github
c)
Implementations of Bean usually maintain a reference to an instance of BeanManager. When the Bean implementation performs dependency injection, it must obtain the contextual instances to inject by calling BeanManager.getInjectableReference(), passing an instance of InjectionPoint that represents the injection point and the instance of CreationalContext that was passed to Bean.create().
No tests exist for this assertion
A helper class, Unmanaged provides a set of methods optimized for working with unmanaged instances.
a)
Test creating an injector for the given class, using the current bean manager.
org.jboss.cdi.tck.tests.extensions.beanManager.unmanaged
UnmanagedInstanceTest.testObtainNonContextualInstanceUsingCurrentBeanManager()
github
b)
Test creating an injector for the given class.
org.jboss.cdi.tck.tests.extensions.beanManager.unmanaged
UnmanagedInstanceTest.testObtainNonContextualInstance()
github
a)
An instance of CreationalContext for a certain instance of Contextual may be obtained by calling BeanManager.createCreationalContext().
org.jboss.cdi.tck.tests.lookup.injectionpoint
InjectableReferenceTest.testGetInjectableReferenceOnBeanManager()
github
b)
An instance of CreationalContext for a non-contextual object may be obtained by passing a null value to createCreationalContext().
org.jboss.cdi.tck.tests.lookup.injection.non.contextual
CreationalContextForNonContextualTest.testCreationalContext()
github
The method BeanManager.getBeans() returns the set of beans which have the given required type and qualifiers and are available for injection in the module or library containing the class into which the BeanManager was injected or the Java EE component from whose JNDI environment namespace the BeanManager was obtained, according to the rules for candidates of typesafe resolution defined in Section 5.2.1, “Performing typesafe resolution”.
aa)
Test simple scenario.
org.jboss.cdi.tck.tests.extensions.bean.bytype
BeanByTypeTest.testGetBeans()
github
The following assertion is not made explicitly by the spec, however it is implied ab)
Test alternatives are not filtered.
org.jboss.cdi.tck.tests.extensions.bean.bytype
BeanByTypeTest.testGetBeansDoesNotResolveAlternatives()
github
b)
The first parameter is a required bean type. The remaining parameters are required qualifiers.
org.jboss.cdi.tck.tests.extensions.bean.bytype
BeanByTypeTest.testGetBeans()
github
c)
If no qualifiers are passed to getBeans(), the default qualifier @Default is assumed.
org.jboss.cdi.tck.tests.extensions.bean.bytype
BeanByTypeTest.testNoBindingImpliesCurrent()
github
da)
If the given type represents a type variable, an IllegalArgumentException is thrown.
org.jboss.cdi.tck.tests.extensions.bean.bytype
BeanByTypeTest.testTypeVariable()
github
e)
If two instances of the same qualifier type are given, an IllegalArgumentException is thrown.
org.jboss.cdi.tck.tests.extensions.bean.bytype
BeanByTypeTest.testSameBindingTwice()
github
f)
If an instance of an annotation that is not a qualifier type is given, an IllegalArgumentException is thrown.
org.jboss.cdi.tck.tests.extensions.bean.bytype
BeanByTypeTest.testNonBindingType()
github
aa)
The method BeanManager.getBeans() which accepts a string returns the set of beans which have the given EL name and are available for injection in the module or library containing the class into which the BeanManager was injected or the Java EE component from whose JNDI environment namespace the BeanManager was obtained, according to the rules of EL name resolution defined in Section 5.3, "EL name resolution".
org.jboss.cdi.tck.tests.lookup.byname
ResolutionByNameTest.testAmbiguousELNamesResolved()
github
b)
The parameter is an EL name.
org.jboss.cdi.tck.tests.lookup.byname
ResolutionByNameTest.testAmbiguousELNamesResolved()
github
a)
The method BeanManager.getPassivationCapableBean() returns the PassivationCapable bean with the given identifier (see Section 6.6.1, "Passivation capable beans").
org.jboss.cdi.tck.tests.extensions.beanManager
PassivationIdTest.testGetPassivationCapableBeanById()
github
a)
The method BeanManager.resolve() applies the ambiguous dependency resolution rules defined in Section 5.2.1, "Unsatisfied and ambiguous dependencies" to a set of Beans.
org.jboss.cdi.tck.tests.extensions.beanManager
BeanManagerTest.testAmbiguousDependencyResolved()
github
b)
If the ambiguous dependency resolution rules fail, the container must throw an AmbiguousResolutionException.
org.jboss.cdi.tck.tests.extensions.beanManager
BeanManagerTest.testAmbiguousDependencyNotResolved()
github
The method BeanManager.resolve() must return null, if:
c)
null is passed to resolve(),
org.jboss.cdi.tck.tests.extensions.beanManager
BeanManagerTest.testResolveWithNull()
github
d)
no beans are passed to resolve(),
org.jboss.cdi.tck.tests.extensions.beanManager
BeanManagerTest.testResolveWithEmptySet()
github
a)
The BeanManager.validate() operation validates an injection point and throws an InjectionException if there is a deployment problem (for example, an unsatisfied or unresolvable ambiguous dependency) associated with the injection point.
org.jboss.cdi.tck.tests.extensions.beanManager
BeanManagerTest.testValidateThrowsException()
github
a)
The method BeanManager.fireEvent() fires an event and notifies observers, according to Section 10.5, "Observer notification".
org.jboss.cdi.tck.tests.event.fires
FireEventTest.testBeanManagerFireEvent()
github
b)
The first argument is the event object. The remaining parameters are event qualifiers.
org.jboss.cdi.tck.tests.event.fires
FireEventTest.testBeanManagerFireEvent()
github
c)
If the runtime type of the event object contains a type variable, an IllegalArgumentException is thrown.
org.jboss.cdi.tck.tests.event.fires
FireEventTest.testTypeVariableEventTypeFails()
github
d)
If two instances of the same qualifier type are given, an IllegalArgumentException is thrown.
org.jboss.cdi.tck.tests.event.fires
FireEventTest.testDuplicateBindingsToFireEventFails()
github
e)
If an instance of an annotation that is not a qualifier type is given, an IllegalArgumentException is thrown.
org.jboss.cdi.tck.tests.event.fires.nonbinding
NonBindingTypePassedToFireTest.testExceptionThrownIfNonBindingTypePassedToFire()
github
f)
If the runtime type of the event object is assignable to the type of a container lifecycle event, IllegalArgumentException is thrown.
org.jboss.cdi.tck.tests.extensions.beanManager.broken.event
FireContainerLifecycleEventTest.testFireContainerLifecycleEvent()
github
a)
The method BeanManager.resolveObserverMethods() resolves observer methods for an event according to the rules of observer resolution defined in Section 10.2, "Observer resolution".
org.jboss.cdi.tck.tests.event.resolve.typeWithParameters
CheckTypeParametersWhenResolvingObserversTest.testResolvingChecksTypeParameters()
github
org.jboss.cdi.tck.tests.event.observer.resolve
ResolveEventObserversTest.testBeanManagerResolveObserversSignature()
github
b)
The first parameter of resolveObserverMethods() is the event object. The remaining parameters are event qualifiers.
org.jboss.cdi.tck.tests.event.observer.resolve
ResolveEventObserversTest.testBeanManagerResolveObserversSignature()
github
c)
If the runtime type of the event object contains a type variable, an IllegalArgumentException is thrown.
org.jboss.cdi.tck.tests.event
EventTest.testEventObjectContainsTypeVariablesWhenResolvingFails()
github
d)
If two instances of the same qualifier type are given, an IllegalArgumentException is thrown.
org.jboss.cdi.tck.tests.event.resolve.binding
DuplicateBindingTypesWhenResolvingTest.testDuplicateBindingTypesWhenResolvingFails()
github
e)
If an instance of an annotation that is not a qualifier type is given, an IllegalArgumentException is thrown.
org.jboss.cdi.tck.tests.event.observer.resolve
ResolveEventObserversTest.testBeanManagerResolveObserversWithIllegalQualifier()
github
a)
The method BeanManager.resolveDecorators() returns the ordered list of decorators for a set of bean types and a set of qualifiers which are enabled in the module or library containing the class into which the BeanManager was injected or the Java EE component from whose JNDI environment namespace the BeanManager was obtained, as defined in Section 8.3, "Decorator resolution".
org.jboss.cdi.tck.tests.decorators.definition
DecoratorDefinitionTest.testDecoratedTypes()
github
DecoratorDefinitionTest.testDecoratorOrdering()
github
b)
The first argument is the set of bean types of the decorated bean. The annotations are qualifiers declared by the decorated bean.
org.jboss.cdi.tck.tests.decorators.definition
DecoratorDefinitionTest.testDecoratedTypes()
github
c)
If two instances of the same qualifier type are given, an IllegalArgumentException is thrown.
org.jboss.cdi.tck.tests.decorators.definition
DecoratorDefinitionTest.testDuplicateBindingsOnResolveDecoratorsFails()
github
d)
If an instance of an annotation that is not a qualifier type is given, an IllegalArgumentException is thrown.
org.jboss.cdi.tck.tests.decorators.definition
DecoratorDefinitionTest.testNonBindingsOnResolveDecoratorsFails()
github
e)
If the set of bean types is empty, an IllegalArgumentException is thrown.
org.jboss.cdi.tck.tests.event.resolve.nonbinding
NonBindingTypesWhenResolvingTest.testNonBindingTypeAnnotationWhenResolvingFails()
github
org.jboss.cdi.tck.tests.decorators.definition
DecoratorDefinitionTest.testEmptyTypeSetOnResolveDecoratorsFails()
github
a)
The method BeanManager.resolveInterceptors() returns the ordered list of interceptors for a set of interceptor bindings and a type of interception which are enabled in the module or library containing the class into which the BeanManager was injected or the Java EE component from whose JNDI environment namespace the BeanManager was obtained, as defined in Section 9.5, "Interceptor resolution".
org.jboss.cdi.tck.tests.interceptors.definition
InterceptorDefinitionTest.testResolveInterceptorsReturnsOrderedList()
github
b)
If two instances of the same interceptor binding type are given, an IllegalArgumentException is thrown.
org.jboss.cdi.tck.tests.interceptors.definition
InterceptorDefinitionTest.testSameBindingTypesToResolveInterceptorsFails()
github
c)
If no interceptor binding type instance is given, an IllegalArgumentException is thrown.
org.jboss.cdi.tck.tests.interceptors.definition
InterceptorDefinitionTest.testNoBindingTypesToResolveInterceptorsFails()
github
d)
If an instance of an annotation that is not an interceptor binding type is given, an IllegalArgumentException is thrown.
org.jboss.cdi.tck.tests.interceptors.definition
InterceptorDefinitionTest.testNonBindingTypeToResolveInterceptorsFails()
github
A portable extension may test an annotation to determine if it is a qualifier type, scope type, stereotype or interceptor binding type, obtain the set of meta-annotations declared by a stereotype or interceptor binding type, or determine if a scope type is a normal or passivating scope.
aa)
Test qualifier type.
org.jboss.cdi.tck.tests.extensions.beanManager
BeanManagerTest.testDetermineQualifierType()
github
ab)
Test scope type.
org.jboss.cdi.tck.tests.extensions.beanManager
BeanManagerTest.testDetermineScope()
github
ac)
Test stereotype.
org.jboss.cdi.tck.tests.extensions.beanManager
BeanManagerTest.testDetermineStereotype()
github
ad)
Test interceptor binding type.
org.jboss.cdi.tck.tests.extensions.beanManager
BeanManagerTest.testDetermineInterceptorBindingType()
github
ae)
Test meta-annotations for stereotype.
org.jboss.cdi.tck.tests.extensions.beanManager
BeanManagerTest.testGetMetaAnnotationsForStereotype()
github
af)
Test meta-annotations for interceptor binding type.
org.jboss.cdi.tck.tests.extensions.beanManager
BeanManagerTest.testGetMetaAnnotationsForInterceptorBindingType()
github
ag)
Test obtaining a ScopeType.
org.jboss.cdi.tck.tests.extensions.beanManager
BeanManagerTest.testDetermineScopeType()
github
A portable extension may determine if two qualifiers or two interceptor bindings are considered equivalent for the purposes of typesafe resolution, as defined in Section 5.2.1, "Performing typesafe resolution".
a)
Test equivalence of qualifiers using BeanManager.areQualifiersEquivalent().
org.jboss.cdi.tck.tests.extensions.beanManager.equivalence.qualifier
QualifierEquivalenceTest.testAreQualifiersEquivalent()
github
b)
Test equivalence of interceptor bindings using BeanManager.areInterceptorBindingsEquivalent().
org.jboss.cdi.tck.tests.extensions.beanManager.equivalence.interceptorbinding
InterceptorBindingEquivalenceTest.testAreInterceptorBindingsEquivalent()
github
A portable extension may determine the hash code of a qualifier or and interceptor binding, ignoring any members annotated with @Nonbinding.
c)
Determine the hash code of a qualifier using BeanManager.getQualifierHashCode().
org.jboss.cdi.tck.tests.extensions.beanManager.equivalence.qualifier
QualifierEquivalenceTest.testGetQualifierHashCode()
github
d)
Determine the hash code of an interceptor binding using BeanManager.getInterceptorBindingHashCode().
org.jboss.cdi.tck.tests.extensions.beanManager.equivalence.interceptorbinding
InterceptorBindingEquivalenceTest.testGetInterceptorBindingHashCode()
github
a)
The method BeanManager.getContext() retrieves an active context object associated with the a given scope, as defined in Section 6.5.1, "The active context object for a scope".
org.jboss.cdi.tck.tests.context
ContextTest.testBuiltInContexts()
github
a)
The method BeanManager.getELResolver() returns the javax.el.ELResolver specified in Section 12.4, "Integration with Unified EL".
org.jboss.cdi.tck.tests.extensions.beanManager
BeanManagerTest.testGetELResolver()
github
a)
The method BeanManager.wrapExpressionFactory() returns a wrapper javax.el.ExpressionFactory that delegates MethodExpression and ValueExpression creation to the given ExpressionFactory.
org.jboss.cdi.tck.tests.extensions.beanManager.el
WrapExpressionFactoryTest.testWrapping()
github
b)
When a Unified EL expression is evaluated using a MethodExpression or ValueExpression returned by the wrapper ExpressionFactory, the rules defined in Section 6.4.3, "Dependent pseudo-scope and Unified EL" are enforced by the container.
org.jboss.cdi.tck.tests.extensions.beanManager.el
WrapExpressionFactoryTest.testWrapping()
github
a)
The method BeanManager.createAnnotatedType() returns an AnnotatedType that may be used to read the annotations of a given Java class or interface.
org.jboss.cdi.tck.tests.extensions.beanManager
BeanManagerTest.testObtainingAnnotatedType()
github
The method BeanManager.createInjectionTarget() returns a container provided implementation of InjectionTarget for a given AnnotatedType or throws an IllegalArgumentException if there is a definition error associated with any injection point of the type.
aa)
Check InjectionTarget is provided.
org.jboss.cdi.tck.tests.extensions.beanManager
BeanManagerTest.testObtainingInjectionTarget()
github
ab)
Check IllegalArgumentException is thrown.
org.jboss.cdi.tck.tests.extensions.beanManager
BeanManagerTest.testObtainingInjectionTargetWithDefinitionError()
github
The method BeanManager.createProducer() returns a container provided implementation of Producer for a given AnnotatedMethod or AnnotatedField or throws an IllegalArgumentException if there is a definition error associated with the producer method or field.
a)
Test that the method BeanManager.createProducer() returns a container provided implementation of Producer for a given AnnotatedMethod.
org.jboss.cdi.tck.tests.extensions.beanManager.producer
SyntheticProducerTest.testStaticProducerMethod()
github
SyntheticProducerTest.testNonStaticProducerMethod()
github
b)
Test that the method BeanManager.createProducer() returns a container provided implementation of Producer for a given AnnotatedField.
org.jboss.cdi.tck.tests.extensions.beanManager.producer
SyntheticProducerTest.testStaticProducerField()
github
SyntheticProducerTest.testNonStaticProducerField()
github
c)
Test that the method BeanManager.createProducer() throws an IllegalArgumentException if there is a definition error associated with the producer method.
org.jboss.cdi.tck.tests.extensions.beanManager.producer
SyntheticProducerTest.testInvalidProducerMethod1()
github
SyntheticProducerTest.testInvalidProducerMethod2()
github
d)
Test that the method BeanManager.createProducer() throws an IllegalArgumentException if there is a definition error associated with the producer field.
org.jboss.cdi.tck.tests.extensions.beanManager.producer
SyntheticProducerTest.testInvalidProducerField1()
github
SyntheticProducerTest.testInvalidProducerField2()
github
SyntheticProducerTest.testInvalidProducerField3()
github
The method BeanManager.createInjectionPoint() returns a container provided implementation of InjectionPoint for a given AnnotatedField or AnnotatedParameter or throws an IllegalArgumentException if there is a definition error associated with the injection point.
a)
Test that the method BeanManager.createInjectionPoint() returns a container provided implementation of InjectionPoint for a given AnnotatedField.
org.jboss.cdi.tck.tests.extensions.beanManager.injectionPoint
CreateInjectionPointTest.testField()
github
b)
Test that the method BeanManager.createInjectionPoint() returns a container provided implementation of InjectionPoint for a given AnnotatedParameter.
org.jboss.cdi.tck.tests.extensions.beanManager.injectionPoint
CreateInjectionPointTest.testConstructorParameter()
github
CreateInjectionPointTest.testMethodParameter()
github
c)
Test that the method BeanManager.createInjectionPoint() throws an IllegalArgumentException if there is a definition error associated with the injection point.
org.jboss.cdi.tck.tests.extensions.beanManager.injectionPoint
CreateInjectionPointTest.testInvalidField()
github
CreateInjectionPointTest.testInvalidParameter()
github
The method BeanManager.createBeanAttributes() returns a container provided implementation of BeanAttributes by reading the annotations of a given AnnotatedType or AnnotatedMember, according to the rules define in Chapter 2, Concepts, or throws an IllegalArgumentException if there is a definition error associated with the declared bean attributes.
a)
Test that the method BeanManager.createBeanAttributes() returns a container provided implementation of BeanAttributes by reading the annotations of a given AnnotatedType.
org.jboss.cdi.tck.tests.extensions.lifecycle.processBeanAttributes.synthetic
ProcessBeanAttributesNotFiredForSyntheticBeanTest.testProcessBeanAttributesNotFired()
github
org.jboss.cdi.tck.tests.extensions.beanManager.beanAttributes
CreateBeanAttributesTest.testBeanAttributesForManagedBean()
github
CreateBeanAttributesTest.testBeanAttributesForManagedBeanWithModifiedAnnotatedType()
github
CreateBeanAttributesTest.testBeanAttributesForSessionBean()
github
b)
Test that the method BeanManager.createBeanAttributes() returns a container provided implementation of BeanAttributes by reading the annotations of a given AnnotatedMember.
org.jboss.cdi.tck.tests.extensions.beanManager.beanAttributes
CreateBeanAttributesTest.testBeanAttributesForMethod()
github
CreateBeanAttributesTest.testBeanAttributesForField()
github
c)
Test that the method BeanManager.createBeanAttributes() throws an IllegalArgumentException if there is a definition error associated with the declared bean attributes.
org.jboss.cdi.tck.tests.extensions.beanManager.beanAttributes
CreateBeanAttributesTest.testInvalidMember()
github
The method BeanManager.createBean() returns a container provided implementation of Bean. The method accepts a BeanAttributes, which determines the bean types, qualifiers, scope, name and stereotypes of the returned Bean, and the return values of isAlternative() and isNullable(), and a class, which determines the return value of Bean.getClass().
a)
Test the first version of the method BeanManager.createBean() that also accepts an InjectionTarget, which is used to create and destroy instances of the bean, to perform dependency injection and lifecycle callbacks, and which determines the return value of Bean.getInjectionPoints().
org.jboss.cdi.tck.tests.extensions.beanManager.bean
SyntheticBeanTest.testRegisteredBean()
github
SyntheticBeanTest.testSerializableBean()
github
SyntheticBeanTest.testSyntheticDecorator()
github
b)
Test the second version of the method BeanManager.createBean() that also accepts a Producer, which is used to create and destroy instances of the bean, and which determines the return value of Bean.getInjectionPoints().
org.jboss.cdi.tck.tests.extensions.beanManager.bean
SyntheticBeanTest.testSyntheticProducerField()
github
SyntheticBeanTest.testSyntheticProducerMethod()
github
The method BeanManager.getExtension() returns the container's instance of an Extension class declared in META-INF/services, or throws an IllegalArgumentException if the container has no instance of the given class.
a)
Test that the method BeanManager.getExtension() returns the container's instance of an Extension class declared in META-INF/services.
org.jboss.cdi.tck.tests.extensions.beanManager
BeanManagerTest.testGetExtension()
github
b)
Test that the method BeanManager.getExtension() throws an IllegalArgumentException if the container has no instance of the given class.
org.jboss.cdi.tck.tests.extensions.beanManager
BeanManagerTest.testGetExtension()
github
a)
The interfaces AnnotatedType, AnnotatedField, AnnotatedMethod, AnnotatedConstructor and AnnotatedParameter in the package javax.enterprise.inject.spi allow a portable extension to specify metadata that overrides the annotations that exist on a bean class. The portable extension is responsible for implementing the interfaces, thereby exposing the metadata to the container.
The interface javax.enterprise.inject.spi.AnnotatedType exposes the Class object and members.
aaa)
Test that getConstructors() returns all default-access, public, protected or private constructors declared for the type.
org.jboss.cdi.tck.tests.extensions.annotated
AlternativeMetaDataTest.testConstructors()
github
aab)
Test that getMethods() returns all default-access, public, protected or private methods declared on the type and those declared on any supertypes.
org.jboss.cdi.tck.tests.extensions.annotated
AlternativeMetaDataTest.testMethods()
github
aac)
The container should call AnnotatedMethod.getJavaMember().getDeclaringClass() to determine the type in the type hierarchy that declared the method.
No tests exist for this assertion
aad)
Test that getFields() returns all default-access, public, protected or private fields declared on the type and those declared on any supertypes.
org.jboss.cdi.tck.tests.extensions.annotated
AlternativeMetaDataTest.testFields()
github
b)
When determining annotations on a type, the container must only consider the special inheritance rules defined for scope types in Section 4.1, "Inheritance of type-level metadata".
org.jboss.cdi.tck.tests.extensions.alternative.metadata.annotated
AnnotatedTypeAnnotationsTest.testCreateAnnotatedType()
github
AnnotatedTypeAnnotationsTest.testProcessAnnotatedType()
github
AnnotatedTypeAnnotationsTest.testGetAnnotatedType()
github
AnnotatedTypeAnnotationsTest.testGetAnnotatedTypes()
github
The interface javax.enterprise.inject.spi.Annotated exposes the overriding annotations and type declarations.
c)
getBaseType() returns the type of the program element.
org.jboss.cdi.tck.tests.extensions.annotated
AlternativeMetaDataTest.testBaseType()
github
d)
getTypeClosure() returns all types to which the base type should be considered assignable.
org.jboss.cdi.tck.tests.extensions.annotated
AlternativeMetaDataTest.testTypeClosure()
github
e)
getAnnotation() returns the program element annotation of the given annotation type, or a null value.
org.jboss.cdi.tck.tests.extensions.annotated
AlternativeMetaDataTest.testGetAnnotation()
github
f)
getAnnotations() returns all annotations of the program element.
org.jboss.cdi.tck.tests.extensions.annotated
AlternativeMetaDataTest.testGetAnnotations()
github
g)
isAnnotationPresent() returns true if the program element has an annotation of the given annotation type, or false otherwise.
org.jboss.cdi.tck.tests.extensions.annotated
AlternativeMetaDataTest.testIsAnnotationPresent()
github
The container must use the operations of Annotated and its subinterfaces to discover program element types and annotations. The container must not directly call the Java Reflection API. In particular, the container must call Annotated.getBaseType() to determine the type of an injection point, event parameter or disposed parameter, call Annotated.getTypeClosure() to determine the bean types of any kind of bean, call Annotated.getAnnotations() to determine the scope, qualifiers, stereotypes and interceptor bindings of a bean, call Annotated.isAnnotationPresent() and Annotated.getAnnotation() to read any bean annotations defined by this specification, and call
AnnotatedType.getConstructors(), AnnotatedType.getMethods() and AnnotatedType.getFields() to determine the members of a bean class.
h)
Check that the container uses the operations of Annotated and its subinterfaces to discover program element types and annotations. and that the container does not use the Java Reflection API.
org.jboss.cdi.tck.tests.extensions.alternative.metadata
AlternativeMetadataTest.testContainerUsesOperationsOfAnnotatedNotReflectionApi()
github
ha)
Check that getBaseType() is used to determine the type of a field injection point. The base type should be different from the orignal type specified in the class definition
org.jboss.cdi.tck.tests.extensions.alternative.metadata
AlternativeMetadataTest.testGetBaseTypeUsedToDetermineTypeOfInjectionPoint()
github
hb)
Check that getBaseType() is used to determine the type of an initializer method injection point. The base type should be different from the orignal type specified in the class definition
org.jboss.cdi.tck.tests.extensions.alternative.metadata
AlternativeMetadataTest.testGetBaseTypeUsedToDetermineTypeOfInitializerInjectionPoint()
github
hc)
Check that getBaseType() is used to determine the type of a constructor injection point. The base type should be different from the orignal type specified in the class definition
org.jboss.cdi.tck.tests.extensions.alternative.metadata
AlternativeMetadataTest.testGetBaseTypeUsedToDetermineTypeOfConstructorInjectionPoint()
github
hd)
Check that getBaseType() is used to determine the type of a producer method injection point. The base type should be different from the orignal type specified in the class definition
org.jboss.cdi.tck.tests.extensions.alternative.metadata
AlternativeMetadataTest.testGetBaseTypeUsedToDetermineTypeOfProducerInjectionPoint()
github
he)
Check that getBaseType() is used to determine the type of a observer method injection point. The base type should be different from the orignal type specified in the class definition
org.jboss.cdi.tck.tests.extensions.alternative.metadata
AlternativeMetadataTest.testGetBaseTypeUsedToDetermineTypeOfObserverInjectionPoint()
github
hf)
Check that getBaseType() is used to determine the type of a disposer method injection point. The base type should be different from the orignal type specified in the class definition
org.jboss.cdi.tck.tests.extensions.alternative.metadata
AlternativeMetadataTest.testGetBaseTypeUsedToDetermineTypeOfDisposerInjectionPoint()
github
i)
Check that getBaseType() is used to determine the type of an event parameter. The base type should be different from the orignal type specified in the class definition
org.jboss.cdi.tck.tests.extensions.alternative.metadata
AlternativeMetadataTest.testGetBaseTypeUsedToDetermineTypeOfEventParameter()
github
j)
Check that getBaseType() is used to determine the type of disposed parameter. The base type should be different from the orignal type specified in the class definition
org.jboss.cdi.tck.tests.extensions.alternative.metadata
AlternativeMetadataTest.testGetBaseTypeUsedToDetermineTypeOfDisposalParameter()
github
ka)
Check that a getTypeClosure() is used to determine the bean types for a managed bean. The type closure should be different from the orignal type specified in the class definition.
org.jboss.cdi.tck.tests.extensions.alternative.metadata
AlternativeMetadataTest.testGetTypeClosureUsed()
github
kb)
Check that a getTypeClosure() is used to determine the bean types for a session bean. The type closure should be different from the orignal type specified in the class definition.
org.jboss.cdi.tck.tests.extensions.alternative.metadata
AlternativeMetadataTest.testGetTypeClosureUsedToDetermineTypeOfSessionBean()
github
kc)
Check that a getTypeClosure() is used to determine the bean types for a producer field. The type closure should be different from the orignal type specified in the class definition.
org.jboss.cdi.tck.tests.extensions.alternative.metadata
AlternativeMetadataTest.testGetTypeClosureUsedToDetermineTypeOfProducerField()
github
kd)
Check that a getTypeClosure() is used to determine the bean types for a producer method. The type closure should be different from the orignal type specified in the class definition.
org.jboss.cdi.tck.tests.extensions.alternative.metadata
AlternativeMetadataTest.testGetTypeClosureUsedToDetermineTypeOfProducerMethod()
github
l)
Check that getAnnotations() is used to determine the bean scope. The annotations should be different from the orignal type specified in the class definition.
org.jboss.cdi.tck.tests.extensions.alternative.metadata
AlternativeMetadataTest.testGetAnnotationUsedForGettingScopeInformation()
github
m)
Check that getAnnotations() is used to determine the bean qualifiers. The annotations should be different from the orignal type specified in the class definition.
org.jboss.cdi.tck.tests.extensions.alternative.metadata
AlternativeMetadataTest.testGetAnnotationUsedForGettingQualifierInformation()
github
n)
Check that getAnnotations() is used to determine the bean stereotypes. The annotations should be different from the orignal type specified in the class definition.
org.jboss.cdi.tck.tests.extensions.alternative.metadata
AlternativeMetadataTest.testGetAnnotationUsedForGettingStereotypeInformation()
github
p)
Check that getAnnotations() is used to determine the bean interceptors. The annotations should be different from the orignal type specified in the class definition.
org.jboss.cdi.tck.tests.extensions.alternative.metadata.interceptor
AlternativeMetadataInterceptorInjectionTargetTest.testInterceptorInterceptsOnlyBindedClass()
github
org.jboss.cdi.tck.tests.extensions.alternative.metadata
AlternativeMetadataTest.testGetAnnotationUsedForGettingInterceptorInformation()
github
q)
Check that isAnnotationPresent() returns the provided annotations
r)
Check that a previously non-inject-annotated constructor is used by the container to instantiate a bean.
org.jboss.cdi.tck.tests.extensions.alternative.metadata
AlternativeMetadataTest.testPreviouslyNonInjectAnnotatedConstructorIsUsed()
github
s)
Check that a qualifier added to a constructor parameter is used by the container to instantiate a bean.
org.jboss.cdi.tck.tests.extensions.alternative.metadata
AlternativeMetadataTest.testGetBaseTypeUsedToDetermineTypeOfConstructorInjectionPoint()
github
t)
Check that a previously non-inject-annotated field is injected.
org.jboss.cdi.tck.tests.extensions.alternative.metadata
AlternativeMetadataTest.testPreviouslyNonInjectAnnotatedFieldIsInjected()
github
u)
Check that an extra qualifier is applied to a field.
org.jboss.cdi.tck.tests.extensions.alternative.metadata
AlternativeMetadataTest.testExtraQualifierIsAppliedToInjectedField()
github
v)
Check that @Produces added creates a producer field.
org.jboss.cdi.tck.tests.extensions.alternative.metadata
AlternativeMetadataTest.testProducesCreatesProducerField()
github
w)
Check that a previously non-inject-annotated method is injected.
org.jboss.cdi.tck.tests.extensions.alternative.metadata
AlternativeMetadataTest.testInjectCreatesInitializerMethod()
github
x)
Check that an extra qualifier is applied to an injectable method
org.jboss.cdi.tck.tests.extensions.alternative.metadata
AlternativeMetadataTest.testQualifierAddedToInitializerParameter()
github
y)
Check that @Produces added creates a producer method
org.jboss.cdi.tck.tests.extensions.alternative.metadata
AlternativeMetadataTest.testProducesCreatesProducerMethod()
github
z)
Check that an extra qualifier is applied to a producer method.
org.jboss.cdi.tck.tests.extensions.alternative.metadata
AlternativeMetadataTest.testQualifierIsAppliedToProducerMethod()
github
aa)
Check that a qualifer added to a producer method parameter is applied.
org.jboss.cdi.tck.tests.extensions.alternative.metadata
AlternativeMetadataTest.testQualifierIsAppliedToProducerMethodParameter()
github
ab)
Check that @Disposes added to a parameter creates a disposes method
org.jboss.cdi.tck.tests.extensions.alternative.metadata
AlternativeMetadataTest.testDisposesIsAppliedToMethodParameter()
github
ac)
Check that an extra qualifier is applied to a disposes method parameter.
org.jboss.cdi.tck.tests.extensions.alternative.metadata
AlternativeMetadataTest.testGetBaseTypeUsedToDetermineTypeOfDisposalParameter()
github
ad)
Check that a qualifer added to a disposes method injectable parameter is applied.
org.jboss.cdi.tck.tests.extensions.alternative.metadata
AlternativeMetadataTest.testGetBaseTypeUsedToDetermineTypeOfDisposerInjectionPoint()
github
ae)
Check that @Observes added to a parameter creates a observer method
org.jboss.cdi.tck.tests.extensions.alternative.metadata
AlternativeMetadataTest.testObserverMethod()
github
af)
Check that an extra qualifier is applied to an observes method parameter.
org.jboss.cdi.tck.tests.extensions.alternative.metadata
AlternativeMetadataTest.testExtraQualifierAppliedToObservesMethodParameter()
github
ag)
Check that a qualifer added to a observes method injectable parameter is applied.
org.jboss.cdi.tck.tests.extensions.alternative.metadata
AlternativeMetadataTest.testObserverMethod()
github
a)
During the application initialization process, the container fires a series of events, allowing portable extensions to integrate with the container initialization process defined in Section 12.2, "Application initialization lifecycle".
b)
Observer methods of these events must belong to extensions. An extension is a service provider of the service javax.enterprise.inject.spi.Extension declared in META-INF/services.
org.jboss.cdi.tck.tests.extensions.interceptors
InterceptorExtensionTest.testInterceptorAddedByClass()
github
InterceptorExtensionTest.testLifecycleInterceptor()
github
InterceptorExtensionTest.testInterceptorAddedByAnnotatedType()
github
org.jboss.cdi.tck.tests.extensions.registration
BeanRegistrationByExtensionInNonBeanArchiveTest.shouldFindBeanReference()
github
TwoBeansOneClassTest.testTwoBeansWithOneBaseClass()
github
VisibilityOfBeanRegisteredByExtensionFromNonBeanLibraryTest.shouldFindBeanReference()
github
org.jboss.cdi.tck.tests.deployment.packaging.visibility
VisibilityOfAnnotatedTypesFromExtensionInBravoBeanArchiveTest.shouldObserveExpectedAnnotatedTypes()
github
VisibilityOfAnnotatedTypesFromExtensionInAlphaBeanArchiveTest.shouldObserveExpectedAnnotatedTypes()
github
bb)
Service providers may have observer methods, which may observer any event, including any container lifecycle event, and obtain an injected BeanManager reference.
org.jboss.cdi.tck.tests.extensions.lifecycle
ExtensionLifecycleTest.testContainerDeliversEventNotifications()
github
org.jboss.cdi.tck.tests.extensions.interceptors
InterceptorExtensionTest.testInterceptorAddedByClass()
github
InterceptorExtensionTest.testLifecycleInterceptor()
github
InterceptorExtensionTest.testInterceptorAddedByAnnotatedType()
github
org.jboss.cdi.tck.tests.deployment.packaging.ear.modules
EnterpriseArchiveModulesTest.testExtensionAndContainerEvents()
github
org.jboss.cdi.tck.tests.extensions.registration
BeanRegistrationByExtensionInNonBeanArchiveTest.shouldFindBeanReference()
github
TwoBeansOneClassTest.testTwoBeansWithOneBaseClass()
github
org.jboss.cdi.tck.tests.deployment.packaging.war.modules
WebArchiveModulesTest.testExtensionAndContainerEvents()
github
org.jboss.cdi.tck.tests.extensions.registration
VisibilityOfBeanRegisteredByExtensionFromNonBeanLibraryTest.shouldFindBeanReference()
github
bc)
An extension may use BeanManager.fireEvent() to deliver events to observer methods defined on extensions.
org.jboss.cdi.tck.tests.extensions.communication
ExtensionsCommunicationTest.testEvents()
github
bd)
The container is not required to deliver events fired during application initialization to observer methods defined on beans.
be)
Any decorators associated with BeanManager will not be applied.
org.jboss.cdi.tck.tests.decorators.builtin.beanmanager
BeanManagerDecoratorTest.testDecoratorIsNotApplied()
github
d)
The container instantiates a single instance of each extension at the beginning of the application initialization process and maintains a reference to it until the application shuts down. The container delivers event notifications to this instance by calling its observer methods.
org.jboss.cdi.tck.tests.extensions.lifecycle
ExtensionLifecycleTest.testContainerInstantiatesSingleInstanceOfExtension()
github
ExtensionLifecycleTest.testContainerDeliversEventNotifications()
github
e)
For each service provider, the container must provide a bean of scope @ApplicationScoped and qualifier @Default, supporting injection of a reference to the service provider instance. The bean types of this bean include the class of the service provider and all superclases and interfaces.
org.jboss.cdi.tck.tests.extensions.lifecycle
ExtensionLifecycleTest.testContainerInstantiatesSingleInstanceOfExtension()
github
ExtensionLifecycleTest.testContainerDeliversEventNotifications()
github
ExtensionLifecycleTest.testContainerProvidesBeanForExtension()
github
a)
The container must fire an event before it begins the bean discovery process. The event object must be of type javax.enterprise.inject.spi.BeforeBeanDiscovery.
org.jboss.cdi.tck.tests.extensions.lifecycle.bbd
BeforeBeanDiscoveryTest.testBeforeBeanDiscoveryEventIsCalled()
github
addQualifier() declares an annotation type as a qualifier type.
ab)
Test Class method parameter.
org.jboss.cdi.tck.tests.extensions.lifecycle.bbd
BeforeBeanDiscoveryTest.testAddingQualifierByClass()
github
aba)
Test AnnotatedType method parameter.
org.jboss.cdi.tck.tests.extensions.lifecycle.bbd
BeforeBeanDiscoveryTest.testAddingQualifierByAnnotatedType()
github
ac)
addScope() declares an annotation type as a scope type.
org.jboss.cdi.tck.tests.extensions.lifecycle.bbd.broken.passivatingScope
AddingPassivatingScopeTest.testAddingScopeType()
github
org.jboss.cdi.tck.tests.extensions.lifecycle.bbd.broken.normalScope
AddingNormalScopeTest.testAddingScopeType()
github
org.jboss.cdi.tck.tests.extensions.lifecycle.bbd
BeforeBeanDiscoveryTest.testAddingScopeType()
github
ad)
addStereotype() declares an annotation type as a stereotype, and specifies its meta-annotations.
org.jboss.cdi.tck.tests.extensions.stereotype
StereotypeExtensionTest.testStereotypeWorks()
github
addInterceptorBinding() declares an annotation type as an interceptor binding type, and specifies its meta-annotations.
ae)
Test Class method parameter.
org.jboss.cdi.tck.tests.extensions.interceptors
InterceptorExtensionTest.testInterceptorAddedByClass()
github
InterceptorExtensionTest.testLifecycleInterceptor()
github
aea)
Test AnnotatedType method parameter.
org.jboss.cdi.tck.tests.extensions.interceptors
InterceptorExtensionTest.testInterceptorAddedByAnnotatedType()
github
addAnnotatedType() adds a given AnnotatedType to the set of types which will be scanned during bean discovery, with an optional identifier.
af)
Test the addAnnotatedType() method.
org.jboss.cdi.tck.tests.extensions.alternative.metadata.interceptor
AlternativeMetadataInterceptorTest.testInterceptorInterceptsOnlyBindedClass()
github
org.jboss.cdi.tck.tests.extensions.registration
BeanRegistrationByExtensionInNonBeanArchiveTest.shouldFindBeanReference()
github
org.jboss.cdi.tck.tests.extensions.lifecycle.bbd
BeforeBeanDiscoveryTest.testAddAnnotatedType()
github
org.jboss.cdi.tck.tests.extensions.registration
TwoBeansOneClassTest.testTwoBeansWithOneBaseClass()
github
VisibilityOfBeanRegisteredByExtensionFromNonBeanLibraryTest.shouldFindBeanReference()
github
afa)
Test that more than one AnnotatedType may use the same base type.
org.jboss.cdi.tck.tests.extensions.registration
TwoBeansOneClassTest.testTwoBeansWithOneBaseClass()
github
afb)
Test adding AnnotatedType if any other AnnotatedType with the same identifier already exists in the set of types.
org.jboss.cdi.tck.tests.extensions.registration
DuplicateIdentifiedAnnotatedTypeTest.createTestArchive()
github
ag)
If any observer method of the BeforeBeanDiscovery event throws an exception, the exception is treated as a definition error by the container.
org.jboss.cdi.tck.tests.extensions.lifecycle.bbd.broken.exception
BeforeBeanDiscoveryThrowsExceptionTest.testThrowsException()
github
b)
If any BeforeBeanDiscovery method is called outside of the observer method invocation, an IllegalStateException is thrown.
org.jboss.cdi.tck.tests.extensions.lifecycle.events
ContainerLifeCycleEventRuntimeInvocationTest.testBeforeBeanDiscoveryEventFails()
github
a)
The container must fire an event when it has fully completed the type discovery process and before it begins the bean discovery process. The event object must be of type javax.enterprise.inject.spi.AfterTypeDiscovery.
org.jboss.cdi.tck.tests.extensions.lifecycle.atd
AfterTypeDiscoveryTest.testInitialInterceptors()
github
b)
getAlternatives() returns list of enabled alternatives for the application, sorted by priority in ascending order. Alternatives enabled for a bean archive are not included.
org.jboss.cdi.tck.tests.extensions.lifecycle.atd
AfterTypeDiscoveryTest.testInitialAlternatives()
github
c)
getInterceptors() returns the list of enabled interceptors for the application, sorted by priority in ascending order. Interceptors enabled for a bean archive are not included.
org.jboss.cdi.tck.tests.extensions.lifecycle.atd
AfterTypeDiscoveryTest.testInitialInterceptors()
github
d)
getDecorators() returns list of enabled decorators for the application, sorted by priority in ascending order. Decorators enabled for a bean archive are not included.
org.jboss.cdi.tck.tests.extensions.lifecycle.atd
AfterTypeDiscoveryTest.testInitialDecorators()
github
e)
addAnnotatedType() adds a given AnnotatedType to the set of types which will be scanned during bean discovery, with an identifier.
org.jboss.cdi.tck.tests.extensions.lifecycle.atd
AfterTypeDiscoveryTest.testAddAnnotatedType()
github
f)
If an alternative, interceptor or decorator is added using AfterTypeDiscovery.addAnnotatedType(), non-portable behavior results.
Any observer of this event is permitted to add classes to, or remove classes from, the list of alternatives, list of interceptors or list of decorators. The container must use the final values of these collections, after all observers of AfterTypeDiscovery have been called, to determine the order of the enabled alternatives, interceptors, and decorators for application.
ga)
Test the final values of the list of alternatives.
org.jboss.cdi.tck.tests.extensions.lifecycle.atd
AfterTypeDiscoveryTest.testFinalAlternatives()
github
gb)
Test the final values of the list of interceptors.
org.jboss.cdi.tck.tests.extensions.lifecycle.atd
AfterTypeDiscoveryTest.testFinalInterceptors()
github
gc)
Test the final values of the list of decorators.
org.jboss.cdi.tck.tests.extensions.lifecycle.atd
AfterTypeDiscoveryTest.testFinalDecorators()
github
The initial values of these collections is defined by the @Priority annotation.
ha)
Test the initial values of the list of alternatives.
org.jboss.cdi.tck.tests.extensions.lifecycle.atd
AfterTypeDiscoveryTest.testInitialAlternatives()
github
hb)
Test the initial values of the list of interceptors.
org.jboss.cdi.tck.tests.extensions.lifecycle.atd
AfterTypeDiscoveryTest.testInitialInterceptors()
github
hc)
Test the initial values of the list of decorators.
org.jboss.cdi.tck.tests.extensions.lifecycle.atd
AfterTypeDiscoveryTest.testInitialDecorators()
github
i)
If any observer method of an AfterTypeDiscovery event throws an exception, the exception is treated as a definition error by the container.
org.jboss.cdi.tck.tests.extensions.lifecycle.atd.broken
ThrowExceptionTest.testDeployment()
github
j)
If any AfterTypeDiscovery method is called outside of the observer method invocation, an IllegalStateException is thrown.
org.jboss.cdi.tck.tests.extensions.lifecycle.events
ContainerLifeCycleEventRuntimeInvocationTest.testAfterTypeDiscoveryEventFails()
github
a)
The container must fire an event when it has fully completed the bean discovery process, validated that there are no definition errors relating to the discovered beans, and registered Bean and ObserverMethod objects for the discovered beans, but before detecting deployment problems. The event object must be of type javax.enterprise.inject.spi.AfterBeanDiscovery.
org.jboss.cdi.tck.tests.extensions.lifecycle.bbd
DeploymentTest.testDeployedManagerEvent()
github
ca)
addDefinitionError() registers a definition error with the container, causing the container to abort deployment after all observers have been notified.
org.jboss.cdi.tck.tests.extensions.lifecycle.broken.addDefinitionError
AddDefinitionErrorTest.testObserverDefinitionErrorTreatedAsDefinitionError()
github
addBean() fires an event of type ProcessBean containing the given Bean and then registers the Bean with the container, thereby making it available for injection into other beans. The given Bean may implement Interceptor or Decorator.
da)
Check that ProcessBean is fired
org.jboss.cdi.tck.tests.extensions.afterBeanDiscovery
AfterBeanDiscoveryTest.testProcessBeanIsFired()
github
db)
Check that a bean is registered
org.jboss.cdi.tck.tests.extensions.afterBeanDiscovery
AfterBeanDiscoveryTest.testBeanIsAdded()
github
dc)
Check that a decorator is registered
org.jboss.cdi.tck.tests.decorators.custom
CustomDecoratorTest.testCustomImplementationOfDecoratorInterface()
github
dd)
Check that an interceptor is registered
org.jboss.cdi.tck.tests.extensions.interceptors.custom
CustomInterceptorInvocationTest.testCustomInterceptorInvocation()
github
CustomInterceptorRegistrationTest.testCustomInterceptorRegistration()
github
org.jboss.cdi.tck.tests.interceptors.definition.custom
CustomInterceptorTest.testCustomPostConstructInterceptor()
github
CustomInterceptorTest.testCustomPreDestroyInterceptor()
github
CustomInterceptorTest.testCustomPostActivateInterceptor()
github
CustomInterceptorTest.testCustomPrePassivateInterceptor()
github
CustomInterceptorTest.testCustomAroundInvokeInterceptor()
github
CustomInterceptorTest.testCustomAroundTimeoutInterceptor()
github
addObserverMethod() fires an event of type ProcessObserverMethod containing the given ObserverMethod and then registers the ObserverMethod with the container, thereby making it available for event notifications.
ea)
Check that the ProcessObserverMethod is fired
org.jboss.cdi.tck.tests.extensions.afterBeanDiscovery
AfterBeanDiscoveryTest.testProcessObserverMethodFiredWhileAddingObserverMethod()
github
eb)
Check that the observer method is registered
org.jboss.cdi.tck.tests.event.observer.extension
BeanManagerObserverNotificationTest.testNotifyInvoked()
github
EventBeanObserverNotificationTest.testNotifyInvoked()
github
org.jboss.cdi.tck.tests.extensions.afterBeanDiscovery
AfterBeanDiscoveryTest.testObserverMethodRegistered()
github
f)
addContext() registers a custom Context object with the container.
org.jboss.cdi.tck.tests.extensions.afterBeanDiscovery
AfterBeanDiscoveryTest.testAddContext()
github
h)
getAnnotatedType() returns the AnnotatedType discovered or added during container initialization. If the id passed is null, the container should substitute the container generated id.
org.jboss.cdi.tck.tests.extensions.lifecycle.events
ContainerLifeCycleEventRuntimeInvocationTest.testAfterBeanDiscoveryEventFails()
github
org.jboss.cdi.tck.tests.extensions.afterBeanDiscovery.annotated
GetAnnotatedTypesTest.testGetAnnotatedType()
github
i)
getAnnotatedTypes() returns the AnnotatedTypes discovered or added during container initialization.
org.jboss.cdi.tck.tests.extensions.afterBeanDiscovery.annotated
GetAnnotatedTypesTest.testGetAnnotatedTypes()
github
fb)
A portable extension may take advantage of this event to register beans, interceptors, decorators, observer methods and custom context objects with the container.
g)
If any observer method of the AfterBeanDiscovery event throws an exception, the exception is treated as a definition error by the container.
org.jboss.cdi.tck.tests.extensions.lifecycle.broken.exception.discovery
AfterBeanDiscoveryObserverExecutionFailureTest.testObserverFailureTreatedAsDefinitionError()
github
h)
If any AfterBeanDiscovery method is called outside of the observer method invocation, an IllegalStateException is thrown.
org.jboss.cdi.tck.tests.extensions.lifecycle.events
ContainerLifeCycleEventRuntimeInvocationTest.testAfterBeanDiscoveryEventFails()
github
org.jboss.cdi.tck.tests.extensions.afterBeanDiscovery.annotated
GetAnnotatedTypesTest.testGetAnnotatedType()
github
a)
The container must fire an event after it has validated that there are no deployment problems and before creating contexts or processing requests. The event object must be of type javax.enterprise.inject.spi.AfterDeploymentValidation.
org.jboss.cdi.tck.tests.extensions.lifecycle.bbd
DeploymentTest.testDeployedManagerEvent()
github
b)
addDeploymentProblem() registers a deployment problem with the container, causing the container to abort deployment after all observers have been notified.
org.jboss.cdi.tck.tests.extensions.lifecycle.broken.addDeploymentProblem
AddDeploymentProblemTest.testObserverDeploymentProblemTreatedAsDeploymentError()
github
c)
If any observer method of the AfterDeploymentValidation event throws an exception, the exception is treated as a deployment problem by the container.
org.jboss.cdi.tck.tests.extensions.lifecycle.broken.exception.validation
AfterDeploymentValidationObserverExecutionFailureTest.testObserverFailureTreatedAsDeploymentError()
github
d)
The container must not allow any request to be processed by the deployment until all observers of this event return.
No tests exist for this assertion
e)
If any AfterDeploymentValidation method is called outside of the observer method invocation,an IllegalStateException is thrown.
org.jboss.cdi.tck.tests.extensions.lifecycle.events
ContainerLifeCycleEventRuntimeInvocationTest.testAfterDeploymentValidationEventFails()
github
a)
The container must fire a final event after it has finished processing requests and destroyed all contexts. The event object must be of type javax.enterprise.inject.spi.BeforeShutdown.
org.jboss.cdi.tck.tests.deployment.shutdown
ApplicationShutdownLifecycleTest.testShutdown()
github
ba)
If any observer method of the BeforeShutdown event throws an exception, the exception is ignored by the container.
The container must fire an event, before it processes a type, for every Java class, interface (excluding the special kind of interface declaration annotation type) or enum discovered.
aa)
Test class discovered in a bean archive.
org.jboss.cdi.tck.tests.extensions.annotated
ProcessAnnotatedTypeTest.testProcessAnnotatedTypeEventsSent()
github
ab)
Test interface discovered in a bean archive.
org.jboss.cdi.tck.tests.extensions.annotated
ProcessAnnotatedTypeTest.testProcessAnnotatedTypeEventsSent()
github
ac)
Test enum discovered in a bean archive.
org.jboss.cdi.tck.tests.extensions.annotated
ProcessAnnotatedTypeTest.testProcessAnnotatedTypeFiredForEnum()
github
ae)
Test class added by BeforeBeanDiscovery.addAnnotatedType().
org.jboss.cdi.tck.tests.extensions.annotated.synthetic
ProcessSyntheticAnnotatedTypeTest.testEventsFired()
github
af)
Test interface added by BeforeBeanDiscovery.addAnnotatedType().
org.jboss.cdi.tck.tests.extensions.annotated.synthetic
ProcessSyntheticAnnotatedTypeTest.testEventsFired()
github
ag)
Test enum added by BeforeBeanDiscovery.addAnnotatedType().
org.jboss.cdi.tck.tests.extensions.annotated.synthetic
ProcessSyntheticAnnotatedTypeTest.testEventsFired()
github
ah)
Excluding the special kind of interface declaration annotation type.
org.jboss.cdi.tck.tests.extensions.annotated.synthetic
ProcessSyntheticAnnotatedTypeTest.testEventsFired()
github
An event is not fired for any type annotated with @Vetoed, or in a package annotated with @Vetoed.
ia)
Test @Vetoed class discovered in a bean archive.
org.jboss.cdi.tck.tests.vetoed.enterprise
EnterpriseVetoedTest.testClassLevelVeto()
github
org.jboss.cdi.tck.tests.vetoed
VetoedTest.testClassLevelVeto()
github
ib)
Test @Vetoed interface discovered in a bean archive.
org.jboss.cdi.tck.tests.vetoed
VetoedTest.testClassLevelVeto()
github
ie)
Test @Vetoed class added by BeforeBeanDiscovery.addAnnotatedType().
org.jboss.cdi.tck.tests.vetoed.enterprise
EnterpriseVetoedTest.testAnnotatedTypeAddedByExtension()
github
org.jboss.cdi.tck.tests.vetoed
VetoedTest.testAnnotatedTypeAddedByExtension()
github
if)
Test @Vetoed interface added by BeforeBeanDiscovery.addAnnotatedType().
org.jboss.cdi.tck.tests.vetoed
VetoedTest.testAnnotatedTypeAddedByExtension()
github
ii)
Test @Vetoed package.
org.jboss.cdi.tck.tests.vetoed.enterprise
EnterpriseVetoedTest.testPackageLevelVeto()
github
org.jboss.cdi.tck.tests.vetoed
VetoedTest.testPackageLevelVeto()
github
j)
The event object must be of type javax.enterprise.inject.spi.ProcessAnnotatedType<X>, where X is the class, for types discovered in a bean archive, or of type javax.enterprise.inject.spi.ProcessSyntheticAnnotatedType<X> for types added by BeforeBeanDiscovery.addAnnotatedType().
org.jboss.cdi.tck.tests.extensions.annotated.synthetic
ProcessSyntheticAnnotatedTypeTest.testEventsFired()
github
org.jboss.cdi.tck.tests.extensions.annotated
ProcessAnnotatedTypeTest.testProcessAnnotatedTypeEventsSent()
github
The annotation @WithAnnotations may be applied to the event parameter. If the annotation is applied, the container must only deliver ProcessAnnotatedType events for types which contain at least one of the annotations specified. The annotation can appear on the annotated type, or on any member, or any parameter of any member of the annotated type, as defined in Section 11.4.
fa)
Test annotation on the annotated type.
org.jboss.cdi.tck.tests.extensions.annotated.delivery
WithAnnotationsTest.testDelivery()
github
WithAnnotationsTest.testDeliveryMetaAnnotation()
github
fb)
Test annotation on the field declared by the annotated type.
org.jboss.cdi.tck.tests.extensions.annotated.delivery
WithAnnotationsTest.testDelivery()
github
fc)
Test annotation on the method declared by the annotated type.
org.jboss.cdi.tck.tests.extensions.annotated.delivery
WithAnnotationsTest.testDelivery()
github
WithAnnotationsTest.testDeliveryMetaAnnotation()
github
EnterpriseWithAnnotationsTest.testDelivery()
github
EnterpriseWithAnnotationsTest.testDeliveryMetaAnnotation()
github
fd)
Test annotation on the constructor declared by the annotated type.
org.jboss.cdi.tck.tests.extensions.annotated.delivery
WithAnnotationsTest.testDelivery()
github
fe)
Test annotation on the parameter of the method declared by the annotated type.
org.jboss.cdi.tck.tests.extensions.annotated.delivery
WithAnnotationsTest.testDelivery()
github
ff)
Test annotation on the parameter of the constructor declared by the annotated type.
org.jboss.cdi.tck.tests.extensions.annotated.delivery
WithAnnotationsTest.testDelivery()
github
g)
The annotation may be applied as a meta-annotation on any annotation considered.
org.jboss.cdi.tck.tests.extensions.annotated.delivery
WithAnnotationsTest.testDeliveryMetaAnnotation()
github
EnterpriseWithAnnotationsTest.testDeliveryMetaAnnotation()
github
h)
If the @WithAnnotations annotation is applied to any other event parameter, the container automatically detects the problem and treats it as a definition error.
org.jboss.cdi.tck.tests.extensions.annotated.delivery.broken
WithAnnotationsAppliedToIllegalEventParameterTest.testDeploymentFails()
github
WithAnnotationsAppliedToIllegalContainerLifecycleEventParameterTest.testDeploymentFails()
github
ba)
getAnnotatedType() returns the AnnotatedType object that will be used by the container to read the declared annotations.
org.jboss.cdi.tck.tests.extensions.annotated
ProcessAnnotatedTypeTest.testGetAnnotatedType()
github
bb)
setAnnotatedType() replaces the AnnotatedType.
org.jboss.cdi.tck.tests.extensions.annotated
ProcessAnnotatedTypeTest.testSetAnnotatedType()
github
bc)
veto() forces the container to ignore the type.
org.jboss.cdi.tck.tests.extensions.lifecycle.processBeanAttributes.synthetic
ProcessBeanAttributesNotFiredForSyntheticBeanTest.testProcessBeanAttributesNotFired()
github
org.jboss.cdi.tck.tests.decorators.custom
CustomDecoratorTest.testCustomImplementationOfDecoratorInterface()
github
org.jboss.cdi.tck.tests.extensions.annotated
ProcessAnnotatedTypeTest.testVeto()
github
bd)
getSource() returns the Extension instance that added the annotated type.
org.jboss.cdi.tck.tests.extensions.annotated.synthetic
ProcessSyntheticAnnotatedTypeTest.testEventsSources()
github
Any observer of this event is permitted to wrap and/or replace the AnnotatedType. The container must use the final value of this property, after all observers have been called, as the only source of types and annotations for the the program elements.
ca)
Test replacing AnnotatedType added by BeforeBeanDiscovery.addAnnotatedType().
org.jboss.cdi.tck.tests.extensions.annotated
ProcessAnnotatedTypeTest.testSetAnnotatedType()
github
e)
If any observer method of a ProcessAnnotatedType event throws an exception, the exception is treated as a definition error by the container.
org.jboss.cdi.tck.tests.extensions.annotated.broken.processAnnotatedObserverThrowsException
ProcessAnnotatedTypeEventThrowsExceptionTest.testProcessAnnotatedTypeEventThrowsExceptionNotOk()
github
f)
If any ProcessAnnotatedType method is called outside of the observer method invocation, an IllegalStateException is thrown.
org.jboss.cdi.tck.tests.extensions.lifecycle.events
ContainerLifeCycleEventRuntimeInvocationTest.testProcessAnnotatedTypeEventFails()
github
ContainerLifeCycleEventRuntimeInvocationTest.testProcessSyntheticAnnotatedTypeEventFails()
github
a)
The container must fire an event for every injection point of every Java EE component class supporting injection that may be instantiated by the container at runtime. The event object must be of type javax.enterprise.inject.spi.ProcessInjectionPoint<T, X> where T is the bean class of the bean that declares the injection point, and X is the declared type of the injection point.
org.jboss.cdi.tck.tests.extensions.lifecycle.processInjectionPoint
ProcessInjectionPointFiredTest.testFieldInjectionPoint()
github
ProcessInjectionPointFiredTest.testConstructorInjectionPoint()
github
ProcessInjectionPointFiredTest.testInitializerInjectionPoint()
github
ProcessInjectionPointFiredTest.testProducerMethodInjectionPoint1()
github
ProcessInjectionPointFiredTest.testProducerMethodInjectionPoint2()
github
ProcessInjectionPointFiredTest.testJavaEEComponentInjectionPoint()
github
org.jboss.cdi.tck.tests.extensions.lifecycle.processInjectionPoint.modify
InjectionPointOverridingTest.testOverridingFieldInjectionPoint()
github
InjectionPointOverridingTest.testDelegateInjectionPoint()
github
InjectionPointOverridingTest.testNewInjectionPointDiscovered()
github
ba)
getInjectionPoint() returns the InjectionPoint object that will be used by the container to perform injection.
org.jboss.cdi.tck.tests.extensions.lifecycle.processInjectionPoint
ProcessInjectionPointFiredTest.testFieldInjectionPoint()
github
ProcessInjectionPointFiredTest.testConstructorInjectionPoint()
github
ProcessInjectionPointFiredTest.testInitializerInjectionPoint()
github
ProcessInjectionPointFiredTest.testProducerMethodInjectionPoint1()
github
ProcessInjectionPointFiredTest.testProducerMethodInjectionPoint2()
github
bb)
setInjectionPoint() replaces the InjectionPoint.
org.jboss.cdi.tck.tests.extensions.lifecycle.processInjectionPoint.modify
InjectionPointOverridingTest.testOverridingFieldInjectionPoint()
github
InjectionPointOverridingTest.testDelegateInjectionPoint()
github
InjectionPointOverridingTest.testNewInjectionPointDiscovered()
github
bc)
addDefinitionError() registers a definition error with the container, causing the container to abort deployment after bean discovery is complete.
org.jboss.cdi.tck.tests.extensions.lifecycle.processInjectionPoint.broken
AddDefinitionErrorTest.testDeployment()
github
c)
Any observer of this event is permitted to wrap and/or replace the InjectionPoint. The container must use the final value of this property, after all observers have been called, whenever it performs injection upon the injection point.
org.jboss.cdi.tck.tests.extensions.lifecycle.processInjectionPoint.modify
InjectionPointOverridingTest.testOverridingFieldInjectionPoint()
github
InjectionPointOverridingTest.testDelegateInjectionPoint()
github
InjectionPointOverridingTest.testNewInjectionPointDiscovered()
github
d)
If any observer method of a ProcessInjectionPoint event throws an exception, the exception is treated as a definition error by the container.
org.jboss.cdi.tck.tests.extensions.lifecycle.processInjectionPoint.broken
ThrowExceptionTest.testDeployment()
github
e)
If any ProcessInjectionPoint method is called outside of the observer method invocation, an IllegalStateException is thrown.
org.jboss.cdi.tck.tests.extensions.lifecycle.events
ContainerLifeCycleEventRuntimeInvocationTest.testProcessInjectionPointEventFails()
github
The container must fire an event for every Java EE component class supporting injection that may be instantiated by the container at runtime, including every managed bean declared using @ManagedBean, EJB session or message-driven bean, enabled bean, enabled interceptor or enabled decorator. The event object must be of type javax.enterprise.inject.spi.ProcessInjectionTarget<X>, where x is the managed bean class, session bean class or Java EE component class supporting injection.
aaa)
Test event is fired for a managed bean
org.jboss.cdi.tck.tests.extensions.container.event
ContainerEventTest.testProcessInjectionTargetFiredForManagedBean()
github
org.jboss.cdi.tck.tests.extensions.producer
ProducerTest.testInjectionTargetInject()
github
aab)
Test event is fired for a session bean
org.jboss.cdi.tck.tests.extensions.container.event
ContainerEventTest.testProcessInjectionTargetFiredForSessionBean()
github
aaba)
Test event is fired for a message driven bean
org.jboss.cdi.tck.tests.extensions.container.event.jms
ContainerEventTest.testProcessInjectionTargetEventFiredForMessageDrivenBean()
github
aac)
Test event is fired for a servlet listener
org.jboss.cdi.tck.tests.extensions.lifecycle.processInjectionTarget
ContainerEventTest.testProcessInjectionTargetEventFiredForServletListener()
github
aad)
Test event is fired for a tag handler
org.jboss.cdi.tck.tests.extensions.lifecycle.processInjectionTarget
ContainerEventTest.testProcessInjectionTargetEventFiredForTagHandler()
github
aae)
Test event is fired for a tag library listener
org.jboss.cdi.tck.tests.extensions.lifecycle.processInjectionTarget
ContainerEventTest.testProcessInjectionTargetEventFiredForTagLibraryListener()
github
aaf)
Test event is fired for an EJB Interceptor
org.jboss.cdi.tck.tests.extensions.container.event
ContainerEventTest.testProcessInjectionTargetFiredForSessionBeanInterceptor()
github
aag)
Test event is fired for a WS endpoint
org.jboss.cdi.tck.tests.extensions.container.event.ws
ContainerEventTest.testProcessInjectionTargetFiredForWsEndpoint()
github
aah)
Test event is fired for a servlet
org.jboss.cdi.tck.tests.extensions.lifecycle.processInjectionTarget
ContainerEventTest.testProcessInjectionTargetEventFiredForServlet()
github
aai)
Test event is fired for a filter
org.jboss.cdi.tck.tests.extensions.lifecycle.processInjectionTarget
ContainerEventTest.testProcessInjectionTargetEventFiredForFilter()
github
The following assertion is not made explicitly by the spec, however it is implied aan)
Test supertype for a servlet listener
org.jboss.cdi.tck.tests.extensions.lifecycle.processInjectionTarget
ContainerEventTest.testTypeOfProcessInjectionTargetParameter()
github
The following assertion is not made explicitly by the spec, however it is implied aao)
Test supertype and subtype for a tag handler
org.jboss.cdi.tck.tests.extensions.lifecycle.processInjectionTarget
ContainerEventTest.testTypeOfProcessInjectionTargetParameter()
github
The following assertion is not made explicitly by the spec, however it is implied aas)
Test supertype and subtype for a servlet
org.jboss.cdi.tck.tests.extensions.lifecycle.processInjectionTarget
ContainerEventTest.testTypeOfProcessInjectionTargetParameter()
github
getAnnotatedType() returns the AnnotatedType representing the managed bean class, session bean or other Java EE component class supporting injection.
aba)
Test type for a managed bean
org.jboss.cdi.tck.tests.extensions.producer
ProducerTest.testGetAnnotatedTypeOnProcessInjectionTarget()
github
abb)
Test type for a session bean
org.jboss.cdi.tck.tests.extensions.container.event
ContainerEventTest.testProcessInjectionTargetFiredForSessionBean()
github
abba)
Test type for a message driven bean
org.jboss.cdi.tck.tests.extensions.container.event.jms
ContainerEventTest.testProcessInjectionTargetEventFiredForMessageDrivenBean()
github
abc)
Test type for a servlet listener
org.jboss.cdi.tck.tests.extensions.lifecycle.processInjectionTarget
ContainerEventTest.testProcessInjectionTargetEventFiredForServletListener()
github
abd)
Test type for a tag handler
org.jboss.cdi.tck.tests.extensions.lifecycle.processInjectionTarget
ContainerEventTest.testProcessInjectionTargetEventFiredForTagHandler()
github
abe)
Test type for a tag library listener
org.jboss.cdi.tck.tests.extensions.lifecycle.processInjectionTarget
ContainerEventTest.testProcessInjectionTargetEventFiredForTagLibraryListener()
github
abf)
Test type for an EJB Interceptor
org.jboss.cdi.tck.tests.extensions.container.event
ContainerEventTest.testProcessInjectionTargetFiredForSessionBeanInterceptor()
github
abg)
Test type for a WS endpoint
org.jboss.cdi.tck.tests.extensions.container.event.ws
ContainerEventTest.testProcessInjectionTargetFiredForWsEndpoint()
github
abh)
Test type for a servlet
org.jboss.cdi.tck.tests.extensions.lifecycle.processInjectionTarget
ContainerEventTest.testProcessInjectionTargetEventFiredForServlet()
github
abi)
Test type for a filter
org.jboss.cdi.tck.tests.extensions.lifecycle.processInjectionTarget
ContainerEventTest.testProcessInjectionTargetEventFiredForFilter()
github
ba)
getInjectionTarget() returns the InjectionTarget object that will be used by the container to perform injection.
No tests exist for this assertion
bb)
setInjectionTarget() replaces the InjectionTarget.
org.jboss.cdi.tck.tests.extensions.producer
ProducerTest.testSettingInjectionTargetReplacesIt()
github
da)
addDefinitionError() registers a definition error with the container, causing the container to abort deployment after bean discovery is complete.
org.jboss.cdi.tck.tests.extensions.producer.broken.injectionTargetError
InjectionTargetDefinitionErrorTest.testAddingDefinitionError()
github
Any observer of this event is permitted to wrap and/or replace the InjectionTarget. The container must use the final value of this property, after all observers have been called, whenever it performs injection upon the managed bean, session bean or other Java EE component class supporting injection.
ea)
Test type for a managed bean
org.jboss.cdi.tck.tests.extensions.producer
ProducerTest.testSettingInjectionTargetReplacesIt()
github
eb)
Test type for a session bean
org.jboss.cdi.tck.tests.extensions.lifecycle.processInjectionTarget
WrappedInjectionTargetTest.testWrappedInjectionTargetUsedForSessionBean()
github
ec)
Test type for a servlet listener
org.jboss.cdi.tck.tests.extensions.lifecycle.processInjectionTarget
WrappedInjectionTargetTest.testWrappedInjectionTargetUsedForServletListener()
github
ed)
Test type for a tag handler
org.jboss.cdi.tck.tests.extensions.lifecycle.processInjectionTarget
WrappedInjectionTargetTest.testWrappedInjectionTargetUsedForTagHandler()
github
ee)
Test type for a tag library listener
org.jboss.cdi.tck.tests.extensions.lifecycle.processInjectionTarget
WrappedInjectionTargetTest.testWrappedInjectionTargetUsedForTagLibraryListener()
github
ef)
Test type for an EJB Interceptor
org.jboss.cdi.tck.tests.extensions.lifecycle.processInjectionTarget
WrappedInjectionTargetTest.testWrappedInjectionTargetUsedForEjbInterceptor()
github
eg)
Test type for a WS endpoint
org.jboss.cdi.tck.tests.extensions.lifecycle.processInjectionTarget
WrappedInjectionTargetTest.testWrappedInjectionTargetUsedForWsEndpoint()
github
eh)
Test type for a servlet
org.jboss.cdi.tck.tests.extensions.lifecycle.processInjectionTarget
WrappedInjectionTargetTest.testWrappedInjectionTargetUsedForServlet()
github
ei)
Test type for a filter
org.jboss.cdi.tck.tests.extensions.lifecycle.processInjectionTarget
WrappedInjectionTargetTest.testWrappedInjectionTargetIsUsedForFilter()
github
f)
If any observer method of a ProcessInjectionTarget event throws an exception, the exception is treated as a definition error by the container.
org.jboss.cdi.tck.tests.extensions.annotated.broken.processInjectionTargetThrowsException
ProcessInjectionTargetEventThrowsExceptionTest.testProcessInjectionTargetEventThrowsExceptionNotOk()
github
g)
If any ProcessInjectionTarget method is called outside of the observer method invocation, an IllegalStateException is thrown.
org.jboss.cdi.tck.tests.extensions.lifecycle.events
ContainerLifeCycleEventRuntimeInvocationTest.testProcessInjectionTargetEventFails()
github
The container must fire an event for each enabled bean, interceptor or decorator deployed in a bean archive, before registering the Bean object. No event is fired for any @New qualified bean, defined in Section 3.14, "@New qualified beans" or beans added programmatically using AfterBeanDiscovery.addBean() or for any built-in beans. The event object must be of type javax.enterprise.inject.spi.ProcessBeanAttributes<T> where T is the bean class of the managed bean or session bean, the return type of the producer method, or the type of the producer field.
aa)
Event is fired for enabled bean.
org.jboss.cdi.tck.tests.extensions.lifecycle.processBeanAttributes.specialization
SpecializationTest.testProcessBeanAttributesFiredProperlyForSpecializedBean()
github
org.jboss.cdi.tck.tests.extensions.lifecycle.processBeanAttributes
VerifyValuesTest.testManagedBeanAttributes()
github
VerifyValuesTest.testSessionBeanAttributes()
github
VerifyValuesTest.testProducerMethodBeanAttributes()
github
VerifyValuesTest.testProducerFieldBeanAttributes()
github
org.jboss.cdi.tck.tests.extensions.lifecycle.processBeanAttributes.specialization
VetoTest.testSpecializedBeanAvailableAfterSpecializingBeanVetoed()
github
org.jboss.cdi.tck.tests.extensions.lifecycle.processBeanAttributes.specialization.broken
TypeConflictDetectionTest.testDeployment()
github
ab)
Event is fired for enabled interceptor.
org.jboss.cdi.tck.tests.extensions.lifecycle.processBeanAttributes
VerifyValuesTest.testInterceptorBeanAttributes()
github
org.jboss.cdi.tck.tests.extensions.lifecycle.processBeanAttributes.interceptor
InterceptorProcessBeanAttributesTest.testAlphaInterceptorObserved()
github
InterceptorProcessBeanAttributesTest.testBravoInterceptorObserved()
github
ac)
Event is fired for enabled decorator.
org.jboss.cdi.tck.tests.extensions.lifecycle.processBeanAttributes
VerifyValuesTest.testDecoratorBeanAttributes()
github
org.jboss.cdi.tck.tests.extensions.lifecycle.processBeanAttributes.decorator
DecoratorProcessBeanAttributesTest.testAlphaDecoratorObserved()
github
DecoratorProcessBeanAttributesTest.testBravoDecoratorObserved()
github
ad)
No event is fired for any @New qualified bean.
org.jboss.cdi.tck.tests.extensions.lifecycle.processBeanAttributes
VerifyValuesTest.testManagedBeanAttributes()
github
ae)
No event is fired for beans added programmatically using AfterBeanDiscovery.addBean().
org.jboss.cdi.tck.tests.extensions.lifecycle.processBeanAttributes.synthetic
ProcessBeanAttributesNotFiredForSyntheticBeanTest.testProcessBeanAttributesNotFired()
github
af)
No event is fired for any built-in bean.
org.jboss.cdi.tck.tests.extensions.lifecycle.processBeanAttributes.builtin
ProcessBeanAttributesNotFiredForBuiltinBean.testProcessBeanAttributesNotFired()
github
getAnnotated() returns the AnnotatedType representing the managed bean class or session bean class, the AnnotatedMethod representing the producer field, or the AnnotatedField representing the producer field.
baa)
Test managed bean.
org.jboss.cdi.tck.tests.extensions.lifecycle.processBeanAttributes
VerifyValuesTest.testManagedBeanAnnotated()
github
bab)
Test session bean.
org.jboss.cdi.tck.tests.extensions.lifecycle.processBeanAttributes
VerifyValuesTest.testSessionBeanAnnotated()
github
VerifyValuesTest.testSessionBeanAttributes()
github
bac)
Test producer method.
org.jboss.cdi.tck.tests.extensions.lifecycle.processBeanAttributes
VerifyValuesTest.testProducerMethodAnnotated()
github
bad)
Test producer field.
org.jboss.cdi.tck.tests.extensions.lifecycle.processBeanAttributes
VerifyValuesTest.testProducerFieldAnnotated()
github
bb)
getBeanAttributes() returns the BeanAttributes object that will be used by the container to manage instances of the bean.
org.jboss.cdi.tck.tests.extensions.lifecycle.processBeanAttributes
VerifyValuesTest.testSessionBeanAttributes()
github
VerifyValuesTest.testInterceptorBeanAttributes()
github
VerifyValuesTest.testDecoratorBeanAttributes()
github
bc)
setBeanAttributes() replaces the BeanAttributes.
org.jboss.cdi.tck.tests.extensions.lifecycle.processBeanAttributes.modify
SetBeanAttributesTest.testBeanModified()
github
bd)
addDefinitionError() registers a definition error with the container, causing the container to abort deployment after bean discovery is complete.
org.jboss.cdi.tck.tests.extensions.lifecycle.processBeanAttributes.broken
AddDefinitionErrorTest.testDeployment()
github
be)
veto() forces the container to ignore the bean.
org.jboss.cdi.tck.tests.extensions.lifecycle.processBeanAttributes.specialization
VetoTest.testSpecializedBeanAvailableAfterSpecializingBeanVetoed()
github
org.jboss.cdi.tck.tests.extensions.lifecycle.processBeanAttributes.veto
VetoTest.testBeanVetoed()
github
Any observer of this event is permitted to wrap and/or replace the BeanAttributes. The container must use the final value of this property, after all observers have been called, to manage instances of the bean. Changes to BeanAttributes are not propagated to the annotated type from which the bean definition was created.
ca)
Test the final value of this property is used.
org.jboss.cdi.tck.tests.extensions.lifecycle.processBeanAttributes.modify
SetBeanAttributesTest.testBeanModified()
github
cc)
Test the changes are not propagated.
org.jboss.cdi.tck.tests.extensions.lifecycle.processBeanAttributes.modify
SetBeanAttributesTest.testChangesAreNotPropagated()
github
d)
If any observer method of a ProcessBeanAttributes event throws an exception, the exception is treated as a definition error by the container.
org.jboss.cdi.tck.tests.extensions.lifecycle.processBeanAttributes.broken
ThrowExceptionTest.testDeployment()
github
e)
Any bean which has its bean attributes altered must have it’s definition validated during deployment validation.
org.jboss.cdi.tck.tests.extensions.lifecycle.processBeanAttributes.modify.broken
SetBeanAttributesTest.testBeanDefinitionIsValidated()
github
f)
If any ProcessBeanAttributes method is called outside of the observer method invocation, an IllegalStateException is thrown.
org.jboss.cdi.tck.tests.extensions.lifecycle.events
ContainerLifeCycleEventRuntimeInvocationTest.testProcessBeanAttributesEventFails()
github
aa)
The container must fire an event for each bean, interceptor or decorator deployed in a bean archive, after firing the ProcessBeanAttributes for the bean and before registering the Bean object. No event is fired for any @New qualified bean, defined in Section 3.12, "@New qualified beans".
org.jboss.cdi.tck.tests.extensions.processBean
ProcessBeanTest.testProcessBeanFiredForInterceptor()
github
ProcessBeanTest.testProcessBeanFiredForDecorator()
github
ba)
For a managed bean with bean class X, the container must raise an event of type ProcessManagedBean<X>.
org.jboss.cdi.tck.tests.extensions.processBean
ProcessBeanTest.testProcessBeanEvent()
github
org.jboss.cdi.tck.tests.extensions.container.event
ContainerEventTest.testProcessManagedBeanFired()
github
bb)
Test ProcessManagedBean is fired after ProcessBeanAttributes.
org.jboss.cdi.tck.tests.extensions.processBean
ProcessBeanTest.testProcessBeanEvent()
github
ca)
For a session bean with bean class X, the container must raise an event of type ProcessSessionBean<X>.
org.jboss.cdi.tck.tests.extensions.processBean
ProcessSessionBeanTest.testProcessSessionBeanEvent()
github
org.jboss.cdi.tck.tests.extensions.container.event
ContainerEventTest.testProcessSessionBeanFiredForStatelessSessionBean()
github
ContainerEventTest.testProcessSessionBeanFiredForStatefulSessionBean()
github
cb)
Test ProcessSessionBean is fired after ProcessBeanAttributes.
org.jboss.cdi.tck.tests.extensions.processBean
ProcessSessionBeanTest.testProcessSessionBeanEvent()
github
eaa)
For a producer method with method return type X of a bean with bean class T, the container must raise an event of type ProcessProducerMethod<T, X>.
org.jboss.cdi.tck.tests.extensions.processBean
ProcessBeanTest.testProcessProducerMethodEvent()
github
eab)
Test ProcessProducerMethod is fired after ProcessBeanAttributes.
org.jboss.cdi.tck.tests.extensions.processBean
ProcessBeanTest.testProcessProducerMethodEvent()
github
eba)
For a producer field with field type X of a bean with bean class T, the container must raise an event of type ProcessProducerField<T, X>.
org.jboss.cdi.tck.tests.extensions.processBean
ProcessBeanTest.testProcessProducerFieldEvent()
github
ebb)
Test ProcessProducerField is fired after ProcessBeanAttributes.
org.jboss.cdi.tck.tests.extensions.processBean
ProcessBeanTest.testProcessProducerFieldEvent()
github
ec)
Resources are considered to be producer fields.
org.jboss.cdi.tck.tests.extensions.producer.remote
RemoteProducerTest.testResourceAreConsideredToBeProducerField()
github
The interface javax.enterprise.inject.spi.ProcessBean is a supertype of all these event types.
eda)
Test ProcessManagedBean
org.jboss.cdi.tck.tests.extensions.processBean
ProcessBeanTest.testProcessBeanEvent()
github
edb)
Test ProcessSessionBean
org.jboss.cdi.tck.tests.extensions.processBean
ProcessSessionBeanTest.testProcessSessionBeanEvent()
github
edc)
Test ProcessProducerMethod
org.jboss.cdi.tck.tests.extensions.processBean
ProcessBeanTest.testProcessProducerMethodEvent()
github
edd)
Test ProcessProducerField
org.jboss.cdi.tck.tests.extensions.processBean
ProcessBeanTest.testProcessProducerFieldEvent()
github
getAnnotated() returns the AnnotatedType representing the bean class, the AnnotatedMethod representing the producer method, or the AnnotatedField representing the producer field.
efa)
Test ProcessManagedBean
org.jboss.cdi.tck.tests.extensions.processBean
ProcessBeanTest.testProcessBeanEvent()
github
efb)
Test ProcessSessionBean
org.jboss.cdi.tck.tests.extensions.processBean
ProcessSessionBeanTest.testProcessSessionBeanEvent()
github
efc)
Test ProcessProducerMethod
org.jboss.cdi.tck.tests.extensions.processBean
ProcessBeanTest.testProcessProducerMethodEvent()
github
efd)
Test ProcessProducerField
org.jboss.cdi.tck.tests.extensions.processBean
ProcessBeanTest.testProcessProducerFieldEvent()
github
getBean() returns the Bean object that is about to be registered. The Bean may implement Interceptor or Decorator.
fa)
Test ProcessManagedBean
org.jboss.cdi.tck.tests.extensions.processBean
ProcessBeanTest.testProcessBeanEvent()
github
fb)
Test ProcessSessionBean
org.jboss.cdi.tck.tests.extensions.processBean
ProcessSessionBeanTest.testProcessSessionBeanEvent()
github
fc)
Test ProcessProducerMethod
org.jboss.cdi.tck.tests.extensions.processBean
ProcessBeanTest.testProcessProducerMethodEvent()
github
fd)
Test ProcessProducerField
org.jboss.cdi.tck.tests.extensions.processBean
ProcessBeanTest.testProcessProducerFieldEvent()
github
h)
addDefinitionError() registers a definition error with the container, causing the container to abort deployment after bean discovery is complete.
org.jboss.cdi.tck.tests.extensions.container.event.broken.processBeanObserverRegistersException
AddDefinitionErrorTest.testAddDefinitionError()
github
hb)
getEjbName() returns the EJB name of the session bean.
org.jboss.cdi.tck.tests.extensions.processBean
ProcessSessionBeanTest.testProcessSessionBeanEvent()
github
org.jboss.cdi.tck.tests.extensions.container.event
ContainerEventTest.testGetEJBName()
github
hc)
getSessionBeanType() returns a javax.enterprise.inject.spi.SessionBeanType representing the kind of session bean.
org.jboss.cdi.tck.tests.extensions.processBean
ProcessSessionBeanTest.testProcessSessionBeanEvent()
github
org.jboss.cdi.tck.tests.extensions.container.event
ContainerEventTest.testGetSessionBeanType()
github
hd)
If any observer method of a ProcessBean event throws an exception, the exception is treated as a definition error by the container.
org.jboss.cdi.tck.tests.extensions.container.event.broken.processBeanObserverThrowsException
ThrowExceptionInProcessBeanObserverTest.testProcessBeanObserverThrowsException()
github
The following assertion is not made explicitly by the spec, however it is implied i)
Check the getAnnotatedProducerMethod()
org.jboss.cdi.tck.tests.extensions.processBean
ProcessBeanTest.testProcessProducerMethodEvent()
github
The following assertion is not made explicitly by the spec, however it is implied j)
Check the getAnnotatedDisposesParameter()
org.jboss.cdi.tck.tests.extensions.processBean
ProcessBeanTest.testProcessProducerMethodEvent()
github
The following assertion is not made explicitly by the spec, however it is implied k)
Check the getAnnotatedSessionBeanClass()
org.jboss.cdi.tck.tests.extensions.processBean
ProcessSessionBeanTest.testProcessSessionBeanEvent()
github
Check the getAnnotatedBeanClass()
The following assertion is not made explicitly by the spec, however it is implied l)
Check for managed bean
org.jboss.cdi.tck.tests.extensions.processBean
ProcessBeanTest.testProcessBeanEvent()
github
The following assertion is not made explicitly by the spec, however it is implied m)
Check for session bean
org.jboss.cdi.tck.tests.extensions.processBean
ProcessSessionBeanTest.testProcessSessionBeanEvent()
github
The following assertion is not made explicitly by the spec, however it is implied n)
Check the getAnnotatedProducerField()
org.jboss.cdi.tck.tests.extensions.processBean
ProcessBeanTest.testProcessProducerFieldEvent()
github
o)
If any ProcessBean method is called outside of the observer method invocation, an IllegalStateException is thrown.
org.jboss.cdi.tck.tests.extensions.lifecycle.events
ContainerLifeCycleEventRuntimeInvocationTest.testProcessBeanEventFails()
github
ContainerLifeCycleEventRuntimeInvocationTest.testProcessManagedBeanEventFails()
github
ContainerLifeCycleEventRuntimeInvocationTest.testProcessSessionBeanEventFails()
github
ContainerLifeCycleEventRuntimeInvocationTest.testProcessProducerMethodEventFails()
github
ContainerLifeCycleEventRuntimeInvocationTest.testProcessProducerFieldEventFails()
github
The container must fire an event for each producer method or field of each enabled bean, including resources.
aa)
Test producer method
org.jboss.cdi.tck.tests.extensions.lifecycle.atd
AfterTypeDiscoveryTest.testProcessProducerEventFiredForProducerMethod()
github
org.jboss.cdi.tck.tests.extensions.producer
ProducerTest.testProduceCallsProducerMethod()
github
ab)
Test producer field
org.jboss.cdi.tck.tests.extensions.lifecycle.atd
AfterTypeDiscoveryTest.testProcessProducerEventFiredForProducerField()
github
org.jboss.cdi.tck.tests.extensions.producer
ProducerTest.testProduceAccessesProducerField()
github
ac)
Test resource producer field
org.jboss.cdi.tck.tests.extensions.producer.remote
RemoteProducerTest.testProduceCallsOverridenResourceProducerMethod()
github
The event object must be of type javax.enterprise.inject.spi.ProcessProducer<T, X>, where T is the bean class of the bean that declares the producer method or field and X is the return type of the producer method or the type of the producer field.
ba)
Test producer method
org.jboss.cdi.tck.tests.extensions.lifecycle.atd
AfterTypeDiscoveryTest.testProcessProducerEventFiredForProducerMethod()
github
org.jboss.cdi.tck.tests.extensions.producer
ProducerTest.testProduceCallsProducerMethod()
github
bb)
Test producer field
org.jboss.cdi.tck.tests.extensions.lifecycle.atd
AfterTypeDiscoveryTest.testProcessProducerEventFiredForProducerField()
github
org.jboss.cdi.tck.tests.extensions.producer
ProducerTest.testProduceAccessesProducerField()
github
getAnnotatedMember() returns the AnnotatedField representing the producer field or the AnnotatedMethod representing the producer method.
ca)
Test producer method
org.jboss.cdi.tck.tests.extensions.producer
ProducerTest.testProduceCallsProducerMethod()
github
cb)
Test producer field
org.jboss.cdi.tck.tests.extensions.producer
ProducerTest.testProduceAccessesProducerField()
github
getProducer() returns the Producer object that will be used by the container to call the producer method or read the producer field.
da)
Test producer method
org.jboss.cdi.tck.tests.extensions.producer
ProducerTest.testProduceCallsProducerMethod()
github
db)
Test producer field
org.jboss.cdi.tck.tests.extensions.producer
ProducerTest.testProduceAccessesProducerField()
github
e)
setProducer() replaces the Producer.
org.jboss.cdi.tck.tests.extensions.producer.remote
RemoteProducerTest.testProduceCallsOverridenResourceProducerMethod()
github
org.jboss.cdi.tck.tests.extensions.producer
ProducerTest.testSetProducerOverridesProducer()
github
f)
addDefinitionError() registers a definition error with the container, causing the container to abort deployment after bean discovery is complete.
org.jboss.cdi.tck.tests.extensions.producer.broken.processing
ProducerProcessingWithDefinitionErrorTest.testExplicitDefinitionError()
github
Any observer of this event is permitted to wrap and/or replace the Producer. The container must use the final value of this property, after all observers have been called, whenever it calls the producer or disposer.
ga)
Test producer method
org.jboss.cdi.tck.tests.extensions.producer
ProducerTest.testSetProducerOverridesProducer()
github
gb)
Test producer field
org.jboss.cdi.tck.tests.extensions.producer.remote
RemoteProducerTest.testProduceCallsOverridenResourceProducerMethod()
github
h)
If any observer method of a ProcessProducer event throws an exception, the exception is treated as a definition error by the container.
org.jboss.cdi.tck.tests.extensions.producer.broken.processing
ProducerProcessingWithExceptionTest.testException()
github
i)
If any ProcessProducer method is called outside of the observer method invocation, an IllegalStateException is thrown.
org.jboss.cdi.tck.tests.extensions.lifecycle.events
ContainerLifeCycleEventRuntimeInvocationTest.testProcessProducer()
github
aaa)
The container must fire an event for each observer method of each enabled bean, before registering the ObserverMethod object. The event object must be of type javax.enterprise.inject.spi.ProcessObserverMethod<T, X> where T is the bean class of the bean that declares the observer method and X is the observed event type of the observer method.
org.jboss.cdi.tck.tests.extensions.observer
ProcessObserverMethodEventTest.testProcessObserverMethodEventsSent()
github
aba)
getAnnotatedEventParameter() returns the AnnotatedParameter representing the event parameter.
org.jboss.cdi.tck.tests.extensions.observer
ProcessObserverMethodEventTest.testGetAnnotatedMethod()
github
ba)
getObserverMethod() returns the ObserverMethod object that will be used by the container to call the observer method.
org.jboss.cdi.tck.tests.extensions.observer
ProcessObserverMethodEventTest.testGetObserverMethod()
github
da)
addDefinitionError() registers a definition error with the container, causing the container to abort deployment after bean discovery is complete.
org.jboss.cdi.tck.tests.extensions.observer.broken.definitionError
ProcessObserverMethodErrorTest.testAddDefinitionError()
github
db)
If any observer method of a ProcessObserverMethod event throws an exception, the exception is treated as a definition error by the container.
org.jboss.cdi.tck.tests.extensions.observer.broken.exception
ProcessObserverMethodExceptionTest.testExceptionIsDefinitionError()
github
dc)
If any ProcessObserverMethod method is called outside of the observer method invocation, an IllegalStateException is thrown.
org.jboss.cdi.tck.tests.extensions.lifecycle.events
ContainerLifeCycleEventRuntimeInvocationTest.testProcessObserverMethodEventFails()
github
a)
Bean classes of enabled beans must be deployed in bean archives.
oa)
An archive which contains a beans.xml file with the bean-discovery-mode of none is not a bean archive.
org.jboss.cdi.tck.tests.deployment.discovery.enterprise
EnterpriseBeanDiscoveryTest.testNoBeanArchiveModeNone()
github
org.jboss.cdi.tck.tests.deployment.discovery
BeanDiscoveryTest.testNoBeanArchiveModeNone()
github
ob)
An archive which contains an extension and no beans.xml file is not a bean archive.
org.jboss.cdi.tck.tests.deployment.discovery.enterprise
EnterpriseBeanDiscoveryTest.testNotBeanArchiveExtension()
github
org.jboss.cdi.tck.tests.deployment.discovery
BeanDiscoveryTest.testNotBeanArchiveExtension()
github
An explicit bean archive is an archive which contains a beans.xml file with a version number of 1.1 (or later), with the bean-discovery-mode of all, or with no version number, or that is an empty file.
ba)
Test an archive which contains a beans.xml file with a version number of 1.1, with the bean-discovery-mode of all.
org.jboss.cdi.tck.tests.deployment.discovery.enterprise
EnterpriseBeanDiscoveryTest.testExplicitBeanArchiveModeAll()
github
org.jboss.cdi.tck.tests.deployment.discovery
BeanDiscoveryTest.testExplicitBeanArchiveModeAll()
github
bb)
Test an archive which contains a beans.xml file with no version number.
org.jboss.cdi.tck.tests.deployment.discovery.enterprise
EnterpriseBeanDiscoveryTest.testExplicitBeanArchiveEmptyDescriptor()
github
org.jboss.cdi.tck.tests.deployment.discovery
BeanDiscoveryTest.testExplicitBeanArchiveEmptyDescriptor()
github
bc)
Test an archive which contains an empty beans.xml.
org.jboss.cdi.tck.tests.deployment.discovery.enterprise
EnterpriseBeanDiscoveryTest.testExplicitBeanArchiveEmptyDescriptor()
github
EnterpriseBeanDiscoveryTest.testExplicitBeanArchiveLegacyDescriptor()
github
org.jboss.cdi.tck.tests.deployment.discovery
BeanDiscoveryTest.testExplicitBeanArchiveEmptyDescriptor()
github
BeanDiscoveryTest.testExplicitBeanArchiveLegacyDescriptor()
github
BeanDiscoveryTest.testExplicitBeanArchiveLegacyDescriptor()
github
ca)
An implicit bean archive is any other archive which contains one or more bean classes with a bean defining annotation, or one or more session beans.
org.jboss.cdi.tck.tests.deployment.discovery.enterprise
EnterpriseBeanDiscoveryTest.testImplicitBeanArchiveNoDescriptor()
github
EnterpriseBeanDiscoveryTest.testImplicitBeanArchiveModeAnnotated()
github
org.jboss.cdi.tck.tests.deployment.discovery
BeanDiscoveryTest.testNormalScopeImplicitBeanArchiveNoDescriptor()
github
BeanDiscoveryTest.testNormalScopeImplicitBeanArchiveModeAnnotated()
github
When determining which archives are bean archives, the container must consider:
da)
Library jars, EJB jars or application client jars.
db)
The WEB-INF/classes directory of a war.
dc)
Directories in the JVM classpath.
e)
A Java EE container is required by the Java EE specification to support Java EE modules. Other containers may or may not provide support for war, EJB jar or rar bean archives.
The beans.xml file must be named:
fa)
fb)
In a war, WEB-INF/beans.xml or WEB-INF/classes/META-INF/beans.xml
org.jboss.cdi.tck.tests.deployment.packaging.war
BeansDescriptorAlternativeLocationTest.testAlternativeLocation()
github
g)
If a war has a file named beans.xml in both the WEB-INF directory and in the WEB-INF/classes/META-INF directory, then non-portable behavior results. Portable applications must have a beans.xml file in only one of the WEB-INF or the WEB-INF/classes/META-INF directories.
h)
If beans.xml file with version 1.1 is used, the bean-discovery-mode attribute is required.
i)
For compatibility with Contexts and Dependency 1.0, products must contain an option to cause an archive to be ignored by the container when no beans.xml is present.
In an application deployed as an ear, the container searches every bean archive bundled with or referenced by the ear, including bean archives bundled with or referenced by wars, EJB jars and rars contained in the ear. The bean archives might be library jars, EJB jars or war WEB-INF/classes directories.
ja)
Test an EJB jar in an EAR.
org.jboss.cdi.tck.tests.implementation.enterprise.lifecycle
EnterpriseBeanLifecycleTest.testCreateSFSB()
github
org.jboss.cdi.tck.tests.deployment.packaging.ear.modules
EnterpriseArchiveModulesTest.testVisibilityAndInterceptorEnablement()
github
jb)
Test a bundled library in an EAR.
org.jboss.cdi.tck.tests.deployment.packaging.bundledLibrary
org.jboss.cdi.tck.tests.deployment.packaging.ear.modules
EnterpriseArchiveModulesTest.testVisibilityAndInterceptorEnablement()
github
jc)
Test a bundled library in a WAR.
org.jboss.cdi.tck.tests.deployment.packaging.ear
SingleWebModuleWithExtensionTest.testSingleWebModuleWithExtension()
github
MultiWebModuleWithExtensionTest.testMultipleWebModulesWithExtension()
github
org.jboss.cdi.tck.tests.deployment.packaging.ear.modules
EnterpriseArchiveModulesTest.testVisibilityAndInterceptorEnablement()
github
jd)
Test a rar in an EAR.
org.jboss.cdi.tck.tests.deployment.packaging.rar
ResourceAdapterArchiveTest.testInjection()
github
ResourceAdapterArchiveTest.testResolution()
github
je)
Test a war in an EAR.
org.jboss.cdi.tck.tests.deployment.packaging.ear
SingleWebModuleWithExtensionTest.testSingleWebModuleWithExtension()
github
MultiWebModuleWithExtensionTest.testMultipleWebModulesWithExtension()
github
org.jboss.cdi.tck.tests.deployment.packaging.ear.modules
EnterpriseArchiveModulesTest.testVisibilityAndInterceptorEnablement()
github
jf)
Test an installed library.
org.jboss.cdi.tck.tests.deployment.packaging.installedLibrary
InstalledLibraryEarTest.testEjbJarInjection()
github
InstalledLibraryEarTest.testBundledLibraryInjection()
github
InstalledLibraryEarTest.testWarInjection()
github
In an application deployed as a war, the container searches every bean archive bundled with or referenced by the war. The bean archives might be library jars or the WEB-INF/classes directory.
jg)
Test WEB-INF/classes directory.
org.jboss.cdi.tck.tests.deployment.packaging.war.modules
WebArchiveModulesTest.testInjectionChainVisibilityAndInterceptorEnablement()
github
org.jboss.cdi.tck.tests.implementation.simple.lifecycle
SimpleBeanLifecycleTest.testCreateInjectsFieldsDeclaredInJava()
github
jh)
Test bundled library.
org.jboss.cdi.tck.tests.deployment.packaging.visibility
JarToJarAlphaVisibilityTest.testDeployment()
github
org.jboss.cdi.tck.tests.deployment.packaging.bundledLibrary
LibraryMissingBeansXmlTest.test()
github
org.jboss.cdi.tck.tests.deployment.packaging.visibility
JarToJarReverseAlphaVisibilityTest.testDeployment()
github
org.jboss.cdi.tck.tests.deployment.packaging.war.modules
WebArchiveModulesTest.testInjectionChainVisibilityAndInterceptorEnablement()
github
org.jboss.cdi.tck.tests.deployment.packaging.visibility
VisibilityOfBeanInWebModuleFromBeanManagerInBeanLibraryTest.shouldFindBeanByType()
github
VisibilityOfBeanInWebModuleFromBeanManagerInBeanLibraryTest.shouldFindBeanByName()
github
ji)
Test an installed library.
org.jboss.cdi.tck.tests.deployment.packaging.installedLibrary
InstalledLibraryWarTest.testInjection()
github
In an application deployed as an EJB jar, the container searches the EJB jar, if it is a bean archive, and every bean archive referenced by the EJB jar.
jj)
Test classes in the EJB jar.
org.jboss.cdi.tck.tests.deployment.packaging.ejb
EJBJarDeploymentTest.testContainerSearchesEJBJar()
github
jk)
In an application deployed as a rar, the container searches every bean archive bundled with or referenced by the rar.
No tests exist for this assertion
jl)
An embeddable EJB container searches each bean archive in the JVM classpath that is listed in the value of the embeddable container initialization property javax.ejb.embeddable.modules, or every bean archive in the JVM classpath if the property is not specified. The bean archives might be directories, library jars or EJB jars.
No tests exist for this assertion
k)
If a bean class is deployed in two different bean archives, non-portable behaviour results. Portable applications must deploy each bean class in no more than one bean archive.
l)
Explicit bean archives may contain classes which are not deployed as beans. For example a bean archive might contain message-driven beans.
m)
Implicit bean archives are likely to contain classes which are not deployed as beans.
n)
An extension may be deployed in any archive, including those that are not bean archives.
org.jboss.cdi.tck.tests.extensions.registration
BeanRegistrationByExtensionInEarLibraryTest.shouldFindBeanReference()
github
BeanRegistrationByExtensionInEarLibraryTest.shouldRegisterExtensions()
github
BeanRegistrationByExtensionInNonBeanArchiveTest.shouldFindBeanReference()
github
TwoBeansOneClassTest.testTwoBeansWithOneBaseClass()
github
BeanRegistrationByExtensionInWarLibraryTest.shouldFindBeanReference()
github
org.jboss.cdi.tck.tests.lookup.manager.provider.init
CDIProviderInitTest.testAccessingBeanManager()
github
a)
When an application is started, the container performs the following steps.
b)
First, the container must search for service providers for the service javax.enterprise.inject.spi.Extension defined in Section 11.5, "Container lifecycle events", instantiate a single instance of each service provider, and search the service provider class for observer methods of initialization events.
org.jboss.cdi.tck.tests.extensions.alternative.deployment
AlternativeInLibraryWithExtensionTest.testAlternative()
github
org.jboss.cdi.tck.tests.extensions.lifecycle.bbd
BeforeBeanDiscoveryTest.testBeforeBeanDiscoveryEventIsCalled()
github
org.jboss.cdi.tck.tests.deployment.initialization
ApplicationInitializationLifecycleTest.testInitialization()
github
c)
Next, the container must fire an event of type BeforeBeanDiscovery, as defined in Section 11.5.1, "BeforeBeanDiscovery event".
org.jboss.cdi.tck.tests.extensions.lifecycle.bbd
BeforeBeanDiscoveryTest.testBeforeBeanDiscoveryEventIsCalled()
github
org.jboss.cdi.tck.tests.deployment.initialization
ApplicationInitializationLifecycleTest.testInitialization()
github
i)
Next, the container must perform type discovery, as defined in Section 12.4.1, “Type discovery”
org.jboss.cdi.tck.tests.deployment.initialization
ApplicationInitializationLifecycleTest.testInitialization()
github
j)
Next, the container must fire an event of type AfterTypeDiscovery, as defined in Section 11.5.2., "AfterTypeDiscovery event".
org.jboss.cdi.tck.tests.deployment.initialization
ApplicationInitializationLifecycleTest.testInitialization()
github
ja)
Next, the container must perform bean discovery, as defined in Section 12.4.3, “Bean discovery”
org.jboss.cdi.tck.tests.implementation.simple.lifecycle
SimpleBeanLifecycleTest.testManagedBean()
github
org.jboss.cdi.tck.tests.deployment.initialization
ApplicationInitializationLifecycleTest.testInitialization()
github
e)
Next, the container must fire an event of type AfterBeanDiscovery, as defined in Section 11.5.2, "AfterBeanDiscovery event", and abort initialization of the application if any observer registers a definition error.
org.jboss.cdi.tck.tests.extensions.lifecycle.broken.addDefinitionError
AddDefinitionErrorTest.testObserverDefinitionErrorTreatedAsDefinitionError()
github
f)
Next, the container must detect deployment problems by validating bean dependencies and specialization and abort initialization of the application if any deployment problems exist, as defined in Section 2.9, "Problems detected automatically by the container".
org.jboss.cdi.tck.tests.deployment.initialization
ApplicationInitializationLifecycleTest.testInitialization()
github
g)
Next, the container must fire an event of type AfterDeploymentValidation, as defined in Section 11.5.3, "AfterDeploymentValidation event", and abort initialization of the application if any observer registers a deployment problem.
org.jboss.cdi.tck.tests.deployment.initialization
ApplicationInitializationLifecycleTest.testInitialization()
github
h)
Finally, the container begins directing requests to the application.
org.jboss.cdi.tck.tests.deployment.initialization
ApplicationInitializationLifecycleTest.testInitialization()
github
When an application is stopped, the container performs the following steps:
a)
First, the container must destroy all contexts.
org.jboss.cdi.tck.tests.deployment.shutdown
ApplicationShutdownLifecycleTest.testShutdown()
github
b)
Finally, the container must fire an event of type BeforeShutdown, as defined in Section 11.5.4, "BeforeShutdown event".
org.jboss.cdi.tck.tests.deployment.shutdown
ApplicationShutdownLifecycleTest.testShutdown()
github
a)
The container automatically discovers managed beans (according to the rules of Section 3.1.1, "Which Java classes are managed beans?") and session beans in bean archives and searches the bean classes for producer methods, producer fields, disposer methods and observer methods.
Exclude filters are defined by <exclude> elements in the beans.xml for the bean archive as children of the <scan> element.
pa)
By default an exclude filter is active.
org.jboss.cdi.tck.tests.deployment.exclude
ExcludeFiltersTest.testTypeFcqnMatchesExcludeFilterName()
github
ExcludeFiltersTest.testTypePackageMatchesExcludeFilterName()
github
pb)
An exclude filter is not active if the definition contains a child element named <if-class-available> with a name attribute, and the classloader for the bean archive can load a class for that name.
org.jboss.cdi.tck.tests.deployment.exclude
ExcludeFiltersTest.testExcludeClassActivators()
github
pc)
An exclude filter is not active if the definition contains a child element named <if-class-not-available> with a name attribute, and the classloader for the bean archive cannot load a class for that name.
org.jboss.cdi.tck.tests.deployment.exclude
ExcludeFiltersTest.testExcludeClassActivators()
github
pd)
An exclude filter is not active if the definition contains a child element named <if-system-property> with a name attribute, and there is no system property defined for that name.
org.jboss.cdi.tck.tests.deployment.exclude
ExcludeFiltersTest.testExcludeSystemPropertyActivator()
github
pe)
An exclude filter is not active if the definition contains a child element named <if-system-property> with a name attribute and a value attribute, and there is no system property defined for that name with that value.
org.jboss.cdi.tck.tests.deployment.exclude
ExcludeFiltersTest.testExcludeSystemPropertyActivator()
github
qa)
The type is excluded from discovery if the fully qualified name of the type being discovered matches the value of the name attribute of the exclude filter.
org.jboss.cdi.tck.tests.deployment.exclude
ExcludeFiltersTest.testTypeFcqnMatchesExcludeFilterName()
github
qb)
The type is excluded from discovery if the package name of the type being discovered matches the value of the name attribute with a suffix ".*" of the exclude filter.
org.jboss.cdi.tck.tests.deployment.exclude
ExcludeFiltersTest.testTypePackageMatchesExcludeFilterName()
github
qc)
The type is excluded from discovery if the package name of the type being discovered starts with the value of the name attribute with a suffix ".**" of the exclude filter.
org.jboss.cdi.tck.tests.deployment.exclude
ExcludeFiltersTest.testTypePackageMatchesExcludeFilterName()
github
ta)
The container discovers each Java class, interface or enum deployed in an explicit bean archive.
org.jboss.cdi.tck.tests.deployment.discovery.enterprise
EnterpriseBeanDiscoveryTest.testExplicitBeanArchiveLegacyDescriptor()
github
org.jboss.cdi.tck.tests.deployment.discovery
BeanDiscoveryTest.testExplicitBeanArchiveModeAll()
github
BeanDiscoveryTest.testExplicitBeanArchiveEmptyDescriptor()
github
BeanDiscoveryTest.testExplicitBeanArchiveLegacyDescriptor()
github
tb)
The container discovers each Java class with a bean defining annotation in an implicit bean archive.
org.jboss.cdi.tck.tests.deployment.discovery
BeanDiscoveryTest.testNormalScopeImplicitBeanArchiveNoDescriptor()
github
BeanDiscoveryTest.testNormalScopeImplicitBeanArchiveModeAnnotated()
github
BeanDiscoveryTest.testDependentScopeImplicitBeanArchiveNoDescriptor()
github
BeanDiscoveryTest.testPseudoScopeImplicitBeanArchiveModeAnnotated()
github
BeanDiscoveryTest.testInterceptorIsBeanDefiningAnnotation()
github
BeanDiscoveryTest.testDecoratorIsBeanDefiningAnnotation()
github
BeanDiscoveryTest.testStereotypeImplicitBeanArchiveNoDescriptor()
github
BeanDiscoveryTest.testStereotypeImplicitBeanArchiveModeAnnotated()
github
tc)
The container discovers each session bean.
org.jboss.cdi.tck.tests.deployment.discovery.enterprise
EnterpriseBeanDiscoveryTest.testExplicitBeanArchiveModeAll()
github
EnterpriseBeanDiscoveryTest.testExplicitBeanArchiveEmptyDescriptor()
github
EnterpriseBeanDiscoveryTest.testExplicitBeanArchiveLegacyDescriptor()
github
EnterpriseBeanDiscoveryTest.testImplicitBeanArchiveNoDescriptor()
github
EnterpriseBeanDiscoveryTest.testImplicitBeanArchiveModeAnnotated()
github
EnterpriseBeanDiscoveryTest.testNoBeanArchiveModeNone()
github
For every type discovered the container must create an AnnotatedType representing the type and fire an event of type ProcessAnnotatedType, as defined in Section 11.5.6.
ba)
Check managed bean
org.jboss.cdi.tck.tests.extensions.producer
ProducerTest.testInjectionTargetInject()
github
org.jboss.cdi.tck.tests.extensions.annotated
ProcessAnnotatedTypeTest.testProcessAnnotatedTypeEventsSent()
github
org.jboss.cdi.tck.tests.extensions.container.event
ContainerEventTest.testProcessAnnotatedTypeFiredForManagedBean()
github
bb)
Check session bean
org.jboss.cdi.tck.tests.extensions.container.event
ContainerEventTest.testProcessAnnotatedTypeFiredForSessionBean()
github
bd)
Check JSF managed beans
org.jboss.cdi.tck.tests.lookup.injection.non.contextual
ContainerEventTest.testProcessAnnotatedTypeEventFiredForJsfManagedBean()
github
be)
Check servlet listener
org.jboss.cdi.tck.tests.lookup.injection.non.contextual
ContainerEventTest.testProcessAnnotatedTypeEventFiredForServletListener()
github
bf)
Check tag handler
org.jboss.cdi.tck.tests.lookup.injection.non.contextual
ContainerEventTest.testProcessAnnotatedTypeEventFiredForTagHandler()
github
bg)
Check tag library listener
org.jboss.cdi.tck.tests.lookup.injection.non.contextual
ContainerEventTest.testProcessAnnotatedTypeEventFiredForTagLibraryListener()
github
bh)
Check EJB Interceptor
org.jboss.cdi.tck.tests.extensions.container.event
ContainerEventTest.testProcessAnnotatedTypeFiredForSessionBeanInterceptor()
github
bi)
Check WS endpoint
org.jboss.cdi.tck.tests.extensions.container.event.ws
ContainerEventTest.testProcessAnnotatedTypeFiredForWsEndpoint()
github
bj)
Check servlet
org.jboss.cdi.tck.tests.lookup.injection.non.contextual
ContainerEventTest.testProcessAnnotatedTypeEventFiredForServlet()
github
bk)
Check filter
org.jboss.cdi.tck.tests.lookup.injection.non.contextual
ContainerEventTest.testProcessAnnotatedTypeEventFiredForFilter()
github
r)
If an extension calls BeforeBeanDiscovery.addAnnotatedType() or AfterTypeDiscovery.addAnnotatedType(), the type passed must be added to the set of discovered types.
org.jboss.cdi.tck.tests.extensions.lifecycle.atd
AfterTypeDiscoveryTest.testAddAnnotatedType()
github
org.jboss.cdi.tck.tests.extensions.lifecycle.bbd
BeforeBeanDiscoveryTest.testAddAnnotatedType()
github
c)
For each Java class in any bean archive, the container must inspect the type metadata to determine if it is a bean or other Java EE component class supporting injection.
d)
For each Java class in any bean archive, the container must detect definition errors by validating the class and its metadata.
For each Java class in any bean archive, the container must, if the class is a managed bean, session bean, or other Java EE component class supporting injection, create an InjectionTarget for the class, as defined in Section 11.2, "The Producer and InjectionTarget interfaces", and fire an event of type ProcessInjectionTarget, as defined in Section 11.5.6, "ProcessInjectionTarget event"
da)
Check managed bean
org.jboss.cdi.tck.tests.extensions.container.event
ContainerEventTest.testProcessInjectionTargetFiredForManagedBean()
github
db)
Check session bean
org.jboss.cdi.tck.tests.extensions.container.event
ContainerEventTest.testProcessInjectionTargetFiredForSessionBean()
github
de)
Check servlet listener
org.jboss.cdi.tck.tests.extensions.lifecycle.processInjectionTarget
ContainerEventTest.testProcessInjectionTargetEventFiredForServletListener()
github
df)
Check tag handler
org.jboss.cdi.tck.tests.extensions.lifecycle.processInjectionTarget
ContainerEventTest.testProcessInjectionTargetEventFiredForTagHandler()
github
dg)
Check tag library listener
org.jboss.cdi.tck.tests.extensions.lifecycle.processInjectionTarget
ContainerEventTest.testProcessInjectionTargetEventFiredForTagLibraryListener()
github
dh)
Check EJB Interceptor
org.jboss.cdi.tck.tests.extensions.container.event
ContainerEventTest.testProcessInjectionTargetFiredForSessionBeanInterceptor()
github
di)
Check WS endpoint
org.jboss.cdi.tck.tests.extensions.container.event.ws
ContainerEventTest.testProcessInjectionTargetFiredForWsEndpoint()
github
dj)
Check servlet
org.jboss.cdi.tck.tests.extensions.lifecycle.processInjectionTarget
ContainerEventTest.testProcessInjectionTargetEventFiredForServlet()
github
dk)
Check filter
org.jboss.cdi.tck.tests.extensions.lifecycle.processInjectionTarget
ContainerEventTest.testProcessInjectionTargetEventFiredForFilter()
github
For each Java class in any bean archive, the container must, if the class is an enabled bean, interceptor or decorator, create a Bean object that implements the rules defined in Section 7.3.1, "Lifecycle of managed beans", Section 7.3.2, "Lifecycle of stateful session beans" or Section 7.3.3, "Lifecycle of stateless session and singleton beans", and fire an event which is a subtype of ProcessBean, as defined in Section 11.5.8, "ProcessBean event".
fa)
Check a managed bean
org.jboss.cdi.tck.tests.extensions.processBean
ProcessBeanTest.testProcessBeanEvent()
github
fb)
Check a session bean
org.jboss.cdi.tck.tests.extensions.processBean
ProcessSessionBeanTest.testProcessSessionBeanEvent()
github
org.jboss.cdi.tck.tests.extensions.container.event
ContainerEventTest.testProcessSessionBeanFiredForStatelessSessionBean()
github
ContainerEventTest.testProcessSessionBeanFiredForStatefulSessionBean()
github
For each enabled bean, the container must search the class for producer methods and fields, including resources, and for each producer method or field create a Producer, as defined in Section 11.2, "The Producer and InjectionTarget interfaces", and fire an event of type ProcessProducer, as defined in Section 11.5.7, "ProcessProducer event", and then if the producer method or field is enabled, create a Bean object that implements the rules defined in Section 7.3.4, "Lifecycle of producer methods", Section 7.3.5, "Lifecycle of producer fields" or Section 7.3.6, "Lifecycle of resources", and fire an event which is a subtype of ProcessBean, as defined in Section 11.5.8,
"ProcessBean event".
ha)
Check a producer method
org.jboss.cdi.tck.tests.extensions.processBean
ProcessBeanTest.testProcessProducerMethodEvent()
github
org.jboss.cdi.tck.tests.extensions.producer
ProducerTest.testProduceCallsProducerMethod()
github
hb)
Check a producer field
org.jboss.cdi.tck.tests.extensions.processBean
ProcessBeanTest.testProcessProducerFieldEvent()
github
org.jboss.cdi.tck.tests.extensions.producer
ProducerTest.testProduceAccessesProducerField()
github
i)
For each enabled bean, the container must search the class for observer methods, and for each observer method create an ObserverMethod object, as defined in Section 11.1.3, "The ObserverMethod interface" and fire an event of type ProcessObserverMethod, as defined in Section 11.5.9, "ProcessObserverMethod event".
org.jboss.cdi.tck.tests.extensions.observer
ProcessObserverMethodEventTest.testProcessObserverMethodEventsSent()
github
ProcessObserverMethodEventTest.testGetObserverMethod()
github
The container determines which alternatives, interceptors and decorators are enabled, according to the rules defined in Section 5.1.2, "Enabled and disabled beans", Section 9.4, "Interceptor enablement and ordering" and Section 8.2, "Decorator enablement and ordering", taking into account any <enable>, <interceptors> and <decorators> declarations in the beans.xml files, and registers the Bean and ObserverMethod objects.
ka)
Check only beans for enabled policies registered
org.jboss.cdi.tck.tests.alternative
AlternativeAvailabilityTest.testAlternativeAvailability()
github
kb)
Check only enabled interceptors registered
org.jboss.cdi.tck.tests.interceptors.invocation
InterceptorInvocationTest.testManagedBeanIsIntercepted()
github
kc)
Check only enabled decorators registered
org.jboss.cdi.tck.tests.decorators.definition
DecoratorDefinitionTest.testDecoratorIsManagedBean()
github
l)
For each enabled bean that is not an interceptor or decorator, the container registers an instance of the Bean interface defined in Section 11.1, "The Bean interface".
m)
For each enabled interceptor, the container registers an instance of the Interceptor interface as defined in Section 11.1.2, "The Interceptor interface".
n)
For each enabled decorator, the container registers an instance of the Decorator interface defined in Section 11.1.1, "The Decorator interface".
o)
For each observer method of every enabled bean, the container registers an instance of the ObserverMethod interface defined in Section 11.1.3, "The ObserverMethod interface".
org.jboss.cdi.tck.tests.event.observer.resolve
ResolveEventObserversTest.testObserverMethodAutomaticallyRegistered()
github
ResolveEventObserversTest.testObserverMethodNotAutomaticallyRegisteredForDisabledBeans()
github
a)
The container must provide a Unified EL ELResolver to the servlet engine and JSF implementation that resolves bean EL names using the rules of name resolution defined in 5.3, "EL name resolution" and resolving ambiguities according to Section 5.3.1, "Ambiguous EL names".
org.jboss.cdi.tck.tests.lookup.el.integration
IntegrationWithUnifiedELTest.testELResolverRegisteredWithJsf()
github
IntegrationWithUnifiedELTest.testELResolverRegisteredWithServletContainer()
github
c)
If a name used in an EL expression does not resolve to any bean, the ELResolver must return a null value.
org.jboss.cdi.tck.tests.lookup.el
ResolutionByNameTest.testUnresolvedNameReturnsNull()
github
d)
Otherwise, if a name used in an EL expression resolves to exactly one bean, the ELResolver must return a contextual instance of the bean, as defined in Section 6.5.2, "Contextual instance of a bean".
org.jboss.cdi.tck.tests.lookup.el
ResolutionByNameTest.testELResolverReturnsContextualInstance()
github
Highlighted test groups
| Test Class | Test method |
rewrite (6) |
org.jboss.cdi.tck.tests.event.fires FireEventTest | testEventSelectedFiresAndObserversNotified() |
org.jboss.cdi.tck.tests.event.fires FireEventTest | testInjectedAnyEventCanFireEvent() |
org.jboss.cdi.tck.tests.event.fires FireEventTest | testInjectedEventAcceptsEventObject() |
org.jboss.cdi.tck.tests.event.fires FireEventTest | testInjectedEventCanHaveBindings() |
org.jboss.cdi.tck.tests.event.fires FireEventTest | testInjectedEventCanSpecifyBindingsDynamically() |
org.jboss.cdi.tck.tests.implementation.builtin BuiltInBeansTest | testPrincipalBean() |