Repository navigation
Improve test coverage, fix bugs, and update JaCoCo/CI - #33
Merged
Merged
Conversation
Expand MapperServiceImplTest with new scenarios covering Double/Boolean type mapping, root-level fields without parents, non-200 status code preservation, multiple parent levels, null String omission with ignoreEmptyValues, and concatenated fields with empty values. Add supporting helpers to RegularHelper, ConcatenatedHelper, and HelperWithoutEmptyValues (ignoreEmptyValues param on getConcatenatedMappingRule, expectedMeasuredResponseWithEmptyValues, flat/deep-nested response factories). Fix MapperServiceImpl.transformValue: the String branch was calling .jsonPrimitive.content on JsonNull, producing the literal string "null" instead of JsonNull, bypassing the null-filter in mapOldResponse. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Fix ClientExtensions.getHttpMethod: Head was incorrectly mapped to Put. Fix auth header isolation: ServerServiceImpl now filters Authorization from captured request headers so the Middleware's own JWT/Basic auth is never forwarded to the external API. ClientExtensions skips Authorization when iterating headers so OriginalRoute.authHeader always takes priority over any Authorization value in preConfiguredHeaders. Expand ClientServiceImplTest with 8 new scenarios: Bearer/Basic/null auth header forwarding, Head HTTP method verification, empty preConfiguredHeaders/Queries/Body fallback to originalRoute values, and authHeader priority over conflicting headers. Expand ServerServiceImplTest with 6 new scenarios: unauthorized request returns 401, multiple custom headers forwarded, Authorization not forwarded to handler, MiddlewareException and IllegalArgumentException handling on mapping/routes routes. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Fixed three bugs in ProjectExtensions.kt: DirectoryProperty path resolution, wrong Android class paths used for JVM modules, and setFrom replacing instead of accumulating coverage across modules - Documented external API authHeader in MappingRequest.md, clarifying isolation from the Middleware's own Authorization header - Added CLAUDE.md to .gitignore Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- jacocoProjectMiddleWareCoverageVerification → jacocoProjectMiddlewareCoverageVerification (case fix) - Updated failure artifact path to match actual JaCoCo report output directory Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Moved HttpHeaders import into lexicographic position in ServerServiceImpl.kt - Removed unused assertNull import from ServerServiceImplTest.kt Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
setJacocoJvmDirectories was missing model, di, plugins, session, security, and internal exclusions that setJacocoDirectories already had, causing those packages to appear in the multi-module report after the path fix landed. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ation Replaces the hardcoded 0.80 default in setupCoverageVerification with a minimumCoverage property read from gradle.properties via rootProject. Set to 0.60 to match current multi-module instruction coverage. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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.
Summary
MapperServiceImplTest(Double/Boolean types, root-level fields, nested parents, concatenation with empty values, null String omission); fixed null String bug inMapperServiceImplwhereJsonNull.contentreturned"null"instead of being filteredHead → Putbug inClientExtensions; fixed Middleware's ownAuthorizationheader leaking into external API calls (filtered in bothServerServiceImplandClientExtensions)ProjectExtensions.kt—DirectoryPropertypath resolution, wrong Android class paths for JVM modules,setFromreplacing instead of accumulating across modules; coverage now runs across all modules (51% instructions overall)jacocoProjectMiddleWareCoverageVerificationtask name typo and wrong artifact path in coverage workflowauthHeaderinoriginalRoutefor external API authentication inMappingRequest.md; addedCLAUDE.mdto.gitignoreTest plan
./gradlew test— all tests should pass./gradlew jacocoProjectMiddlewareCoverageVerification— coverage thresholds should be met./gradlew detekt— no style violations🤖 Generated with Claude Code