refactor memeory_test.go

This commit is contained in:
Scott McKendry
2026-05-17 18:27:18 +12:00
parent ac1ff0a07f
commit 225041126e
+185 -134
View File
@@ -13,8 +13,16 @@ import (
var ctx = context.Background() var ctx = context.Background()
func TestCreateAndGetSession(t *testing.T) { func TestMemoryStore(t *testing.T) {
s := memory.New() type testCase struct {
description string
run func(t *testing.T, s repository.Store)
}
tests := []testCase{
{
description: "Create and get session",
run: func(t *testing.T, s repository.Store) {
sess, err := s.CreateSession(ctx, repository.CreateSessionParams{ sess, err := s.CreateSession(ctx, repository.CreateSessionParams{
UUID: "uuid-1", UUID: "uuid-1",
Username: "alice", Username: "alice",
@@ -27,16 +35,18 @@ func TestCreateAndGetSession(t *testing.T) {
got, err := s.GetSession(ctx, "uuid-1") got, err := s.GetSession(ctx, "uuid-1")
require.NoError(t, err) require.NoError(t, err)
assert.Equal(t, sess, got) assert.Equal(t, sess, got)
} },
},
func TestGetSession_NotFound(t *testing.T) { {
s := memory.New() description: "Get session not found",
run: func(t *testing.T, s repository.Store) {
_, err := s.GetSession(ctx, "missing") _, err := s.GetSession(ctx, "missing")
assert.ErrorIs(t, err, repository.ErrNotFound) assert.ErrorIs(t, err, repository.ErrNotFound)
} },
},
func TestUpdateSession(t *testing.T) { {
s := memory.New() description: "Update session",
run: func(t *testing.T, s repository.Store) {
_, err := s.CreateSession(ctx, repository.CreateSessionParams{UUID: "uuid-1", Username: "alice"}) _, err := s.CreateSession(ctx, repository.CreateSessionParams{UUID: "uuid-1", Username: "alice"})
require.NoError(t, err) require.NoError(t, err)
@@ -52,16 +62,18 @@ func TestUpdateSession(t *testing.T) {
got, err := s.GetSession(ctx, "uuid-1") got, err := s.GetSession(ctx, "uuid-1")
require.NoError(t, err) require.NoError(t, err)
assert.Equal(t, updated, got) assert.Equal(t, updated, got)
} },
},
func TestUpdateSession_NotFound(t *testing.T) { {
s := memory.New() description: "Update session not found",
run: func(t *testing.T, s repository.Store) {
_, err := s.UpdateSession(ctx, repository.UpdateSessionParams{UUID: "missing"}) _, err := s.UpdateSession(ctx, repository.UpdateSessionParams{UUID: "missing"})
assert.ErrorIs(t, err, repository.ErrNotFound) assert.ErrorIs(t, err, repository.ErrNotFound)
} },
},
func TestDeleteSession(t *testing.T) { {
s := memory.New() description: "Delete session",
run: func(t *testing.T, s repository.Store) {
_, err := s.CreateSession(ctx, repository.CreateSessionParams{UUID: "uuid-1"}) _, err := s.CreateSession(ctx, repository.CreateSessionParams{UUID: "uuid-1"})
require.NoError(t, err) require.NoError(t, err)
@@ -69,10 +81,11 @@ func TestDeleteSession(t *testing.T) {
_, err = s.GetSession(ctx, "uuid-1") _, err = s.GetSession(ctx, "uuid-1")
assert.ErrorIs(t, err, repository.ErrNotFound) assert.ErrorIs(t, err, repository.ErrNotFound)
} },
},
func TestDeleteExpiredSessions(t *testing.T) { {
s := memory.New() description: "Delete expired sessions",
run: func(t *testing.T, s repository.Store) {
_, err := s.CreateSession(ctx, repository.CreateSessionParams{UUID: "expired", Expiry: 10}) _, err := s.CreateSession(ctx, repository.CreateSessionParams{UUID: "expired", Expiry: 10})
require.NoError(t, err) require.NoError(t, err)
_, err = s.CreateSession(ctx, repository.CreateSessionParams{UUID: "valid", Expiry: 100}) _, err = s.CreateSession(ctx, repository.CreateSessionParams{UUID: "valid", Expiry: 100})
@@ -85,10 +98,11 @@ func TestDeleteExpiredSessions(t *testing.T) {
_, err = s.GetSession(ctx, "valid") _, err = s.GetSession(ctx, "valid")
assert.NoError(t, err) assert.NoError(t, err)
} },
},
func TestCreateAndGetOidcCode(t *testing.T) { {
s := memory.New() description: "Create and get OIDC code",
run: func(t *testing.T, s repository.Store) {
code, err := s.CreateOidcCode(ctx, repository.CreateOidcCodeParams{ code, err := s.CreateOidcCode(ctx, repository.CreateOidcCodeParams{
Sub: "sub-1", Sub: "sub-1",
CodeHash: "hash-1", CodeHash: "hash-1",
@@ -104,16 +118,18 @@ func TestCreateAndGetOidcCode(t *testing.T) {
_, err = s.GetOidcCode(ctx, "hash-1") _, err = s.GetOidcCode(ctx, "hash-1")
assert.ErrorIs(t, err, repository.ErrNotFound) assert.ErrorIs(t, err, repository.ErrNotFound)
} },
},
func TestGetOidcCode_NotFound(t *testing.T) { {
s := memory.New() description: "Get OIDC code not found",
run: func(t *testing.T, s repository.Store) {
_, err := s.GetOidcCode(ctx, "missing") _, err := s.GetOidcCode(ctx, "missing")
assert.ErrorIs(t, err, repository.ErrNotFound) assert.ErrorIs(t, err, repository.ErrNotFound)
} },
},
func TestGetOidcCodeBySub(t *testing.T) { {
s := memory.New() description: "Get OIDC code by sub",
run: func(t *testing.T, s repository.Store) {
_, err := s.CreateOidcCode(ctx, repository.CreateOidcCodeParams{Sub: "sub-1", CodeHash: "hash-1"}) _, err := s.CreateOidcCode(ctx, repository.CreateOidcCodeParams{Sub: "sub-1", CodeHash: "hash-1"})
require.NoError(t, err) require.NoError(t, err)
@@ -124,16 +140,18 @@ func TestGetOidcCodeBySub(t *testing.T) {
// destructive — gone after read // destructive — gone after read
_, err = s.GetOidcCodeBySub(ctx, "sub-1") _, err = s.GetOidcCodeBySub(ctx, "sub-1")
assert.ErrorIs(t, err, repository.ErrNotFound) assert.ErrorIs(t, err, repository.ErrNotFound)
} },
},
func TestGetOidcCodeBySub_NotFound(t *testing.T) { {
s := memory.New() description: "Get OIDC code by sub not found",
run: func(t *testing.T, s repository.Store) {
_, err := s.GetOidcCodeBySub(ctx, "missing") _, err := s.GetOidcCodeBySub(ctx, "missing")
assert.ErrorIs(t, err, repository.ErrNotFound) assert.ErrorIs(t, err, repository.ErrNotFound)
} },
},
func TestGetOidcCodeUnsafe(t *testing.T) { {
s := memory.New() description: "Get OIDC code unsafe",
run: func(t *testing.T, s repository.Store) {
_, err := s.CreateOidcCode(ctx, repository.CreateOidcCodeParams{Sub: "sub-1", CodeHash: "hash-1"}) _, err := s.CreateOidcCode(ctx, repository.CreateOidcCodeParams{Sub: "sub-1", CodeHash: "hash-1"})
require.NoError(t, err) require.NoError(t, err)
@@ -144,16 +162,18 @@ func TestGetOidcCodeUnsafe(t *testing.T) {
// non-destructive — still present // non-destructive — still present
_, err = s.GetOidcCodeUnsafe(ctx, "hash-1") _, err = s.GetOidcCodeUnsafe(ctx, "hash-1")
assert.NoError(t, err) assert.NoError(t, err)
} },
},
func TestGetOidcCodeUnsafe_NotFound(t *testing.T) { {
s := memory.New() description: "Get OIDC code unsafe not found",
run: func(t *testing.T, s repository.Store) {
_, err := s.GetOidcCodeUnsafe(ctx, "missing") _, err := s.GetOidcCodeUnsafe(ctx, "missing")
assert.ErrorIs(t, err, repository.ErrNotFound) assert.ErrorIs(t, err, repository.ErrNotFound)
} },
},
func TestGetOidcCodeBySubUnsafe(t *testing.T) { {
s := memory.New() description: "Get OIDC code by sub unsafe",
run: func(t *testing.T, s repository.Store) {
_, err := s.CreateOidcCode(ctx, repository.CreateOidcCodeParams{Sub: "sub-1", CodeHash: "hash-1"}) _, err := s.CreateOidcCode(ctx, repository.CreateOidcCodeParams{Sub: "sub-1", CodeHash: "hash-1"})
require.NoError(t, err) require.NoError(t, err)
@@ -164,25 +184,28 @@ func TestGetOidcCodeBySubUnsafe(t *testing.T) {
// non-destructive — still present // non-destructive — still present
_, err = s.GetOidcCodeBySubUnsafe(ctx, "sub-1") _, err = s.GetOidcCodeBySubUnsafe(ctx, "sub-1")
assert.NoError(t, err) assert.NoError(t, err)
} },
},
func TestGetOidcCodeBySubUnsafe_NotFound(t *testing.T) { {
s := memory.New() description: "Get OIDC code by sub unsafe not found",
run: func(t *testing.T, s repository.Store) {
_, err := s.GetOidcCodeBySubUnsafe(ctx, "missing") _, err := s.GetOidcCodeBySubUnsafe(ctx, "missing")
assert.ErrorIs(t, err, repository.ErrNotFound) assert.ErrorIs(t, err, repository.ErrNotFound)
} },
},
func TestCreateOidcCode_UniqueSubConstraint(t *testing.T) { {
s := memory.New() description: "Create OIDC code unique sub constraint",
run: func(t *testing.T, s repository.Store) {
_, err := s.CreateOidcCode(ctx, repository.CreateOidcCodeParams{Sub: "sub-1", CodeHash: "hash-1"}) _, err := s.CreateOidcCode(ctx, repository.CreateOidcCodeParams{Sub: "sub-1", CodeHash: "hash-1"})
require.NoError(t, err) require.NoError(t, err)
_, err = s.CreateOidcCode(ctx, repository.CreateOidcCodeParams{Sub: "sub-1", CodeHash: "hash-2"}) _, err = s.CreateOidcCode(ctx, repository.CreateOidcCodeParams{Sub: "sub-1", CodeHash: "hash-2"})
assert.ErrorContains(t, err, "UNIQUE constraint failed: oidc_codes.sub") assert.ErrorContains(t, err, "UNIQUE constraint failed: oidc_codes.sub")
} },
},
func TestDeleteOidcCode(t *testing.T) { {
s := memory.New() description: "Delete OIDC code",
run: func(t *testing.T, s repository.Store) {
_, err := s.CreateOidcCode(ctx, repository.CreateOidcCodeParams{Sub: "sub-1", CodeHash: "hash-1"}) _, err := s.CreateOidcCode(ctx, repository.CreateOidcCodeParams{Sub: "sub-1", CodeHash: "hash-1"})
require.NoError(t, err) require.NoError(t, err)
@@ -190,10 +213,11 @@ func TestDeleteOidcCode(t *testing.T) {
_, err = s.GetOidcCodeUnsafe(ctx, "hash-1") _, err = s.GetOidcCodeUnsafe(ctx, "hash-1")
assert.ErrorIs(t, err, repository.ErrNotFound) assert.ErrorIs(t, err, repository.ErrNotFound)
} },
},
func TestDeleteOidcCodeBySub(t *testing.T) { {
s := memory.New() description: "Delete OIDC code by sub",
run: func(t *testing.T, s repository.Store) {
_, err := s.CreateOidcCode(ctx, repository.CreateOidcCodeParams{Sub: "sub-1", CodeHash: "hash-1"}) _, err := s.CreateOidcCode(ctx, repository.CreateOidcCodeParams{Sub: "sub-1", CodeHash: "hash-1"})
require.NoError(t, err) require.NoError(t, err)
@@ -201,10 +225,11 @@ func TestDeleteOidcCodeBySub(t *testing.T) {
_, err = s.GetOidcCodeUnsafe(ctx, "hash-1") _, err = s.GetOidcCodeUnsafe(ctx, "hash-1")
assert.ErrorIs(t, err, repository.ErrNotFound) assert.ErrorIs(t, err, repository.ErrNotFound)
} },
},
func TestDeleteExpiredOidcCodes(t *testing.T) { {
s := memory.New() description: "Delete expired OIDC codes",
run: func(t *testing.T, s repository.Store) {
_, err := s.CreateOidcCode(ctx, repository.CreateOidcCodeParams{Sub: "sub-1", CodeHash: "hash-1", ExpiresAt: 10}) _, err := s.CreateOidcCode(ctx, repository.CreateOidcCodeParams{Sub: "sub-1", CodeHash: "hash-1", ExpiresAt: 10})
require.NoError(t, err) require.NoError(t, err)
_, err = s.CreateOidcCode(ctx, repository.CreateOidcCodeParams{Sub: "sub-2", CodeHash: "hash-2", ExpiresAt: 100}) _, err = s.CreateOidcCode(ctx, repository.CreateOidcCodeParams{Sub: "sub-2", CodeHash: "hash-2", ExpiresAt: 100})
@@ -217,10 +242,11 @@ func TestDeleteExpiredOidcCodes(t *testing.T) {
_, err = s.GetOidcCodeUnsafe(ctx, "hash-2") _, err = s.GetOidcCodeUnsafe(ctx, "hash-2")
assert.NoError(t, err) assert.NoError(t, err)
} },
},
func TestCreateAndGetOidcToken(t *testing.T) { {
s := memory.New() description: "Create and get OIDC token",
run: func(t *testing.T, s repository.Store) {
tok, err := s.CreateOidcToken(ctx, repository.CreateOidcTokenParams{ tok, err := s.CreateOidcToken(ctx, repository.CreateOidcTokenParams{
Sub: "sub-1", Sub: "sub-1",
AccessTokenHash: "at-hash-1", AccessTokenHash: "at-hash-1",
@@ -232,25 +258,28 @@ func TestCreateAndGetOidcToken(t *testing.T) {
got, err := s.GetOidcToken(ctx, "at-hash-1") got, err := s.GetOidcToken(ctx, "at-hash-1")
require.NoError(t, err) require.NoError(t, err)
assert.Equal(t, tok, got) assert.Equal(t, tok, got)
} },
},
func TestGetOidcToken_NotFound(t *testing.T) { {
s := memory.New() description: "Get OIDC token not found",
run: func(t *testing.T, s repository.Store) {
_, err := s.GetOidcToken(ctx, "missing") _, err := s.GetOidcToken(ctx, "missing")
assert.ErrorIs(t, err, repository.ErrNotFound) assert.ErrorIs(t, err, repository.ErrNotFound)
} },
},
func TestCreateOidcToken_UniqueSubConstraint(t *testing.T) { {
s := memory.New() description: "Create OIDC token unique sub constraint",
run: func(t *testing.T, s repository.Store) {
_, err := s.CreateOidcToken(ctx, repository.CreateOidcTokenParams{Sub: "sub-1", AccessTokenHash: "at-1"}) _, err := s.CreateOidcToken(ctx, repository.CreateOidcTokenParams{Sub: "sub-1", AccessTokenHash: "at-1"})
require.NoError(t, err) require.NoError(t, err)
_, err = s.CreateOidcToken(ctx, repository.CreateOidcTokenParams{Sub: "sub-1", AccessTokenHash: "at-2"}) _, err = s.CreateOidcToken(ctx, repository.CreateOidcTokenParams{Sub: "sub-1", AccessTokenHash: "at-2"})
assert.ErrorContains(t, err, "UNIQUE constraint failed: oidc_tokens.sub") assert.ErrorContains(t, err, "UNIQUE constraint failed: oidc_tokens.sub")
} },
},
func TestGetOidcTokenByRefreshToken(t *testing.T) { {
s := memory.New() description: "Get OIDC token by refresh token",
run: func(t *testing.T, s repository.Store) {
_, err := s.CreateOidcToken(ctx, repository.CreateOidcTokenParams{ _, err := s.CreateOidcToken(ctx, repository.CreateOidcTokenParams{
Sub: "sub-1", Sub: "sub-1",
AccessTokenHash: "at-1", AccessTokenHash: "at-1",
@@ -261,16 +290,18 @@ func TestGetOidcTokenByRefreshToken(t *testing.T) {
got, err := s.GetOidcTokenByRefreshToken(ctx, "rt-1") got, err := s.GetOidcTokenByRefreshToken(ctx, "rt-1")
require.NoError(t, err) require.NoError(t, err)
assert.Equal(t, "sub-1", got.Sub) assert.Equal(t, "sub-1", got.Sub)
} },
},
func TestGetOidcTokenByRefreshToken_NotFound(t *testing.T) { {
s := memory.New() description: "Get OIDC token by refresh token not found",
run: func(t *testing.T, s repository.Store) {
_, err := s.GetOidcTokenByRefreshToken(ctx, "missing") _, err := s.GetOidcTokenByRefreshToken(ctx, "missing")
assert.ErrorIs(t, err, repository.ErrNotFound) assert.ErrorIs(t, err, repository.ErrNotFound)
} },
},
func TestGetOidcTokenBySub(t *testing.T) { {
s := memory.New() description: "Get OIDC token by sub",
run: func(t *testing.T, s repository.Store) {
_, err := s.CreateOidcToken(ctx, repository.CreateOidcTokenParams{ _, err := s.CreateOidcToken(ctx, repository.CreateOidcTokenParams{
Sub: "sub-1", Sub: "sub-1",
AccessTokenHash: "at-1", AccessTokenHash: "at-1",
@@ -280,16 +311,18 @@ func TestGetOidcTokenBySub(t *testing.T) {
got, err := s.GetOidcTokenBySub(ctx, "sub-1") got, err := s.GetOidcTokenBySub(ctx, "sub-1")
require.NoError(t, err) require.NoError(t, err)
assert.Equal(t, "at-1", got.AccessTokenHash) assert.Equal(t, "at-1", got.AccessTokenHash)
} },
},
func TestGetOidcTokenBySub_NotFound(t *testing.T) { {
s := memory.New() description: "Get OIDC token by sub not found",
run: func(t *testing.T, s repository.Store) {
_, err := s.GetOidcTokenBySub(ctx, "missing") _, err := s.GetOidcTokenBySub(ctx, "missing")
assert.ErrorIs(t, err, repository.ErrNotFound) assert.ErrorIs(t, err, repository.ErrNotFound)
} },
},
func TestUpdateOidcTokenByRefreshToken(t *testing.T) { {
s := memory.New() description: "Update OIDC token by refresh token",
run: func(t *testing.T, s repository.Store) {
_, err := s.CreateOidcToken(ctx, repository.CreateOidcTokenParams{ _, err := s.CreateOidcToken(ctx, repository.CreateOidcTokenParams{
Sub: "sub-1", Sub: "sub-1",
AccessTokenHash: "at-1", AccessTokenHash: "at-1",
@@ -315,18 +348,20 @@ func TestUpdateOidcTokenByRefreshToken(t *testing.T) {
got, err := s.GetOidcToken(ctx, "at-2") got, err := s.GetOidcToken(ctx, "at-2")
require.NoError(t, err) require.NoError(t, err)
assert.Equal(t, "sub-1", got.Sub) assert.Equal(t, "sub-1", got.Sub)
} },
},
func TestUpdateOidcTokenByRefreshToken_NotFound(t *testing.T) { {
s := memory.New() description: "Update OIDC token by refresh token not found",
run: func(t *testing.T, s repository.Store) {
_, err := s.UpdateOidcTokenByRefreshToken(ctx, repository.UpdateOidcTokenByRefreshTokenParams{ _, err := s.UpdateOidcTokenByRefreshToken(ctx, repository.UpdateOidcTokenByRefreshTokenParams{
RefreshTokenHash_2: "missing", RefreshTokenHash_2: "missing",
}) })
assert.ErrorIs(t, err, repository.ErrNotFound) assert.ErrorIs(t, err, repository.ErrNotFound)
} },
},
func TestDeleteOidcToken(t *testing.T) { {
s := memory.New() description: "Delete OIDC token",
run: func(t *testing.T, s repository.Store) {
_, err := s.CreateOidcToken(ctx, repository.CreateOidcTokenParams{Sub: "sub-1", AccessTokenHash: "at-1"}) _, err := s.CreateOidcToken(ctx, repository.CreateOidcTokenParams{Sub: "sub-1", AccessTokenHash: "at-1"})
require.NoError(t, err) require.NoError(t, err)
@@ -334,10 +369,11 @@ func TestDeleteOidcToken(t *testing.T) {
_, err = s.GetOidcToken(ctx, "at-1") _, err = s.GetOidcToken(ctx, "at-1")
assert.ErrorIs(t, err, repository.ErrNotFound) assert.ErrorIs(t, err, repository.ErrNotFound)
} },
},
func TestDeleteOidcTokenBySub(t *testing.T) { {
s := memory.New() description: "Delete OIDC token by sub",
run: func(t *testing.T, s repository.Store) {
_, err := s.CreateOidcToken(ctx, repository.CreateOidcTokenParams{Sub: "sub-1", AccessTokenHash: "at-1"}) _, err := s.CreateOidcToken(ctx, repository.CreateOidcTokenParams{Sub: "sub-1", AccessTokenHash: "at-1"})
require.NoError(t, err) require.NoError(t, err)
@@ -345,10 +381,11 @@ func TestDeleteOidcTokenBySub(t *testing.T) {
_, err = s.GetOidcToken(ctx, "at-1") _, err = s.GetOidcToken(ctx, "at-1")
assert.ErrorIs(t, err, repository.ErrNotFound) assert.ErrorIs(t, err, repository.ErrNotFound)
} },
},
func TestDeleteOidcTokenByCodeHash(t *testing.T) { {
s := memory.New() description: "Delete OIDC token by code hash",
run: func(t *testing.T, s repository.Store) {
_, err := s.CreateOidcToken(ctx, repository.CreateOidcTokenParams{ _, err := s.CreateOidcToken(ctx, repository.CreateOidcTokenParams{
Sub: "sub-1", Sub: "sub-1",
AccessTokenHash: "at-1", AccessTokenHash: "at-1",
@@ -360,10 +397,11 @@ func TestDeleteOidcTokenByCodeHash(t *testing.T) {
_, err = s.GetOidcToken(ctx, "at-1") _, err = s.GetOidcToken(ctx, "at-1")
assert.ErrorIs(t, err, repository.ErrNotFound) assert.ErrorIs(t, err, repository.ErrNotFound)
} },
},
func TestDeleteExpiredOidcTokens(t *testing.T) { {
s := memory.New() description: "Delete expired OIDC tokens",
run: func(t *testing.T, s repository.Store) {
// expired by TokenExpiresAt // expired by TokenExpiresAt
_, err := s.CreateOidcToken(ctx, repository.CreateOidcTokenParams{ _, err := s.CreateOidcToken(ctx, repository.CreateOidcTokenParams{
Sub: "sub-1", AccessTokenHash: "at-1", Sub: "sub-1", AccessTokenHash: "at-1",
@@ -392,10 +430,11 @@ func TestDeleteExpiredOidcTokens(t *testing.T) {
_, err = s.GetOidcToken(ctx, "at-3") _, err = s.GetOidcToken(ctx, "at-3")
assert.NoError(t, err) assert.NoError(t, err)
} },
},
func TestCreateAndGetOidcUserInfo(t *testing.T) { {
s := memory.New() description: "Create and get OIDC user info",
run: func(t *testing.T, s repository.Store) {
u, err := s.CreateOidcUserInfo(ctx, repository.CreateOidcUserInfoParams{ u, err := s.CreateOidcUserInfo(ctx, repository.CreateOidcUserInfoParams{
Sub: "sub-1", Sub: "sub-1",
Name: "Alice", Name: "Alice",
@@ -407,16 +446,18 @@ func TestCreateAndGetOidcUserInfo(t *testing.T) {
got, err := s.GetOidcUserInfo(ctx, "sub-1") got, err := s.GetOidcUserInfo(ctx, "sub-1")
require.NoError(t, err) require.NoError(t, err)
assert.Equal(t, u, got) assert.Equal(t, u, got)
} },
},
func TestGetOidcUserInfo_NotFound(t *testing.T) { {
s := memory.New() description: "Get OIDC user info not found",
run: func(t *testing.T, s repository.Store) {
_, err := s.GetOidcUserInfo(ctx, "missing") _, err := s.GetOidcUserInfo(ctx, "missing")
assert.ErrorIs(t, err, repository.ErrNotFound) assert.ErrorIs(t, err, repository.ErrNotFound)
} },
},
func TestDeleteOidcUserInfo(t *testing.T) { {
s := memory.New() description: "Delete OIDC user info",
run: func(t *testing.T, s repository.Store) {
_, err := s.CreateOidcUserInfo(ctx, repository.CreateOidcUserInfoParams{Sub: "sub-1"}) _, err := s.CreateOidcUserInfo(ctx, repository.CreateOidcUserInfoParams{Sub: "sub-1"})
require.NoError(t, err) require.NoError(t, err)
@@ -424,4 +465,14 @@ func TestDeleteOidcUserInfo(t *testing.T) {
_, err = s.GetOidcUserInfo(ctx, "sub-1") _, err = s.GetOidcUserInfo(ctx, "sub-1")
assert.ErrorIs(t, err, repository.ErrNotFound) assert.ErrorIs(t, err, repository.ErrNotFound)
},
},
}
for _, test := range tests {
t.Run(test.description, func(t *testing.T) {
s := memory.New()
test.run(t, s)
})
}
} }