mirror of
https://github.com/Frooodle/Stirling-PDF.git
synced 2025-11-16 01:21:16 +01:00
# Description of Changes - **What was changed** - **CI**: Enhanced `build.yml` to publish JaCoCo coverage and post a PR summary comment per matrix job (Spring Security/JDK). Also archives JaCoCo XML reports alongside existing test results. - **Tests (new & expanded)**: Added a broad set of unit tests across `app/common`, `app/core`, and `app/proprietary` modules, e.g.: - Common: `ShowAdminInterfaceTest`, `UnsupportedClaimExceptionTest`, `ExceptionUtilsTest`, `TempDirectoryTest`, etc. - Core: `ConnectedInputStreamTest`, `ReplaceAndInvertColorFactoryTest`, controller/model/service tests (e.g. `SettingsControllerTest`, `ApiEndpointTest`, `FlexibleCSVWriterTest`, `MetricsAggregatorServiceTest`, etc.). - Proprietary: security/database/model/web tests (e.g. `H2SQLConditionTest`, `JPATokenRepositoryImplTest`, `AuditWebFilterTest`, `CorrelationIdFilterTest`, etc.). - **JUnit 5 cleanup**: Consolidated assertion imports (`import static org.junit.jupiter.api.Assertions.*`), standardized on Jupiter APIs, and minor Mockito/Jupiter setup tweaks. - **Fix**: `ReplaceAndInvertColorFactory` now safely returns `null` when `replaceAndInvertOption` is `null` to avoid NPEs. - **Testability refactor**: Broadened visibility of `SPDFApplication#getActiveProfile(String[] args)` (from `private` to `protected`) to enable direct unit testing. - **Chore**: Removed obsolete `ValidationUtil` from `app/common`. - **Why the change was made** - Improve **signal in PRs** via automatic coverage summaries. - Increase **test coverage** and reduce regressions across core and proprietary modules. - Eliminate a potential **NullPointerException** in color strategy selection. - Enable targeted testing of application startup/profile resolution logic. --- ## Checklist ### General - [x] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [x] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md) (if applicable) - [x] I have performed a self-review of my own code - [x] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [ ] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing) for more details. |
||
|---|---|---|
| .. | ||
| src | ||
| .gitignore | ||
| build.gradle | ||