MCPcopy
hub / github.com/usememos/memos / TestUserIdentityUniqueConflict

Function TestUserIdentityUniqueConflict

store/test/user_identity_test.go:83–108  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

81}
82
83func TestUserIdentityUniqueConflict(t *testing.T) {
84 t.Parallel()
85 ctx := context.Background()
86 ts := NewTestingStore(ctx, t)
87 defer ts.Close()
88
89 userA, err := createTestingHostUser(ctx, ts)
90 require.NoError(t, err)
91 userB, err := createTestingUserWithRole(ctx, ts, "conflict_user", store.RoleUser)
92 require.NoError(t, err)
93
94 _, err = ts.CreateUserIdentity(ctx, &store.UserIdentity{
95 UserID: userA.ID,
96 Provider: "idp-A",
97 ExternUID: "sub-1",
98 })
99 require.NoError(t, err)
100
101 // Second insert with the same (provider, extern_uid) must fail regardless of user_id.
102 _, err = ts.CreateUserIdentity(ctx, &store.UserIdentity{
103 UserID: userB.ID,
104 Provider: "idp-A",
105 ExternUID: "sub-1",
106 })
107 require.Error(t, err)
108}
109
110func TestUserIdentitySameExternUIDDifferentProviders(t *testing.T) {
111 t.Parallel()

Callers

nothing calls this directly

Calls 6

NewTestingStoreFunction · 0.85
createTestingHostUserFunction · 0.85
CloseMethod · 0.65
CreateUserIdentityMethod · 0.65
ErrorMethod · 0.65

Tested by

no test coverage detected