MCPcopy Create free account
hub / github.com/couchbase/sync_gateway / TestRegisterUser

Function TestRegisterUser

auth/auth_test.go:574–633  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

572}
573
574func TestRegisterUser(t *testing.T) {
575 ctx := base.TestCtx(t)
576 bucket := base.GetTestBucket(t)
577 defer bucket.Close(ctx)
578
579 dataStore := bucket.GetSingleDataStore()
580
581 // Register user based on name, email
582 auth := NewTestAuthenticator(t, dataStore, nil, DefaultAuthenticatorOptions(base.TestCtx(t)))
583 user, err := auth.RegisterNewUser("ValidName", "foo@example.com")
584 require.NoError(t, err)
585 assert.Equal(t, "ValidName", user.Name())
586 assert.Equal(t, "foo@example.com", user.Email())
587
588 // verify retrieval by username
589 user, err = auth.GetUser("ValidName")
590 require.NoError(t, err)
591 assert.Equal(t, "ValidName", user.Name())
592
593 // verify retrieval by email
594 user, err = auth.GetUserByEmail("foo@example.com")
595 require.NoError(t, err)
596 assert.Equal(t, "ValidName", user.Name())
597
598 // Register user based on email, retrieve based on username, email
599 user, err = auth.RegisterNewUser("bar@example.com", "bar@example.com")
600 require.NoError(t, err)
601 assert.Equal(t, "bar@example.com", user.Name())
602 assert.Equal(t, "bar@example.com", user.Email())
603
604 user, err = auth.GetUser("UnknownName")
605 require.NoError(t, err)
606 require.Nil(t, user)
607
608 user, err = auth.GetUserByEmail("bar@example.com")
609 require.NoError(t, err)
610 assert.Equal(t, "bar@example.com", user.Name())
611
612 // Register user without an email address
613 user, err = auth.RegisterNewUser("01234567890", "")
614 require.NoError(t, err)
615 assert.Equal(t, "01234567890", user.Name())
616 assert.Equal(t, "", user.Email())
617 // Get above user by username.
618 user, err = auth.GetUser("01234567890")
619 require.NoError(t, err)
620 assert.Equal(t, "01234567890", user.Name())
621 assert.Equal(t, "", user.Email())
622 // Make sure we can't retrieve 01234567890 by supplying empty email.
623 user, err = auth.GetUserByEmail("")
624 require.NoError(t, err)
625 require.Nil(t, user)
626
627 // Try to register a user based on invalid email
628 user, err = auth.RegisterNewUser("foo", "bar")
629 require.NoError(t, err)
630 assert.Equal(t, "foo", user.Name())
631 assert.Equal(t, "", user.Email()) // skipped due to invalid email

Callers

nothing calls this directly

Calls 12

TestCtxFunction · 0.92
GetTestBucketFunction · 0.92
NewTestAuthenticatorFunction · 0.85
RegisterNewUserMethod · 0.80
GetUserMethod · 0.80
GetUserByEmailMethod · 0.80
CloseMethod · 0.65
NameMethod · 0.65
EmailMethod · 0.65
GetSingleDataStoreMethod · 0.45
EqualMethod · 0.45

Tested by

no test coverage detected