[PM-22263] [PM-29849] Initial PoC of seeder API#6424
Merged
Conversation
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #6424 +/- ##
==========================================
+ Coverage 55.06% 59.02% +3.95%
==========================================
Files 1934 1949 +15
Lines 85777 86025 +248
Branches 7675 7687 +12
==========================================
+ Hits 47235 50776 +3541
+ Misses 36751 33373 -3378
- Partials 1791 1876 +85 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Contributor
|
New Issues (2)Checkmarx found the following issues in this Pull Request
Fixed Issues (4)Great job! The following issues were fixed in this Pull Request
|
theMickster
requested changes
Oct 9, 2025
Contributor
theMickster
left a comment
There was a problem hiding this comment.
Small things that I recommend we change.
I think we also need a README.md & a simple CLAUDE.md
abd2d4b to
2bbf7d1
Compare
2bbf7d1 to
d93cd50
Compare
Fixup single user recipe to inform of seeded entities
…ch/seeder-api # Conflicts: # util/Seeder/Factories/UserSeeder.cs
This is still a join table, but the Data suffix was colliding with the concept of a JSON transfer model. The PlayItem name is designed to indicate that these records are not Play entities, but indications that a given Item (user or organization for now) is associated with a given Play
7d79cee to
6b38f61
Compare
withinfocus
approved these changes
Jan 8, 2026
theMickster
approved these changes
Jan 9, 2026
r-tome
approved these changes
Jan 9, 2026
prograhamming
approved these changes
Jan 9, 2026
enmande
approved these changes
Jan 9, 2026
dani-garcia
approved these changes
Jan 13, 2026
amorask-bitwarden
approved these changes
Jan 13, 2026
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.


🎟️ Tracking
https://bitwarden.atlassian.net/browse/PM-22263
https://bitwarden.atlassian.net/browse/PM-29849
📔 Objective
We want to reduce the amount of business critical test data in the company. One way of doing that is to generate test data on demand prior to client side testing.
Clients will request a scene to be set up with a JSON body set of options, specific to a given scene. Successful seed requests will be responded to with a mangleMap which maps magic strings present in the request to the mangled, non-colliding versions inserted into the database. This way, the server is solely responsible for understanding uniqueness requirements in the database. scenes also are able to return custom data, depending on the scene. For example, user creation would benefit from a return value of the userId for further test setup on the client side.
Clients will indicate they are running tests by including a unique header, x-play-id which specifies a unique testing context. The server uses this PlayId as the seed for any mangling that occurs. This allows the client to decide it will reuse a given PlayId if the test context builds on top of previously executed tests. When a given context is no longer needed, the API user will delete all test data associated with the PlayId by calling a delete endpoint.
📸 Screenshots
⏰ Reminders before review
🦮 Reviewer guidelines
:+1:) or similar for great changes:memo:) or ℹ️ (:information_source:) for notes or general info:question:) for questions:thinking:) or 💭 (:thought_balloon:) for more open inquiry that's not quite a confirmed issue and could potentially benefit from discussion:art:) for suggestions / improvements:x:) or:warning:) for more significant problems or concerns needing attention:seedling:) or ♻️ (:recycle:) for future improvements or indications of technical debt:pick:) for minor or nitpick changes