Skip to content

Remove obsolete openam-test integration test suite#1055

Open
vharseko wants to merge 1 commit into
OpenIdentityPlatform:masterfrom
vharseko:issues/openam-test
Open

Remove obsolete openam-test integration test suite#1055
vharseko wants to merge 1 commit into
OpenIdentityPlatform:masterfrom
vharseko:issues/openam-test

Conversation

@vharseko

Copy link
Copy Markdown
Member

Delete the openam-test module entirely. It was an in-process TestNG
suite whose TestBase static initializer bootstrapped a full OpenAM
instance (Bootstrap.load) and called System.exit(1) when no configured
instance with a reachable configuration store was available, so the
tests could never run as part of a normal build.

The module was never registered in the Maven reactor and had been
unmaintained since the 10.2.0 era. Several tests referenced APIs that
no longer exist: the removed ssoadm policy/realm commands
(ListPolicyNames, RealmGetPolicy, RealmDeletePolicy) and the static
ApplicationManager, replaced by the Guice-based ApplicationServiceFactory.

@vharseko vharseko requested a review from maximthomas June 19, 2026 18:28
@vharseko vharseko force-pushed the issues/openam-test branch from 4b869d5 to 922e3cd Compare June 20, 2026 11:04
@maximthomas

Copy link
Copy Markdown
Contributor

There are some test cases which could be useful in e2e tests. I think before removing the module, we could port tests to the e2e suite

@vharseko vharseko added the build label Jun 24, 2026
@vharseko

Copy link
Copy Markdown
Member Author

Agree on the intent — we shouldn't lose the behaviour these tests document. A few points on the practical side, though:

  • The e2e/ suite is Playwright/JS (*.spec.mjs), black-box over browser/HTTP (oauth2, saml, xui). The openam-test cases are in-process Java — almost all of them exercise the ssoadm CLI (com.sun.identity.cli.*: schema, realm, datastore, idrepo, entitlement, authentication) plus API-level checks (idm.AMIdentity, log.AMLog, policy.client, sm.Realm, setup). So this isn't a mechanical port — it's effectively writing new e2e tests in a different stack/layer.
  • Several of these tests already reference APIs that were removed (ListPolicyNames, RealmGetPolicy, RealmDeletePolicy, the static ApplicationManager), so they no longer compile and can't be ported as-is.
  • The module was never registered in the Maven reactor and its TestBase static initializer calls System.exit(1) when there's no live configured instance, so it never runs in a normal build — removing it doesn't reduce current coverage.

Proposal: let's decouple the two. Merge the removal of this dead/uncompilable code now (git history keeps the originals at any time), and track the porting work in a dedicated follow-up issue with a candidate list:

Area Source (pre-removal) Target in e2e/
Federation / SAML2 federation/cli/SAML2Test, workflow/SAML2Test extend existing e2e/saml/saml-test.spec.mjs
Policy / entitlement regressions policy/client/{Issue619Test,Issue736Test,PolicyEvaluatorTest,AMIdentityMembershipConditionTest} new e2e/policy/ block
ssoadm CLI cli/{schema,realm,datastore,idrepo,entitlement,authentication}/* new "ssoadm against a running container" block

I'm happy to drive the SAML2 ones first since we already have e2e/saml/saml-test.spec.mjs. WDYT?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants