MCPcopy Index your code
hub / github.com/coder/coder / TestHashOAuth2State

Function TestHashOAuth2State

coderd/oauth2provider/authorize_internal_test.go:12–52  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

10)
11
12func TestHashOAuth2State(t *testing.T) {
13 t.Parallel()
14
15 t.Run("EmptyState", func(t *testing.T) {
16 t.Parallel()
17 result := hashOAuth2State("")
18 assert.False(t, result.Valid, "empty state should return invalid NullString")
19 assert.Empty(t, result.String, "empty state should return empty string")
20 })
21
22 t.Run("NonEmptyState", func(t *testing.T) {
23 t.Parallel()
24 state := "test-state-value"
25 result := hashOAuth2State(state)
26 require.True(t, result.Valid, "non-empty state should return valid NullString")
27
28 // Verify it's a proper SHA-256 hash.
29 expected := sha256.Sum256([]byte(state))
30 assert.Equal(t, hex.EncodeToString(expected[:]), result.String,
31 "state hash should be SHA-256 hex digest")
32 })
33
34 t.Run("DifferentStatesProduceDifferentHashes", func(t *testing.T) {
35 t.Parallel()
36 hash1 := hashOAuth2State("state-a")
37 hash2 := hashOAuth2State("state-b")
38 require.True(t, hash1.Valid)
39 require.True(t, hash2.Valid)
40 assert.NotEqual(t, hash1.String, hash2.String,
41 "different states should produce different hashes")
42 })
43
44 t.Run("SameStateProducesSameHash", func(t *testing.T) {
45 t.Parallel()
46 hash1 := hashOAuth2State("deterministic")
47 hash2 := hashOAuth2State("deterministic")
48 require.True(t, hash1.Valid)
49 assert.Equal(t, hash1.String, hash2.String,
50 "same state should produce identical hash")
51 })
52}

Callers

nothing calls this directly

Calls 4

hashOAuth2StateFunction · 0.85
RunMethod · 0.65
EmptyMethod · 0.45
EqualMethod · 0.45

Tested by

no test coverage detected