Other: added user's primary email address to the vault.

This commit is contained in:
Xavier Michelon
2023-01-17 10:16:12 +01:00
parent 03c8c323bc
commit a377384553
8 changed files with 70 additions and 20 deletions

View File

@ -38,7 +38,7 @@ func TestUser_New(t *testing.T) {
require.Empty(t, s.GetUserIDs())
// Create a new user.
user, err := s.AddUser("userID", "username", "authUID", "authRef", []byte("keyPass"))
user, err := s.AddUser("userID", "username", "username@pm.me", "authUID", "authRef", []byte("keyPass"))
require.NoError(t, err)
// The user should be listed in the store.
@ -47,6 +47,7 @@ func TestUser_New(t *testing.T) {
// Check the user's default user information.
require.Equal(t, "userID", user.UserID())
require.Equal(t, "username", user.Username())
require.Equal(t, "username@pm.me", user.PrimaryEmail())
// Check the user's default auth information.
require.Equal(t, "authUID", user.AuthUID())
@ -67,7 +68,7 @@ func TestUser_Clear(t *testing.T) {
s := newVault(t)
// Create a new user.
user, err := s.AddUser("userID", "username", "authUID", "authRef", []byte("keyPass"))
user, err := s.AddUser("userID", "username", "username@pm.me", "authUID", "authRef", []byte("keyPass"))
require.NoError(t, err)
// Check the user's default auth information.
@ -92,7 +93,7 @@ func TestUser_Delete(t *testing.T) {
require.Empty(t, s.GetUserIDs())
// Create a new user.
user, err := s.AddUser("userID", "username", "authUID", "authRef", []byte("keyPass"))
user, err := s.AddUser("userID", "username", "username@pm.me", "authUID", "authRef", []byte("keyPass"))
require.NoError(t, err)
// The user should be listed in the store.
@ -117,7 +118,7 @@ func TestUser_SyncStatus(t *testing.T) {
s := newVault(t)
// Create a new user.
user, err := s.AddUser("userID", "username", "authUID", "authRef", []byte("keyPass"))
user, err := s.AddUser("userID", "username", "username@pm.me", "authUID", "authRef", []byte("keyPass"))
require.NoError(t, err)
// Check the user's initial sync status.
@ -144,14 +145,30 @@ func TestUser_SyncStatus(t *testing.T) {
require.Empty(t, user.SyncStatus().LastMessageID)
}
func TestUser_PrimaryEmail(t *testing.T) {
// Create a new test vault.
s := newVault(t)
// Create a user.
user, err := s.AddUser("userID", "username", "username@pm.me", "authUID", "authRef", []byte("keyPass"))
require.NoError(t, err)
// Check that we can successfully modify a primary email
require.Equal(t, user.PrimaryEmail(), "username@pm.me")
require.NoError(t, user.SetPrimaryEmail("newname@pm.me"))
require.Equal(t, user.PrimaryEmail(), "newname@pm.me")
require.NoError(t, user.SetPrimaryEmail(""))
require.Equal(t, user.PrimaryEmail(), "")
}
func TestUser_ForEach(t *testing.T) {
// Create a new test vault.
s := newVault(t)
// Create some new users.
user1, err := s.AddUser("userID1", "username1", "authUID1", "authRef1", []byte("keyPass1"))
user1, err := s.AddUser("userID1", "username1", "username1@pm.me", "authUID1", "authRef1", []byte("keyPass1"))
require.NoError(t, err)
user2, err := s.AddUser("userID2", "username2", "authUID2", "authRef2", []byte("keyPass2"))
user2, err := s.AddUser("userID2", "username2", "username2@pm.me", "authUID2", "authRef2", []byte("keyPass2"))
require.NoError(t, err)
// Iterate through the users.
@ -159,12 +176,14 @@ func TestUser_ForEach(t *testing.T) {
switch user.UserID() {
case "userID1":
require.Equal(t, "username1", user.Username())
require.Equal(t, "username1@pm.me", user.PrimaryEmail())
require.Equal(t, "authUID1", user.AuthUID())
require.Equal(t, "authRef1", user.AuthRef())
require.Equal(t, "keyPass1", string(user.KeyPass()))
case "userID2":
require.Equal(t, "username2", user.Username())
require.Equal(t, "username2@pm.me", user.PrimaryEmail())
require.Equal(t, "authUID2", user.AuthUID())
require.Equal(t, "authRef2", user.AuthRef())
require.Equal(t, "keyPass2", string(user.KeyPass()))