Skip to content

Commit f07d6fb

Browse files
committed
test: add GenerateDeterministicID UUID v4 compliance test
1 parent 741e689 commit f07d6fb

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

mdl/types/id_test.go

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,23 @@ func TestGenerateID_V4Bits(t *testing.T) {
3939
}
4040
}
4141

42+
func TestGenerateDeterministicID_V4Bits(t *testing.T) {
43+
seeds := []string{"test", "hello", "System.User", "System.Session", ""}
44+
for _, seed := range seeds {
45+
id := GenerateDeterministicID(seed)
46+
clean := strings.ReplaceAll(id, "-", "")
47+
// Version nibble at hex position 12 should be '4'
48+
if clean[12] != '4' {
49+
t.Errorf("seed %q: expected version nibble '4', got %q in %q", seed, string(clean[12]), id)
50+
}
51+
// Variant nibble at hex position 16 should be 8, 9, a, or b
52+
v := clean[16]
53+
if v != '8' && v != '9' && v != 'a' && v != 'b' {
54+
t.Errorf("seed %q: expected variant nibble in [89ab], got %q in %q", seed, string(v), id)
55+
}
56+
}
57+
}
58+
4259
func TestGenerateDeterministicID_Stable(t *testing.T) {
4360
id1 := GenerateDeterministicID("test-seed")
4461
id2 := GenerateDeterministicID("test-seed")

0 commit comments

Comments
 (0)