Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Do not add the mapped Client.class if it doesn't exist in the EE 11 TCK #128

Closed
scottmarlow opened this issue Aug 28, 2024 · 0 comments · Fixed by #132
Closed

Do not add the mapped Client.class if it doesn't exist in the EE 11 TCK #128

scottmarlow opened this issue Aug 28, 2024 · 0 comments · Fixed by #132

Comments

@scottmarlow
Copy link
Member

In the [1] JPA generated code for ee.jakarta.tck.persistence.core.annotations.orderby, we shouldn't add ee.jakarta.tck.persistence.core.annotations.orderby.Client.class.

[1]

package ee.jakarta.tck.persistence.core.annotations.orderby;

import ee.jakarta.tck.persistence.core.annotations.orderby.Client2;
import java.net.URL;
import org.jboss.arquillian.container.test.api.Deployment;
import org.jboss.arquillian.container.test.api.OperateOnDeployment;
import org.jboss.arquillian.container.test.api.OverProtocol;
import org.jboss.arquillian.container.test.api.TargetsContainer;
import org.jboss.arquillian.junit5.ArquillianExtension;
import org.jboss.arquillian.test.api.ArquillianResource;
import org.jboss.shrinkwrap.api.ShrinkWrap;
import org.jboss.shrinkwrap.api.asset.StringAsset;
import org.jboss.shrinkwrap.api.exporter.ZipExporter;
import org.jboss.shrinkwrap.api.spec.EnterpriseArchive;
import org.jboss.shrinkwrap.api.spec.JavaArchive;
import org.jboss.shrinkwrap.api.spec.WebArchive;
import org.junit.jupiter.api.MethodOrderer;
import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestMethodOrder;
import org.junit.jupiter.api.extension.ExtendWith;
import tck.arquillian.porting.lib.spi.TestArchiveProcessor;
import tck.arquillian.protocol.common.TargetVehicle;



@ExtendWith(ArquillianExtension.class)
@Tag("persistence")
@Tag("platform")
@Tag("web")
@Tag("tck-javatest")

@TestMethodOrder(MethodOrderer.MethodName.class)
public class Client2PuservletTest extends ee.jakarta.tck.persistence.core.annotations.orderby.Client2 {
    static final String VEHICLE_ARCHIVE = "jpa_core_annotations_orderby_puservlet_vehicle";

        /**
        EE10 Deployment Descriptors:
        jpa_core_annotations_orderby: META-INF/persistence.xml
        jpa_core_annotations_orderby_appmanaged_vehicle_client: META-INF/application-client.xml
        jpa_core_annotations_orderby_appmanaged_vehicle_ejb: jar.sun-ejb-jar.xml
        jpa_core_annotations_orderby_appmanagedNoTx_vehicle_client: META-INF/application-client.xml
        jpa_core_annotations_orderby_appmanagedNoTx_vehicle_ejb: jar.sun-ejb-jar.xml
        jpa_core_annotations_orderby_pmservlet_vehicle_web: WEB-INF/web.xml
        jpa_core_annotations_orderby_puservlet_vehicle_web: WEB-INF/web.xml
        jpa_core_annotations_orderby_stateful3_vehicle_client: META-INF/application-client.xml
        jpa_core_annotations_orderby_stateful3_vehicle_ejb: jar.sun-ejb-jar.xml
        jpa_core_annotations_orderby_stateless3_vehicle_client: META-INF/application-client.xml
        jpa_core_annotations_orderby_stateless3_vehicle_ejb: jar.sun-ejb-jar.xml
        jpa_core_annotations_orderby_vehicles: 

        Found Descriptors:
        War:

        /com/sun/ts/tests/common/vehicle/puservlet/puservlet_vehicle_web.xml
        Ear:

        */
        @TargetsContainer("tck-javatest")
        @OverProtocol("javatest")
        @Deployment(name = VEHICLE_ARCHIVE, order = 2)
        public static EnterpriseArchive createDeploymentVehicle(@ArquillianResource TestArchiveProcessor archiveProcessor) {
        // War
            // the war with the correct archive name
            WebArchive jpa_core_annotations_orderby_puservlet_vehicle_web = ShrinkWrap.create(WebArchive.class, "jpa_core_annotations_orderby_puservlet_vehicle_web.war");
            // The class files
            jpa_core_annotations_orderby_puservlet_vehicle_web.addClasses(
            com.sun.ts.tests.common.vehicle.ejb3share.EJB3ShareBaseBean.class,
            com.sun.ts.tests.common.vehicle.VehicleRunnerFactory.class,
            com.sun.ts.tests.common.vehicle.ejb3share.UseEntityManager.class,
            com.sun.ts.tests.common.vehicle.ejb3share.EJB3ShareIF.class,
            com.sun.ts.tests.common.vehicle.puservlet.PUServletVehicle.class,
            com.sun.ts.lib.harness.EETest.Fault.class,
            com.sun.ts.tests.common.vehicle.ejb3share.UseEntityManagerFactory.class,
            ee.jakarta.tck.persistence.common.PMClientBase.class,
            com.sun.ts.tests.common.vehicle.servlet.ServletVehicle.class,
            com.sun.ts.tests.common.vehicle.VehicleRunnable.class,
            ee.jakarta.tck.persistence.core.annotations.orderby.Client2.class,
            com.sun.ts.tests.common.vehicle.ejb3share.UserTransactionWrapper.class,
            com.sun.ts.lib.harness.EETest.class,
            com.sun.ts.lib.harness.ServiceEETest.class,
            com.sun.ts.tests.common.vehicle.ejb3share.EntityTransactionWrapper.class,
            com.sun.ts.lib.harness.EETest.SetupException.class,
            com.sun.ts.tests.common.vehicle.VehicleClient.class,
            com.sun.ts.tests.common.vehicle.ejb3share.NoopTransactionWrapper.class,
            ee.jakarta.tck.persistence.core.annotations.orderby.Client.class
            );
            // The web.xml descriptor
            URL warResURL = Client2.class.getResource("/com/sun/ts/tests/common/vehicle/puservlet/puservlet_vehicle_web.xml");
            if(warResURL != null) {
              jpa_core_annotations_orderby_puservlet_vehicle_web.addAsWebInfResource(warResURL, "web.xml");
            }
            // The sun-web.xml descriptor
            warResURL = Client2.class.getResource("//com/sun/ts/tests/common/vehicle/puservlet/puservlet_vehicle_web.war.sun-web.xml");
            if(warResURL != null) {
              jpa_core_annotations_orderby_puservlet_vehicle_web.addAsWebInfResource(warResURL, "sun-web.xml");
            }

            // Any libraries added to the war

            // Web content
            warResURL = Client2.class.getResource("/com/sun/ts/tests/jpa/core/annotations/orderby/jpa_core_annotations_orderby.jar");
            if(warResURL != null) {
              jpa_core_annotations_orderby_puservlet_vehicle_web.addAsWebResource(warResURL, "/WEB-INF/lib/jpa_core_annotations_orderby.jar");
            }
            warResURL = Client2.class.getResource("/com/sun/ts/tests/common/vehicle/puservlet/puservlet_vehicle_web.xml");
            if(warResURL != null) {
              jpa_core_annotations_orderby_puservlet_vehicle_web.addAsWebResource(warResURL, "/WEB-INF/puservlet_vehicle_web.xml");
            }

           // Call the archive processor
           archiveProcessor.processWebArchive(jpa_core_annotations_orderby_puservlet_vehicle_web, Client2.class, warResURL);


        // Par
            // the jar with the correct archive name
            JavaArchive jpa_core_annotations_orderby = ShrinkWrap.create(JavaArchive.class, "jpa_core_annotations_orderby.jar");
            // The class files
            jpa_core_annotations_orderby.addClasses(
                ee.jakarta.tck.persistence.core.annotations.orderby.A.class,
                ee.jakarta.tck.persistence.core.annotations.orderby.Department.class,
                ee.jakarta.tck.persistence.core.annotations.orderby.ZipCode2.class,
                ee.jakarta.tck.persistence.core.annotations.orderby.Customer.class,
                ee.jakarta.tck.persistence.core.annotations.orderby.A2.class,
                ee.jakarta.tck.persistence.core.annotations.orderby.Address.class,
                ee.jakarta.tck.persistence.core.annotations.orderby.Employee.class,
                ee.jakarta.tck.persistence.core.annotations.orderby.Address2.class,
                ee.jakarta.tck.persistence.core.annotations.orderby.Customer2.class,
                ee.jakarta.tck.persistence.core.annotations.orderby.Insurance.class,
                ee.jakarta.tck.persistence.core.annotations.orderby.ZipCode.class
            );
            // The persistence.xml descriptor
            URL parURL = Client2.class.getResource("persistence.xml");
            if(parURL != null) {
              jpa_core_annotations_orderby.addAsManifestResource(parURL, "persistence.xml");
            }
            // Call the archive processor
            archiveProcessor.processParArchive(jpa_core_annotations_orderby, Client2.class, parURL);
            // The orm.xml file
            parURL = Client2.class.getResource("orm.xml");
            if(parURL != null) {
              jpa_core_annotations_orderby.addAsManifestResource(parURL, "orm.xml");
            }

        // Ear
            EnterpriseArchive jpa_core_annotations_orderby_vehicles_ear = ShrinkWrap.create(EnterpriseArchive.class, "jpa_core_annotations_orderby_vehicles.ear");

            // Any libraries added to the ear

            // The component jars built by the package target
            jpa_core_annotations_orderby_vehicles_ear.addAsModule(jpa_core_annotations_orderby_puservlet_vehicle_web);

            jpa_core_annotations_orderby_vehicles_ear.addAsLibrary(jpa_core_annotations_orderby);



            // The application.xml descriptor
            URL earResURL = null;
            // The sun-application.xml descriptor
            earResURL = Client2.class.getResource("/.ear.sun-application.xml");
            if(earResURL != null) {
              jpa_core_annotations_orderby_vehicles_ear.addAsManifestResource(earResURL, "sun-application.xml");
            }
            // Call the archive processor
            archiveProcessor.processEarArchive(jpa_core_annotations_orderby_vehicles_ear, Client2.class, earResURL);
        return jpa_core_annotations_orderby_vehicles_ear;
        }

        @Test
        @Override
        @TargetVehicle("puservlet")
        public void propertyDotNotationTest() throws java.lang.Exception {
            super.propertyDotNotationTest();
        }

        @Test
        @Override
        @TargetVehicle("puservlet")
        public void fieldDotNotationTest() throws java.lang.Exception {
            super.fieldDotNotationTest();
        }


}
starksm64 added a commit to jakartaredhat/jakartaee-tck-tools that referenced this issue Aug 28, 2024
Only use the extra Client.class if it exists in EE11
Add additional properties used by jdbc
Add a tssql.stmt config location to protocol common config
Use the ClientJar MainClass value in client jar manifest
Add com.sun.ts.tests.common.vehicle.ejb.EJBVehicleHome to excluded classes

Fixes eclipse-ee4j#130
Fixes eclipse-ee4j#128

Signed-off-by: Scott M Stark <starksm64@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant