Skip to content

Commit 9109285

Browse files
test: update ContextUtilsTest for millisecond ETag precision
Update the expected hash in testGetEtag to match the millisecond-precision input, and add testGetEtagDistinguishesSubSecondChanges to lock in that two timestamps one millisecond apart now produce different ETags. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent d9f291f commit 9109285

1 file changed

Lines changed: 15 additions & 1 deletion

File tree

dhis-2/dhis-web-api/src/test/java/org/hisp/dhis/webapi/utils/ContextUtilsTest.java

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131

3232
import static org.hisp.dhis.test.TestBase.getDate;
3333
import static org.junit.jupiter.api.Assertions.assertEquals;
34+
import static org.junit.jupiter.api.Assertions.assertNotEquals;
3435

3536
import java.util.Date;
3637
import org.hisp.dhis.user.User;
@@ -45,7 +46,20 @@ void testGetEtag() {
4546
user.setUid("kYt56BgfED2");
4647

4748
assertEquals(
48-
"7c9d6fd16b668638ca0e722aa2451054", ContextUtils.getEtag(date, UserDetails.fromUser(user)));
49+
"ebcaa46bf9de4d04ea69cafcb3bd5caf", ContextUtils.getEtag(date, UserDetails.fromUser(user)));
50+
}
51+
52+
@Test
53+
void testGetEtagDistinguishesSubSecondChanges() {
54+
User user = new User();
55+
user.setUid("kYt56BgfED2");
56+
UserDetails userDetails = UserDetails.fromUser(user);
57+
58+
Date date = getDate(2022, 03, 10);
59+
Date oneMilliLater = new Date(date.getTime() + 1);
60+
61+
assertNotEquals(
62+
ContextUtils.getEtag(date, userDetails), ContextUtils.getEtag(oneMilliLater, userDetails));
4963
}
5064

5165
@Test

0 commit comments

Comments
 (0)