Skip to content

Revive the quicksetup test suite#694

Merged
vharseko merged 2 commits into
OpenIdentityPlatform:masterfrom
vharseko:features/quicksetup-tests
Jul 8, 2026
Merged

Revive the quicksetup test suite#694
vharseko merged 2 commits into
OpenIdentityPlatform:masterfrom
vharseko:features/quicksetup-tests

Conversation

@vharseko

@vharseko vharseko commented Jul 4, 2026

Copy link
Copy Markdown
Member

Context

The org.opends.quicksetup tests were dead three times over: every test method was annotated enabled = false, the classes were in the slow group (excluded from CI), and the whole package was excluded from the failsafe configuration. The suite is valuable: its @BeforeSuite extracts the packaged server zip, runs a real setup --cli and the tests exercise the resulting installation (Installation/Configuration/ServerController/FileManager).

Once enabled, 64 of 68 tests passed immediately. The four failures and their fixes:

  • ConfigurationTest.testGetContents, ServerControllerTest.testStartServer — failed only on the test-listener rule that the class-level @Test annotation must include sequential=true. Added.
  • ConfigurationTest.testGetDatabasePathsConfiguration.getDatabasePaths() was empty because TestUtilities ran setup without creating any backend. Pass -b dc=example,dc=com.
  • InstallationTest.testGetBaseConfigurationFileInstallation.getBaseConfigurationFile() points at config/upgrade/config.ldif.<revision>, a snapshot which modern packages no longer ship (config/upgrade only contains schema.ldif.*). Product fix: return the pristine configuration from template/config/config.ldif instead — this also repairs Installer.revertToBaseConfiguration(), which copies the base configuration and was equally broken.

Also TestUtilities.getInstallPackageFile() now skips the -slim archive instead of picking whichever zip the filesystem lists first.

Enablement

All quicksetup test methods are enabled (except one Windows-only case), the classes are moved out of the slow group, and the org/opends/quicksetup/** exclusion (listed twice) is dropped from the failsafe configuration. The packaged zip is available at integration-test time since failsafe runs after the package phase.

Verification

Under the default CI group filter: ConfigurationTest 9/9, InstallationTest 37/37, FileManagerTest 20/20, ServerControllerTest 2/2 — 68/68 green, ~1.5 minutes plus one server install per suite.

The org.opends.quicksetup tests were dead three times over: every test
method was annotated enabled=false, the classes were in the "slow"
group excluded from CI, and the whole package was excluded from the
failsafe run. Once enabled, the suite turned out to be almost entirely
functional - it extracts the packaged server, runs a real setup and
exercises the installation. Four failures remained:

- ConfigurationTest and ServerControllerTest lacked the
  sequential=true annotation required by the test listener;
- Configuration.getDatabasePaths() was empty because TestUtilities ran
  setup without creating any backend; pass -b dc=example,dc=com;
- Installation.getBaseConfigurationFile() pointed at
  config/upgrade/config.ldif.<revision>, a snapshot which modern
  packages no longer ship: return the pristine configuration from
  template/config/config.ldif instead, which also repairs
  Installer.revertToBaseConfiguration().

Also make TestUtilities.getInstallPackageFile() skip the -slim archive
instead of picking whichever zip the filesystem lists first.

Enable all quicksetup test methods (except one Windows-only case),
move the classes out of the "slow" group and drop the quicksetup
exclusion from the failsafe configuration so that the suite (68 tests,
~1.5 minutes plus one server install per suite) runs in the default
build.
@vharseko vharseko requested a review from maximthomas July 4, 2026 15:22
@vharseko vharseko added the CI label Jul 4, 2026
InstallationTest.testGetOpenDSJarFile, revived by this branch, fails on
Linux CI while passing on Windows: the assembly packages the server jar
as lib/opendj.jar, but Installation.getOpenDSJarFile() looked up the
ForgeRock-era mixed-case OpenDJ.jar, which only matched on
case-insensitive file systems. The stale path also leaked into
production code through Uninstaller.
@vharseko vharseko added tests Test suites: fixing, enabling, un-disabling build labels Jul 6, 2026
@vharseko vharseko merged commit 0ad01f7 into OpenIdentityPlatform:master Jul 8, 2026
31 of 34 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

build CI tests Test suites: fixing, enabling, un-disabling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants