Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jakartaee-tck-dev] Usage of security.jar from Glassfish to build platform TCK

Hi Alwin,

CC: GlassFish dev ml

On 2/3/21 9:55 AM, Alwin Joseph wrote:

Hi all,

 

This is to bring attention to [1] where we have tried to remove the dependency on Glassfish CI to compile the jakartaee-tck source code for building the platform TCK.

Previously we were downloading the entire glassfish bundle and referred the jars in the glassfish/modules/ to build the TCK. We have made changes now to only download the required api jars from maven instead of using glassfish CI for this purpose in [2] & [3]. But in this process we realised that the usage of security.jar from glassfish is still a requirement for compiling the tck source as mentioned in [4].
As it seems the methods LoginContextDriver.doClientLogin() & LoginContextDriver.logout()  from com.sun.enterprise.security.auth.login package (available in security.jar) is used in SunRILoginContext.java which is used for ejb, ejb30/sec tests.

If any of you have ideas to replace these methods please feel free to comment in the [1] or provide your suggestions here.

In the Platform TCK source for ts.jte, I see SunRILoginContext referenced for:

"
@porting.ts.login.class.1  VI of com.sun.ts.lib.porting.TSLoginContextInterface

@porting.ts.login.class.2  RI of com.sun.ts.lib.porting.TSLoginContextInterface
"

When non-GlassFish implementations deploy tests to their EE implementation, I think that any of the reverse/forward tests that also run a second EE server will need porting.ts.login.class.2 to be set to their second implementation that they are testing against.  If they use GlassFish as the second server, that would indeed use the "porting.ts.login.class.2=com.sun.ts.lib.implementation.sun.javaee.SunRILoginContext" setting.  However, if the SunRILoginContext class is only actually used for the ejb, ejb30/sec tests, I think that means the "porting.ts.login.class.2" is no longer needed since we removed the interop tests which were probably the only use (EJB) case of "porting.ts.login.class.2".  If removing "porting.ts.login.class.2" works (e.g. GlassFish 6 still passes Java SE 8 TCK), then I think only the GlassFish EE 9.1 implementation needs the com.sun.ts.lib.implementation.sun.javaee.SunRILoginContext class.

Some possible options for eliminating the Platform TCK on the GlassFish security.jar:

1.  Compile com.sun.ts.lib.implementation.sun.javaee.SunRILoginContext and create a jar that contains the class, check that jar into the Platform TCK as a convenience for GlassFish testing to then use that jar when testing against EE 9.1.  Also rename
SunRILoginContext.java to SunRILoginContext.java.src or something like that to stop compiling SunRILoginContext.java when building the TCK
2.  Move the
SunRILoginContext.java to a GlassFish TCK porting (git) repository.

Thoughts?

Scott


_______________________________________________
jakartaee-tck-dev mailing list
jakartaee-tck-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/jakartaee-tck-dev

Back to the top