Flagsmith / Flagsmith/flagsmith-java-client

Adopt shared mapper test data from engine-test-data

Open
#197 0 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.