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

Function TestExternalAuthLinks

enterprise/dbcrypt/dbcrypt_internal_test.go:279–404  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

277}
278
279func TestExternalAuthLinks(t *testing.T) {
280 t.Parallel()
281 ctx := context.Background()
282
283 t.Run("InsertExternalAuthLink", func(t *testing.T) {
284 t.Parallel()
285 db, crypt, ciphers := setup(t)
286 link := dbgen.ExternalAuthLink(t, crypt, database.ExternalAuthLink{
287 OAuthAccessToken: "access",
288 OAuthRefreshToken: "refresh",
289 })
290 require.Equal(t, "access", link.OAuthAccessToken)
291 require.Equal(t, "refresh", link.OAuthRefreshToken)
292
293 link, err := db.GetExternalAuthLink(ctx, database.GetExternalAuthLinkParams{
294 ProviderID: link.ProviderID,
295 UserID: link.UserID,
296 })
297 require.NoError(t, err)
298 requireEncryptedEquals(t, ciphers[0], link.OAuthAccessToken, "access")
299 requireEncryptedEquals(t, ciphers[0], link.OAuthRefreshToken, "refresh")
300 })
301
302 t.Run("UpdateExternalAuthLink", func(t *testing.T) {
303 t.Parallel()
304 db, crypt, ciphers := setup(t)
305 link := dbgen.ExternalAuthLink(t, crypt, database.ExternalAuthLink{})
306 updated, err := crypt.UpdateExternalAuthLink(ctx, database.UpdateExternalAuthLinkParams{
307 ProviderID: link.ProviderID,
308 UserID: link.UserID,
309 OAuthAccessToken: "access",
310 OAuthRefreshToken: "refresh",
311 })
312 require.NoError(t, err)
313 require.Equal(t, "access", updated.OAuthAccessToken)
314 require.Equal(t, "refresh", updated.OAuthRefreshToken)
315
316 link, err = db.GetExternalAuthLink(ctx, database.GetExternalAuthLinkParams{
317 ProviderID: link.ProviderID,
318 UserID: link.UserID,
319 })
320 require.NoError(t, err)
321 requireEncryptedEquals(t, ciphers[0], link.OAuthAccessToken, "access")
322 requireEncryptedEquals(t, ciphers[0], link.OAuthRefreshToken, "refresh")
323 })
324
325 t.Run("GetExternalAuthLink", func(t *testing.T) {
326 t.Run("OK", func(t *testing.T) {
327 t.Parallel()
328 db, crypt, ciphers := setup(t)
329 link := dbgen.ExternalAuthLink(t, crypt, database.ExternalAuthLink{
330 OAuthAccessToken: "access",
331 OAuthRefreshToken: "refresh",
332 })
333 link, err := db.GetExternalAuthLink(ctx, database.GetExternalAuthLinkParams{
334 UserID: link.UserID,
335 ProviderID: link.ProviderID,
336 })

Callers

nothing calls this directly

Calls 13

ExternalAuthLinkFunction · 0.92
UserFunction · 0.92
fakeBase64RandomDataFunction · 0.85
setupFunction · 0.70
requireEncryptedEqualsFunction · 0.70
RunMethod · 0.65
GetExternalAuthLinkMethod · 0.65
HexDigestMethod · 0.65
EqualMethod · 0.45
ErrorMethod · 0.45

Tested by

no test coverage detected