(t *testing.T)
| 572 | } |
| 573 | |
| 574 | func 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 |
nothing calls this directly
no test coverage detected