Skip to content

Commit 712b3b0

Browse files
devondragonclaude
andcommitted
fix: Replace hashCode with sequential counters in test builders
Address Copilot PR feedback to fix potential ID collision issues: - UserTestDataBuilder: Use roleIdCounter instead of roleName.hashCode() - RoleTestDataBuilder: Use privilegeIdCounter instead of privilegeName.hashCode() - Added separate counters starting at different ranges to avoid conflicts - roleIdCounter starts at 1000L - privilegeIdCounter starts at 2000L This prevents potential test flakiness from hashCode collisions and provides more predictable test data generation. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent a6d6cc0 commit 712b3b0

2 files changed

Lines changed: 4 additions & 2 deletions

File tree

src/test/java/com/digitalsanctuary/spring/user/test/builders/RoleTestDataBuilder.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
public class RoleTestDataBuilder {
2525

2626
private static long idCounter = 1L;
27+
private static long privilegeIdCounter = 2000L;
2728

2829
private Long id;
2930
private String name;
@@ -116,7 +117,7 @@ public RoleTestDataBuilder withUsers(Set<User> users) {
116117

117118
public RoleTestDataBuilder withPrivilege(String privilegeName) {
118119
Privilege privilege = new Privilege();
119-
privilege.setId((long) privilegeName.hashCode());
120+
privilege.setId(privilegeIdCounter++);
120121
privilege.setName(privilegeName);
121122
this.privileges.add(privilege);
122123
return this;

src/test/java/com/digitalsanctuary/spring/user/test/builders/UserTestDataBuilder.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ public class UserTestDataBuilder {
2626

2727
private static final PasswordEncoder PASSWORD_ENCODER = new BCryptPasswordEncoder(4);
2828
private static long idCounter = 1L;
29+
private static long roleIdCounter = 1000L;
2930

3031
private Long id;
3132
private String firstName = "Test";
@@ -204,7 +205,7 @@ public UserTestDataBuilder withLockedDate(Date lockedDate) {
204205

205206
public UserTestDataBuilder withRole(String roleName) {
206207
Role role = new Role();
207-
role.setId((long) roleName.hashCode());
208+
role.setId(roleIdCounter++);
208209
role.setName(roleName);
209210
this.roles.add(role);
210211
return this;

0 commit comments

Comments
 (0)