Open
Conversation
- Added JUnit 5 annotations to BitrepositoryTestSuite - Added GlobalSuiteExtension to implement JUnit 5 extension points for suite-level setup and teardown. - Ensured consistency and correctness of test suite configuration and setup methods. This commit updates the test suite configuration to use JUnit 5 annotations, allowing for more flexible and powerful test suite management.
…-testng-with-junit
…junit' into BITMAG-1244-junit-bitrepository-core # Conflicts: # bitrepository-core/src/test/java/org/bitrepository/protocol/IntegrationTest.java # bitrepository-core/src/test/java/org/bitrepository/protocol/bus/ActiveMQMessageBusTest.java # bitrepository-core/src/test/java/org/bitrepository/protocol/performancetest/MessageBusNumberOfListenersStressTest.java
…n choose to include the test or not
…n install can't run because it gives errors in the module bitrepository-client, which hasn't been converted to junit 5 yet.
ole-v-v
reviewed
Feb 12, 2026
...ervice/src/test/java/org/bitrepository/audittrails/preserver/LocalAuditPreservationTest.java
Outdated
Show resolved
Hide resolved
ole-v-v
reviewed
Feb 12, 2026
...audit-trail-service/src/test/java/org/bitrepository/audittrails/store/AuditDatabaseTest.java
Outdated
Show resolved
Hide resolved
ole-v-v
reviewed
Feb 12, 2026
...audit-trail-service/src/test/java/org/bitrepository/audittrails/store/AuditDatabaseTest.java
Outdated
Show resolved
Hide resolved
ole-v-v
reviewed
Feb 12, 2026
...audit-trail-service/src/test/java/org/bitrepository/audittrails/store/AuditDatabaseTest.java
Show resolved
Hide resolved
ole-v-v
reviewed
Feb 12, 2026
...rm-service/src/test/java/org/bitrepository/alarm/store/AlarmDatabaseExtractionModelTest.java
Show resolved
Hide resolved
ole-v-v
reviewed
Feb 12, 2026
...ent/src/test/java/org/bitrepository/access/getchecksums/GetChecksumsClientComponentTest.java
Outdated
Show resolved
Hide resolved
ole-v-v
reviewed
Feb 12, 2026
bitrepository-core/src/test/java/org/bitrepository/common/utils/FileUtilsTest.java
Outdated
Show resolved
Hide resolved
ole-v-v
reviewed
Feb 12, 2026
bitrepository-core/src/test/java/org/bitrepository/common/utils/FileUtilsTest.java
Outdated
Show resolved
Hide resolved
ole-v-v
reviewed
Feb 12, 2026
bitrepository-core/src/test/java/org/bitrepository/common/utils/TimeUtilsTest.java
Outdated
Show resolved
Hide resolved
ole-v-v
reviewed
Feb 12, 2026
bitrepository-core/src/test/java/org/bitrepository/common/utils/Base16UtilsTest.java
Outdated
Show resolved
Hide resolved
ole-v-v
reviewed
Feb 12, 2026
bitrepository-core/src/test/java/org/bitrepository/common/utils/ChecksumUtilsTest.java
Outdated
Show resolved
Hide resolved
ole-v-v
reviewed
Feb 12, 2026
bitrepository-core/src/test/java/org/bitrepository/common/utils/ChecksumUtilsTest.java
Show resolved
Hide resolved
ole-v-v
reviewed
Feb 12, 2026
bitrepository-core/src/test/java/org/bitrepository/common/settings/SettingsTest.java
Outdated
Show resolved
Hide resolved
ole-v-v
reviewed
Feb 12, 2026
bitrepository-core/src/test/java/org/bitrepository/protocol/security/CertificateIDTest.java
Outdated
Show resolved
Hide resolved
ole-v-v
reviewed
Feb 12, 2026
bitrepository-core/src/test/java/org/bitrepository/protocol/security/SecurityManagerTest.java
Outdated
Show resolved
Hide resolved
ole-v-v
reviewed
Feb 12, 2026
...e/src/test/java/org/bitrepository/integrityservice/integrationtest/MissingChecksumTests.java
Show resolved
Hide resolved
ole-v-v
reviewed
Feb 12, 2026
.../java/org/bitrepository/integrityservice/workflow/step/HandleChecksumValidationStepTest.java
Show resolved
Hide resolved
ole-v-v
reviewed
Feb 12, 2026
| beforeWorkflowDate.getTime() + " == "+ afterWorkflowDate.getTime()); | ||
| Date afterWorkflowDate = csCache.getCalculationDate(defaultFileId, collectionID); | ||
|
|
||
| Assertions.assertEquals(afterWorkflowDate.getTime(), beforeWorkflowDate.getTime(), beforeWorkflowDate.getTime() + " == " + afterWorkflowDate.getTime()); |
Contributor
There was a problem hiding this comment.
Swap back and also break line. The afterWorkflowDate is being validated.
ole-v-v
reviewed
Feb 12, 2026
...eference-pillar/src/test/java/org/bitrepository/pillar/store/PillarSettingsProviderTest.java
Outdated
Show resolved
Hide resolved
ole-v-v
reviewed
Feb 12, 2026
...pillar/src/test/java/org/bitrepository/pillar/integration/func/getfile/GetFileRequestIT.java
Outdated
Show resolved
Hide resolved
ole-v-v
reviewed
Feb 12, 2026
...pillar/src/test/java/org/bitrepository/pillar/integration/func/getfile/GetFileRequestIT.java
Outdated
Show resolved
Hide resolved
ole-v-v
reviewed
Feb 12, 2026
...pillar/src/test/java/org/bitrepository/pillar/integration/func/putfile/PutFileRequestIT.java
Outdated
Show resolved
Hide resolved
ole-v-v
reviewed
Feb 12, 2026
...test/java/org/bitrepository/pillar/integration/func/putfile/IdentifyPillarsForPutFileIT.java
Outdated
Show resolved
Hide resolved
ole-v-v
reviewed
Feb 12, 2026
...test/java/org/bitrepository/pillar/integration/func/putfile/IdentifyPillarsForPutFileIT.java
Outdated
Show resolved
Hide resolved
ole-v-v
reviewed
Feb 12, 2026
...ar/src/test/java/org/bitrepository/pillar/integration/func/getstatus/GetStatusRequestIT.java
Outdated
Show resolved
Hide resolved
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This Pull Request migrates the existing TestNG-based test architecture to JUnit 5. The primary focus has been on establishing a correct suite lifecycle, ensuring test independence, and implementing explicit resource handling for Pillars and the Message Bus.
Additionally, this PR includes significant stability improvements to ensure all tests pass reliably, specifically addressing networking conflicts in the Message Bus stress tests.
Key Changes
JUnit 5 Migration
• Framework Replacement: Replaced TestNG dependencies and annotations with JUnit 5 (Jupiter).
• Annotation Updates: Converted @test, @BeforeClass, @afterclass, etc., to their JUnit 5 equivalents (@test, @BeforeAll, @afterall, @beforeeach).
Architecture & Lifecycle (JIRA Scope)
• Suite Lifecycle: Moved away from TestNG's implicit suite lifecycle via inheritance. Implemented JUnit 5 Extensions (@ExtendWith, @RegisterExtension) to handle heavy shared resources like Pillars and the Message Bus.
Ensured Pillars and Message Bus are initialized deterministically.
◦ Fixed issues where the Message Bus was initialized multiple times or destroyed too early.
◦ Decoupled infrastructure setup from test logic to support independent test execution.
Test Stability & Fixes
• Robust Teardown: Enhanced try-finally blocks in stress tests to ensure broker.stop() and listener.stop() are called even if assertions fail, preventing zombie processes and resource leaks.
• Concurrency Handling: Updated synchronization logic in stress tests to wait for message processing without relying on deprecated threading models.
• Addressed the fundamental difference between TestNG's stateful/ordered testing and JUnit 5's stateless/independent testing. Tests are now designed to run in isolation without assuming execution order.
• Extensions vs. Inheritance: Migrated suite hooks from base classes to JUnit 5 Extensions to separate global lifecycle concerns from individual test case logic.
• All unit and integration tests now pass.