Class SigTestEE

java.lang.Object
ee.jakarta.tck.ws.rs.signaturetest.SigTestEE
Direct Known Subclasses:
JAXRSSigTestIT

public abstract class SigTestEE extends Object
This class should be extended by TCK developers that wish to create a set of signature tests that run inside all the Java EE containers. Developers must implement the getPackages method to specify which packages are to be tested by the signature test framework within which container.
  • Field Details

  • Constructor Details

    • SigTestEE

      public SigTestEE()
  • Method Details

    • getSigTestDriver

      protected SignatureTestDriver getSigTestDriver()

      Returns a SignatureTestDriver appropriate for the particular TCK (using API check or the Signature Test Framework).

      The default implementation of this method will return a SignatureTestDriver that will use API Check. TCK developers can override this to return the desired SignatureTestDriver for their TCK.

    • getPackageFile

      protected String getPackageFile()
      Returns the location of the package list file. This file denotes the valid sub-packages of any package being verified in the signature tests.

      Sub-classes are free to override this method if they use a different path or filename for their package list file. Most users should be able to use this default implementation.

      Returns:
      String The path and name of the package list file.
    • getMapFile

      protected String getMapFile()
      Returns the path and name of the signature map file that this TCK uses when conducting signature tests. The signature map file tells the signature test framework which API versions of tested packages to use. To keep this code platform independent, be sure to use the File.separator string (or the File.separatorChar) to denote path separators.

      Sub-classes are free to override this method if they use a different path or filename for their signature map file. Most users should be able to use this default implementation.

      Returns:
      String The path and name of the signature map file.
    • getRepositoryDir

      protected String getRepositoryDir()
      Returns the directory that contains the signature files.

      Sub-classes are free to override this method if they use a different signature repository directory. Most users should be able to use this default implementation.

      Returns:
      String The signature repository directory.
    • getUnlistedOptionalPackages

      protected ArrayList<String> getUnlistedOptionalPackages()
      Returns the list of Optional Packages which are not accounted for. By 'unlisted optional' we mean the packages which are Optional to the technology under test that the user did NOT specifically list for testing. For example, with Java EE 7 implementation, a user could additionally opt to test a JSR-88 technology along with the Java EE technology. But if the user chooses NOT to list this optional technology for testing (via ts.jte javaee.level prop) then this method will return the packages for JSR-88 technology with this method call.

      This is useful for checking for a scenarios when a user may have forgotten to identify a whole or partial technology implementation and in such cases, Java EE platform still requires testing it.

      Any partial or complete impl of an unlistedOptionalPackage sends up a red flag indicating that the user must also pass tests for this optional technology area.

      Sub-classes are free to override this method if they use a different signature repository directory. Most users should be able to use this default implementation - which means that there was NO optional technology packages that need to be tested.

      Returns:
      ArrayList
    • getPackages

      protected abstract String[] getPackages(String vehicleName)
      Returns the list of packages that must be tested by the signature test framework. TCK developers must implement this method in their signature test sub-class.
      Parameters:
      vehicleName - The name of the vehicle the signature tests should be conducted in. Valid values for this property are ejb, servlet, ejb and appclient.
      Returns:
      String[] A list of packages that the developer wishes to test using the signature test framework. If the developer does not wish to test any package signatures in the specified vehicle this method should return null.

      Note, The proper way to insure that this method is not called with a vehicle name that has no package signatures to verify is to modify the vehicle.properties in the $TS_HOME/src directory. This file provides a mapping that maps test directories to a list of vehicles where the tests in those directory should be run. As an extra precaution users are encouraged to return null from this method if the specified vehicle has no package signatures to be verified within it.

    • getClasses

      protected String[] getClasses(String vehicleName)

      Returns an array of individual classes that must be tested by the signature test framwork within the specified vehicle. TCK developers may override this method when this functionality is needed. Most will only need package level granularity.

      If the developer doesn't wish to test certain classes within a particular vehicle, the implementation of this method must return a zero-length array.

      Parameters:
      vehicleName - The name of the vehicle the signature tests should be conducted in. Valid values for this property are ejb, servlet, ejb and appclient.
      Returns:
      an Array of Strings containing the individual classes the framework should test based on the specifed vehicle. The default implementation of this method returns a zero-length array no matter the vehicle specified.
    • setup

      public void setup()
      Called by the test framework to initialize this test. The method simply retrieves some state information that is necessary to run the test when when the test framework invokes the run method (actually the test1 method).
      Parameters:
      args - List of arguments passed to this test.
      p - Properties specified by the test user and passed to this test via the test framework.
      Throws:
      SigTestEE.Fault - When an error occurs reading or saving the state information processed by this method.
    • signatureTest

      public void signatureTest() throws SigTestEE.Fault
      Called by the test framework to run this test. This method utilizes the state information set in the setup method to run the signature tests. All signature test code resides in the utility class so it can be reused by the signature test framework base classes.
      Throws:
      SigTestEE.Fault - When an error occurs executing the signature tests.
    • verifyJtaJarTest

      public void verifyJtaJarTest() throws Exception
      Called by the test framework to run this test. This method utilizes the state information set in the setup method to run. This test validates that the javax.transaction.xa type is not in the JTA API jar This method is called only for standaone vehicle, as calling the same for all the vehicles in the CTS run is not necessary. This method is called always from JTA 1.3 TCK. The test will be run as part of Java EE Signature Test only when the signature map in the CTS bundle is using JTA 1.3 (or higher) signature file. If property ts.jte jtaJarClasspath is removed in ts.jte of the JTA 1.3 TCK, this test will display the available options to call SignatureTest and fail. Similar failure will be seen in CTS run, if the signature map points to JTA 1.3 signature file and the property jtaJarClasspath is removed from ts.jte of CTS bundle.
      Throws:
      SigTestEE.Fault - When an error occurs executing the signature tests.
      Exception
    • cleanup

      public void cleanup() throws SigTestEE.Fault
      Called by the test framework to cleanup any outstanding state. This method simply passes the message through to the utility class so the implementation can be used by both framework base classes.
      Throws:
      SigTestEE.Fault - When an error occurs cleaning up the state of this test.