Flagsmith / Flagsmith/flagsmith-java-client
Adopt shared mapper test data from engine-test-data
- Dominant language
- Java
- Stars
- 28
- Forks
- 22
- PR merge metrics
- No merged PRs in 30d
Description
Mapper tests use inline expected context data rather than shared test cases from engine-test-data repository.
## Acceptance criteria
- [ ] mapper_test_cases pass (see Flagsmith/engine-test-data#46)
- [ ] Identity override virtual segment key generation matches cross-SDK portable standard (JSON + SHA256)
## Technical context
Current implementation uses non-portable hash:
https://github.com/Flagsmith/flagsmith-java-client/blob/b9097558fa83824068382457d944b721c206d01e/src/main/java/com/flagsmith/mappers/EngineMappers.java#L444
Portable standard (JSON + SHA256):
- PHP: https://github.com/Flagsmith/flagsmith-php-client/pull/124/files#diff-5872f438d0e149e75ba3660c6b8e7ec8af446b87ea6a4e70f45f7e8e9e7b9c4dR208
- .NET: https://github.com/Flagsmith/flagsmith-dotnet-client/pull/177/files#diff-f851c822fa0e162b75312b6b9ab5dc31d3631179a33360ec77bbb83f4ae7c50eR249
Shared test data: https://github.com/Flagsmith/engine-test-data/pull/46
Related issues:
- Flagsmith/flagsmith-python-client#181
- Flagsmith/flagsmith-ruby-client#93
- Flagsmith/flagsmith-nodejs-client#228
- Flagsmith/flagsmith-go-client#196
- Flagsmith/flagsmith-rust-flag-engine#26
- Flagsmith/flagsmith-dotnet-client#180
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with EngineMappers.java around line 444 and compare its identity override virtual segment key generation with the PHP and .NET references. Review engine-test-data pull request 46 and run the mapper_test_cases. Done means the shared cases pass and key generation matches the JSON plus SHA256 portable standard.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- testing-qa
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100