Adopt shared mapper test data from engine-test-data
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 38/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- python
- Domain
- backend, testing-qa
Research direction
Start with flagsmith/mappers.py around line 182 and inspect the existing mapper tests. Review engine-test-data pull request #46 and the mapper_test_cases, then compare the linked PHP and .NET implementations. Done means the shared cases pass and identity override virtual segment keys follow the JSON plus SHA256 portable standard.
Written by the indexing model from the issue text.
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-python-client/blob/c0d57ec4cd208b79908298e6cf9a3504e5d42fda/flagsmith/mappers.py#L182
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-ruby-client#93
- Flagsmith/flagsmith-java-client#197
- Flagsmith/flagsmith-nodejs-client#228
- Flagsmith/flagsmith-go-client#196
- Flagsmith/flagsmith-rust-flag-engine#26
- Flagsmith/flagsmith-dotnet-client#180
- Dominant language
- Python
- Stars
- 24
- Forks
- 12
- Avg merge
- 15h 43m
- Merged PRs (30d)
- 4
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from Flagsmith/flagsmith-python-client
-
Difficulty 3/5 1-2 days Newbie friendliness 68/100
-
Difficulty 3/5 1-2 days Newbie friendliness 65/100
-
Dependency Dashboard Open
Difficulty 4/5 3-5 days Newbie friendliness 35/100
-
Difficulty 3/5 1-2 days Newbie friendliness 68/100
-
Flagsmith/flagsmith-python-client#198 · 1 comment · 2 assignees ·
All issues in Flagsmith/flagsmith-python-client
Similar issues
-
bug ci good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
documentation
Difficulty 2/5 Half a day Newbie friendliness 62/100
inmanta/inmanta-core#10835 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 92/100
-
sponsored
Difficulty 2/5 1-3 hours Newbie friendliness 65/100