Repository navigation
Conversation
079be85 to
2a3b93d
Compare
There was a problem hiding this comment.
Pull request overview
This PR enforces a maximum serialized length (100 chars) for EntityInstanceId values in the Abstractions layer, aligning SDK behavior with the backend’s entity instance ID constraints and preventing backend-side truncation/invalid IDs.
Changes:
- Added a length check in
EntityInstanceIdconstruction to reject instance IDs whose string form exceeds 100 characters. - Added new unit tests covering basic
EntityInstanceIdbehaviors and invalid inputs.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
src/Abstractions/Entities/EntityInstanceId.cs |
Enforces a 100-character maximum entity instance ID length during construction (also impacts FromString/JSON conversion). |
test/Abstractions.Tests/Entities/EntityInstanceIdTests.cs |
Adds unit tests for constructor behavior, normalization, parsing, and invalid formats/lengths. |
Signed-off-by: Hal Spang <halspang@microsoft.com>
72a2a06 to
4571f91
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 3 out of 3 changed files in this pull request and generated no new comments.
Comments suppressed due to low confidence (3)
test/Abstractions.Tests/Entities/EntityInstanceIdTests.cs:11
- Test method names in this project typically follow the "MemberOrScenario_Condition_Expectation" style (e.g., Ctor_NullName_Default, FromString_Invalid_Throws...). Using the generic "Test..." prefix here is inconsistent and makes failures harder to scan in test output.
public void TestValidEntityInstanceId()
src/Abstractions/Entities/EntityInstanceId.cs:37
- The length validation uses MaxInstanceIdLength but the exception message hard-codes "100". This can drift if the limit is changed later and makes the constant less useful; interpolate the constant into the message.
throw new ArgumentException($"entity instance ids may not exceed 100 characters in length, actual length {length}.");
test/Abstractions.Tests/Entities/EntityInstanceIdTests.cs:6
- Namespace is inconsistent with the other entity tests in this project (e.g., other files under test/Abstractions.Tests/Entities use Microsoft.DurableTask.Entities.Tests). Aligning the namespace improves discoverability and keeps related tests grouped consistently.
This issue also appears on line 11 of the same file.
namespace Microsoft.DurableTask.Abstractions.Tests.Entities;
|
The same problem happens on instanceid of the orchestrations |
Summary
What changed?
Why is this change needed?
Issues / work items
Project checklist
release_notes.mdentityInstanceId.ToString().Take(100)AI-assisted code disclosure (required)
Was an AI tool used? (select one)
If AI was used:
AI verification (required if AI was used):
Testing
Automated tests
Notes for reviewers