Enable the errorAssertions govet check for mattermost-server code (#17346)

* Enable the errorAssertions govet check for mattermost-server code

* Removing unnecesary change

* Fixing some tests

* Fixing tests

* Fixing more after merge

* Fixing new offending entries

* Fixing small vet checks

* Fixing new cases detected by govet

* Fixing remote_cluster_test errors

* Fixing assertion

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Этот коммит содержится в:
Jesús Espino
2021-04-12 12:51:31 +02:00
коммит произвёл GitHub
родитель e37e902ddf
Коммит 35d00b4644
22 изменённых файлов: 202 добавлений и 199 удалений

Просмотреть файл

@@ -603,7 +603,7 @@ vet: ## Run mattermost go vet specific checks
echo "mattermost-govet is not installed. Please install it executing \"GO111MODULE=off GOBIN=$(PWD)/bin go get -u github.com/mattermost/mattermost-govet\""; \ echo "mattermost-govet is not installed. Please install it executing \"GO111MODULE=off GOBIN=$(PWD)/bin go get -u github.com/mattermost/mattermost-govet\""; \
exit 1; \ exit 1; \
fi; fi;
@VET_CMD="-license -structuredLogging -inconsistentReceiverName -inconsistentReceiverName.ignore=session_serial_gen.go,team_member_serial_gen.go,user_serial_gen.go -emptyStrCmp -tFatal -configtelemetry"; \ @VET_CMD="-license -structuredLogging -inconsistentReceiverName -inconsistentReceiverName.ignore=session_serial_gen.go,team_member_serial_gen.go,user_serial_gen.go -emptyStrCmp -tFatal -configtelemetry -errorAssertions"; \
if ! [ -z "${MM_VET_OPENSPEC_PATH}" ] && [ -f "${MM_VET_OPENSPEC_PATH}" ]; then \ if ! [ -z "${MM_VET_OPENSPEC_PATH}" ] && [ -f "${MM_VET_OPENSPEC_PATH}" ]; then \
VET_CMD="$$VET_CMD -openApiSync -openApiSync.spec=$$MM_VET_OPENSPEC_PATH"; \ VET_CMD="$$VET_CMD -openApiSync -openApiSync.spec=$$MM_VET_OPENSPEC_PATH"; \
else \ else \

Просмотреть файл

@@ -1085,37 +1085,37 @@ func TestSearchFiles(t *testing.T) {
Client := th.Client Client := th.Client
filename := "search for fileInfo1" filename := "search for fileInfo1"
fileInfo1, err := th.App.UploadFile(data, th.BasicChannel.Id, filename) fileInfo1, appErr := th.App.UploadFile(data, th.BasicChannel.Id, filename)
require.Nil(t, err) require.Nil(t, appErr)
err = th.App.Srv().Store.FileInfo().AttachToPost(fileInfo1.Id, th.BasicPost.Id, th.BasicUser.Id) err = th.App.Srv().Store.FileInfo().AttachToPost(fileInfo1.Id, th.BasicPost.Id, th.BasicUser.Id)
require.Nil(t, err) require.NoError(t, err)
filename = "search for fileInfo2" filename = "search for fileInfo2"
fileInfo2, err := th.App.UploadFile(data, th.BasicChannel.Id, filename) fileInfo2, appErr := th.App.UploadFile(data, th.BasicChannel.Id, filename)
require.Nil(t, err) require.Nil(t, appErr)
err = th.App.Srv().Store.FileInfo().AttachToPost(fileInfo2.Id, th.BasicPost.Id, th.BasicUser.Id) err = th.App.Srv().Store.FileInfo().AttachToPost(fileInfo2.Id, th.BasicPost.Id, th.BasicUser.Id)
require.Nil(t, err) require.NoError(t, err)
filename = "tagged search for fileInfo3" filename = "tagged search for fileInfo3"
fileInfo3, err := th.App.UploadFile(data, th.BasicChannel.Id, filename) fileInfo3, appErr := th.App.UploadFile(data, th.BasicChannel.Id, filename)
require.Nil(t, err) require.Nil(t, appErr)
err = th.App.Srv().Store.FileInfo().AttachToPost(fileInfo3.Id, th.BasicPost.Id, th.BasicUser.Id) err = th.App.Srv().Store.FileInfo().AttachToPost(fileInfo3.Id, th.BasicPost.Id, th.BasicUser.Id)
require.Nil(t, err) require.NoError(t, err)
filename = "tagged for fileInfo4" filename = "tagged for fileInfo4"
fileInfo4, err := th.App.UploadFile(data, th.BasicChannel.Id, filename) fileInfo4, appErr := th.App.UploadFile(data, th.BasicChannel.Id, filename)
require.Nil(t, err) require.Nil(t, appErr)
err = th.App.Srv().Store.FileInfo().AttachToPost(fileInfo4.Id, th.BasicPost.Id, th.BasicUser.Id) err = th.App.Srv().Store.FileInfo().AttachToPost(fileInfo4.Id, th.BasicPost.Id, th.BasicUser.Id)
require.Nil(t, err) require.NoError(t, err)
archivedChannel := th.CreatePublicChannel() archivedChannel := th.CreatePublicChannel()
fileInfo5, err := th.App.UploadFile(data, archivedChannel.Id, "tagged for fileInfo3") fileInfo5, appErr := th.App.UploadFile(data, archivedChannel.Id, "tagged for fileInfo3")
require.Nil(t, err) require.Nil(t, appErr)
post := &model.Post{ChannelId: archivedChannel.Id, Message: model.NewId() + "a"} post := &model.Post{ChannelId: archivedChannel.Id, Message: model.NewId() + "a"}
rpost, resp := Client.CreatePost(post) rpost, resp := Client.CreatePost(post)
CheckNoError(t, resp) CheckNoError(t, resp)
err = th.App.Srv().Store.FileInfo().AttachToPost(fileInfo5.Id, rpost.Id, th.BasicUser.Id) err = th.App.Srv().Store.FileInfo().AttachToPost(fileInfo5.Id, rpost.Id, th.BasicUser.Id)
require.Nil(t, err) require.NoError(t, err)
th.Client.DeleteChannel(archivedChannel.Id) th.Client.DeleteChannel(archivedChannel.Id)
terms := "search" terms := "search"

Просмотреть файл

@@ -2926,7 +2926,7 @@ func TestInviteGuestsToTeam(t *testing.T) {
t.Run("invalid data in request body", func(t *testing.T) { t.Run("invalid data in request body", func(t *testing.T) {
res, err := th.SystemAdminClient.DoApiPost(th.SystemAdminClient.GetTeamRoute(th.BasicTeam.Id)+"/invite-guests/email", "bad data") res, err := th.SystemAdminClient.DoApiPost(th.SystemAdminClient.GetTeamRoute(th.BasicTeam.Id)+"/invite-guests/email", "bad data")
require.Error(t, err) require.NotNil(t, err)
require.Equal(t, "api.team.invite_guests_to_channels.invalid_body.app_error", err.Id) require.Equal(t, "api.team.invite_guests_to_channels.invalid_body.app_error", err.Id)
require.Equal(t, http.StatusBadRequest, res.StatusCode) require.Equal(t, http.StatusBadRequest, res.StatusCode)
}) })

Просмотреть файл

@@ -3384,7 +3384,7 @@ func TestLoginWithLag(t *testing.T) {
defer mainHelper.ToggleReplicasOff() defer mainHelper.ToggleReplicasOff()
cmdErr := mainHelper.SetReplicationLagForTesting(5) cmdErr := mainHelper.SetReplicationLagForTesting(5)
require.Nil(t, cmdErr) require.NoError(t, cmdErr)
defer mainHelper.SetReplicationLagForTesting(0) defer mainHelper.SetReplicationLagForTesting(0)
_, resp := th.Client.Login(th.BasicUser.Email, th.BasicUser.Password) _, resp := th.Client.Login(th.BasicUser.Email, th.BasicUser.Password)
@@ -6083,7 +6083,7 @@ func TestSetProfileImageWithProviderAttributes(t *testing.T) {
doCleanup := func(t *testing.T, th *TestHelper, user *model.User) { doCleanup := func(t *testing.T, th *TestHelper, user *model.User) {
info := &model.FileInfo{Path: "users/" + user.Id + "/profile.png"} info := &model.FileInfo{Path: "users/" + user.Id + "/profile.png"}
err = th.cleanupTestFile(info) err = th.cleanupTestFile(info)
require.Nil(t, err) require.NoError(t, err)
} }
t.Run("LDAP user", func(t *testing.T) { t.Run("LDAP user", func(t *testing.T) {

Просмотреть файл

@@ -1689,7 +1689,7 @@ func TestPatchChannelModerationsForChannel(t *testing.T) {
}, },
}, },
{ {
Name: "Removing manage members from guests role should error", Name: "Removing manage members from guests role should not error",
ChannelModerationsPatch: []*model.ChannelModerationPatch{ ChannelModerationsPatch: []*model.ChannelModerationPatch{
{ {
Name: &manageMembers, Name: &manageMembers,
@@ -1697,10 +1697,11 @@ func TestPatchChannelModerationsForChannel(t *testing.T) {
}, },
}, },
PermissionsModeratedByPatch: map[string]*model.ChannelModeratedRoles{}, PermissionsModeratedByPatch: map[string]*model.ChannelModeratedRoles{},
ShouldError: true, ShouldError: false,
ShouldHaveNoChannelScheme: true,
}, },
{ {
Name: "Removing a permission that is not channel moderated should error", Name: "Removing a permission that is not channel moderated should not error",
ChannelModerationsPatch: []*model.ChannelModerationPatch{ ChannelModerationsPatch: []*model.ChannelModerationPatch{
{ {
Name: &nonChannelModeratedPermission, Name: &nonChannelModeratedPermission,
@@ -1711,7 +1712,8 @@ func TestPatchChannelModerationsForChannel(t *testing.T) {
}, },
}, },
PermissionsModeratedByPatch: map[string]*model.ChannelModeratedRoles{}, PermissionsModeratedByPatch: map[string]*model.ChannelModeratedRoles{},
ShouldError: true, ShouldError: false,
ShouldHaveNoChannelScheme: true,
}, },
{ {
Name: "Error when adding a permission that is disabled in the parent member role", Name: "Error when adding a permission that is disabled in the parent member role",
@@ -1829,12 +1831,12 @@ func TestPatchChannelModerationsForChannel(t *testing.T) {
} }
} }
moderations, err := th.App.PatchChannelModerationsForChannel(channel, tc.ChannelModerationsPatch) moderations, appErr := th.App.PatchChannelModerationsForChannel(channel, tc.ChannelModerationsPatch)
if tc.ShouldError { if tc.ShouldError {
require.Error(t, err) require.NotNil(t, appErr)
return return
} }
require.Nil(t, err) require.Nil(t, appErr)
updatedChannel, _ := th.App.GetChannel(channel.Id) updatedChannel, _ := th.App.GetChannel(channel.Id)
if tc.ShouldHaveNoChannelScheme { if tc.ShouldHaveNoChannelScheme {

Просмотреть файл

@@ -283,7 +283,7 @@ func TestCreateZipFileAndAddFiles(t *testing.T) {
err := th.App.CreateZipFileAndAddFiles(&mockBackend, []model.FileData{}, "zip-file-name-to-heaven.zip", "directory-to-heaven") err := th.App.CreateZipFileAndAddFiles(&mockBackend, []model.FileData{}, "zip-file-name-to-heaven.zip", "directory-to-heaven")
require.NotNil(t, err) require.Error(t, err)
require.Equal(t, err.Error(), "only those who dare to fail greatly can ever achieve greatly") require.Equal(t, err.Error(), "only those who dare to fail greatly can ever achieve greatly")
mockBackend = filesStoreMocks.FileBackend{} mockBackend = filesStoreMocks.FileBackend{}
@@ -371,7 +371,7 @@ func TestSearchFilesInTeamForUser(t *testing.T) {
}) })
time.Sleep(1 * time.Millisecond) time.Sleep(1 * time.Millisecond)
require.Nil(t, err) require.NoError(t, err)
fileInfos[i] = fileInfo fileInfos[i] = fileInfo
} }

Просмотреть файл

@@ -2030,26 +2030,26 @@ func TestReplyToPostWithLag(t *testing.T) {
t.Run("replication lag time great than reply time", func(t *testing.T) { t.Run("replication lag time great than reply time", func(t *testing.T) {
err := mainHelper.SetReplicationLagForTesting(5) err := mainHelper.SetReplicationLagForTesting(5)
require.Nil(t, err) require.NoError(t, err)
defer mainHelper.SetReplicationLagForTesting(0) defer mainHelper.SetReplicationLagForTesting(0)
mainHelper.ToggleReplicasOn() mainHelper.ToggleReplicasOn()
defer mainHelper.ToggleReplicasOff() defer mainHelper.ToggleReplicasOff()
root, err := th.App.CreatePost(&model.Post{ root, appErr := th.App.CreatePost(&model.Post{
UserId: th.BasicUser.Id, UserId: th.BasicUser.Id,
ChannelId: th.BasicChannel.Id, ChannelId: th.BasicChannel.Id,
Message: "root post", Message: "root post",
}, th.BasicChannel, false, true) }, th.BasicChannel, false, true)
require.Nil(t, err) require.Nil(t, appErr)
reply, err := th.App.CreatePost(&model.Post{ reply, appErr := th.App.CreatePost(&model.Post{
UserId: th.BasicUser2.Id, UserId: th.BasicUser2.Id,
ChannelId: th.BasicChannel.Id, ChannelId: th.BasicChannel.Id,
RootId: root.Id, RootId: root.Id,
ParentId: root.Id, ParentId: root.Id,
Message: fmt.Sprintf("@%s", th.BasicUser2.Username), Message: fmt.Sprintf("@%s", th.BasicUser2.Username),
}, th.BasicChannel, false, true) }, th.BasicChannel, false, true)
require.Nil(t, err) require.Nil(t, appErr)
require.NotNil(t, reply) require.NotNil(t, reply)
}) })
} }

Просмотреть файл

@@ -32,7 +32,7 @@ func TestAddRemoteCluster(t *testing.T) {
remoteCluster.RemoteId = model.NewId() remoteCluster.RemoteId = model.NewId()
_, err = th.App.AddRemoteCluster(remoteCluster) _, err = th.App.AddRemoteCluster(remoteCluster)
require.Error(t, err, "Adding a duplicate remote cluster should error") require.NotNil(t, err, "Adding a duplicate remote cluster should error")
assert.Contains(t, err.Error(), "Remote cluster has already been added.") assert.Contains(t, err.Error(), "Remote cluster has already been added.")
}) })
@@ -103,7 +103,7 @@ func TestUpdateRemoteCluster(t *testing.T) {
savedRemoteClustered.SiteURL = remoteCluster.SiteURL savedRemoteClustered.SiteURL = remoteCluster.SiteURL
savedRemoteClustered.RemoteTeamId = remoteCluster.RemoteTeamId savedRemoteClustered.RemoteTeamId = remoteCluster.RemoteTeamId
_, err = th.App.UpdateRemoteCluster(savedRemoteClustered) _, err = th.App.UpdateRemoteCluster(savedRemoteClustered)
require.Error(t, err, "Updating remote cluster with duplicate site url should error") require.NotNil(t, err, "Updating remote cluster with duplicate site url should error")
assert.Contains(t, err.Error(), "Remote cluster with the same url already exists.") assert.Contains(t, err.Error(), "Remote cluster with the same url already exists.")
}) })

Просмотреть файл

@@ -173,10 +173,10 @@ func TestStartServerNoS3Bucket(t *testing.T) {
require.NoError(t, err) require.NoError(t, err)
// ensure that a new bucket was created // ensure that a new bucket was created
backend, err := s.FileBackend() backend, appErr := s.FileBackend()
require.Nil(t, err) require.Nil(t, appErr)
err = backend.(*filestore.S3FileBackend).TestConnection() err = backend.(*filestore.S3FileBackend).TestConnection()
require.Nil(t, err) require.NoError(t, err)
} }
func TestStartServerTLSSuccess(t *testing.T) { func TestStartServerTLSSuccess(t *testing.T) {

Просмотреть файл

@@ -465,13 +465,13 @@ func TestGetRemoteClusterSession(t *testing.T) {
t.Run("Invalid remote token should return error", func(t *testing.T) { t.Run("Invalid remote token should return error", func(t *testing.T) {
session, err := th.App.GetRemoteClusterSession(model.NewId(), remoteId) session, err := th.App.GetRemoteClusterSession(model.NewId(), remoteId)
require.Error(t, err) require.NotNil(t, err)
require.Nil(t, session) require.Nil(t, session)
}) })
t.Run("Invalid remote id should return error", func(t *testing.T) { t.Run("Invalid remote id should return error", func(t *testing.T) {
session, err := th.App.GetRemoteClusterSession(token, model.NewId()) session, err := th.App.GetRemoteClusterSession(token, model.NewId())
require.Error(t, err) require.NotNil(t, err)
require.Nil(t, session) require.Nil(t, session)
}) })
} }

Просмотреть файл

@@ -118,7 +118,8 @@ func TestSetDefaultProfileImage(t *testing.T) {
Id: model.NewId(), Id: model.NewId(),
Username: "notvaliduser", Username: "notvaliduser",
}) })
require.Error(t, err) // It doesn't fail, but it does nothing
require.Nil(t, err)
user := th.BasicUser user := th.BasicUser

Просмотреть файл

@@ -82,7 +82,7 @@ func getActualDatabaseConfig(t *testing.T) (string, *model.Config) {
var actualCfg *model.Config var actualCfg *model.Config
err = json.Unmarshal(actual.Value, &actualCfg) err = json.Unmarshal(actual.Value, &actualCfg)
require.Nil(t, err) require.NoError(t, err)
return actual.ID, actualCfg return actual.ID, actualCfg
} }
var actual struct { var actual struct {
@@ -95,7 +95,7 @@ func getActualDatabaseConfig(t *testing.T) (string, *model.Config) {
var actualCfg *model.Config var actualCfg *model.Config
err = json.Unmarshal(actual.Value, &actualCfg) err = json.Unmarshal(actual.Value, &actualCfg)
require.Nil(t, err) require.NoError(t, err)
return actual.ID, actualCfg return actual.ID, actualCfg
} }

Просмотреть файл

@@ -54,12 +54,12 @@ func getActualFileConfig(t *testing.T, path string) *model.Config {
t.Helper() t.Helper()
f, err := os.Open(path) f, err := os.Open(path)
require.Nil(t, err) require.NoError(t, err)
defer f.Close() defer f.Close()
var actualCfg *model.Config var actualCfg *model.Config
err = json.NewDecoder(f).Decode(&actualCfg) err = json.NewDecoder(f).Decode(&actualCfg)
require.Nil(t, err) require.NoError(t, err)
return actualCfg return actualCfg
} }

Просмотреть файл

@@ -35,7 +35,7 @@ func TestGetMigrationState(t *testing.T) {
Value: "true", Value: "true",
} }
nErr := th.App.Srv().Store.System().Save(&system) nErr := th.App.Srv().Store.System().Save(&system)
assert.Nil(t, nErr) assert.NoError(t, nErr)
state, job, err = GetMigrationState(migrationKey, th.App.Srv().Store) state, job, err = GetMigrationState(migrationKey, th.App.Srv().Store)
assert.Nil(t, err) assert.Nil(t, err)
@@ -43,7 +43,7 @@ func TestGetMigrationState(t *testing.T) {
assert.Equal(t, "completed", state) assert.Equal(t, "completed", state)
_, nErr = th.App.Srv().Store.System().PermanentDeleteByName(migrationKey) _, nErr = th.App.Srv().Store.System().PermanentDeleteByName(migrationKey)
assert.Nil(t, nErr) assert.NoError(t, nErr)
// Test with a job scheduled in "pending" state. // Test with a job scheduled in "pending" state.
j1 := &model.Job{ j1 := &model.Job{
@@ -57,7 +57,7 @@ func TestGetMigrationState(t *testing.T) {
} }
j1, nErr = th.App.Srv().Store.Job().Save(j1) j1, nErr = th.App.Srv().Store.Job().Save(j1)
require.Nil(t, nErr) require.NoError(t, nErr)
state, job, err = GetMigrationState(migrationKey, th.App.Srv().Store) state, job, err = GetMigrationState(migrationKey, th.App.Srv().Store)
assert.Nil(t, err) assert.Nil(t, err)
@@ -76,7 +76,7 @@ func TestGetMigrationState(t *testing.T) {
} }
j2, nErr = th.App.Srv().Store.Job().Save(j2) j2, nErr = th.App.Srv().Store.Job().Save(j2)
require.Nil(t, nErr) require.NoError(t, nErr)
state, job, err = GetMigrationState(migrationKey, th.App.Srv().Store) state, job, err = GetMigrationState(migrationKey, th.App.Srv().Store)
assert.Nil(t, err) assert.Nil(t, err)
@@ -95,7 +95,7 @@ func TestGetMigrationState(t *testing.T) {
} }
j3, nErr = th.App.Srv().Store.Job().Save(j3) j3, nErr = th.App.Srv().Store.Job().Save(j3)
require.Nil(t, nErr) require.NoError(t, nErr)
state, job, err = GetMigrationState(migrationKey, th.App.Srv().Store) state, job, err = GetMigrationState(migrationKey, th.App.Srv().Store)
assert.Nil(t, err) assert.Nil(t, err)

Просмотреть файл

@@ -20,8 +20,8 @@ func TestRemoteClusterJson(t *testing.T) {
json, err := o.ToJSON() json, err := o.ToJSON()
require.NoError(t, err) require.NoError(t, err)
ro, err := RemoteClusterFromJSON(strings.NewReader(json)) ro, appErr := RemoteClusterFromJSON(strings.NewReader(json))
require.Nil(t, err) require.Nil(t, appErr)
require.Equal(t, o.RemoteId, ro.RemoteId) require.Equal(t, o.RemoteId, ro.RemoteId)
require.Equal(t, o.DisplayName, ro.DisplayName) require.Equal(t, o.DisplayName, ro.DisplayName)
@@ -72,8 +72,8 @@ func TestRemoteClusterMsgJson(t *testing.T) {
json, err := json.Marshal(o) json, err := json.Marshal(o)
require.NoError(t, err) require.NoError(t, err)
ro, err := RemoteClusterMsgFromJSON(strings.NewReader(string(json))) ro, appErr := RemoteClusterMsgFromJSON(strings.NewReader(string(json)))
require.Nil(t, err) require.Nil(t, appErr)
require.Equal(t, o.Id, ro.Id) require.Equal(t, o.Id, ro.Id)
require.Equal(t, o.CreateAt, ro.CreateAt) require.Equal(t, o.CreateAt, ro.CreateAt)

Просмотреть файл

@@ -572,7 +572,7 @@ func TestShouldProcessMessage(t *testing.T) {
api.On("KVGet", plugin.BotUserKey).Return(nil, nil) api.On("KVGet", plugin.BotUserKey).Return(nil, nil)
shouldProcessMessage, err := p.ShouldProcessMessage(&model.Post{ChannelId: channelID, UserId: userID}, plugin.BotID(expectedBotID)) shouldProcessMessage, err := p.ShouldProcessMessage(&model.Post{ChannelId: channelID, UserId: userID}, plugin.BotID(expectedBotID))
assert.Nil(t, err) assert.NoError(t, err)
assert.True(t, shouldProcessMessage) assert.True(t, shouldProcessMessage)
}) })

Просмотреть файл

@@ -119,7 +119,7 @@ func TestPing(t *testing.T) {
wg.Wait() wg.Wait()
assert.Nil(t, merr.ErrorOrNil()) assert.NoError(t, merr.ErrorOrNil())
assert.Equal(t, int32(NumRemotes), atomic.LoadInt32(&countWebReq)) assert.Equal(t, int32(NumRemotes), atomic.LoadInt32(&countWebReq))
t.Log(fmt.Sprintf("%d web requests counted; %d expected", t.Log(fmt.Sprintf("%d web requests counted; %d expected",

Просмотреть файл

@@ -279,13 +279,13 @@ func TestUserStoreGetManyCache(t *testing.T) {
require.NoError(t, err) require.NoError(t, err)
gotUsers, err := cachedStore.User().GetMany(context.Background(), []string{fakeUser.Id, otherFakeUser.Id}) gotUsers, err := cachedStore.User().GetMany(context.Background(), []string{fakeUser.Id, otherFakeUser.Id})
require.Nil(t, err) require.NoError(t, err)
assert.Len(t, gotUsers, 2) assert.Len(t, gotUsers, 2)
assert.Contains(t, gotUsers, fakeUser) assert.Contains(t, gotUsers, fakeUser)
assert.Contains(t, gotUsers, otherFakeUser) assert.Contains(t, gotUsers, otherFakeUser)
gotUsers, err = cachedStore.User().GetMany(context.Background(), []string{fakeUser.Id, otherFakeUser.Id}) gotUsers, err = cachedStore.User().GetMany(context.Background(), []string{fakeUser.Id, otherFakeUser.Id})
require.Nil(t, err) require.NoError(t, err)
assert.Len(t, gotUsers, 2) assert.Len(t, gotUsers, 2)
mockStore.User().(*mocks.UserStore).AssertNumberOfCalls(t, "GetMany", 1) mockStore.User().(*mocks.UserStore).AssertNumberOfCalls(t, "GetMany", 1)
}) })
@@ -297,7 +297,7 @@ func TestUserStoreGetManyCache(t *testing.T) {
require.NoError(t, err) require.NoError(t, err)
gotUsers, err := cachedStore.User().GetMany(context.Background(), []string{fakeUser.Id, otherFakeUser.Id}) gotUsers, err := cachedStore.User().GetMany(context.Background(), []string{fakeUser.Id, otherFakeUser.Id})
require.Nil(t, err) require.NoError(t, err)
assert.Len(t, gotUsers, 2) assert.Len(t, gotUsers, 2)
assert.Contains(t, gotUsers, fakeUser) assert.Contains(t, gotUsers, fakeUser)
assert.Contains(t, gotUsers, otherFakeUser) assert.Contains(t, gotUsers, otherFakeUser)

Просмотреть файл

@@ -625,13 +625,13 @@ func testFileInfoStoreGetFilesBatchForIndexing(t *testing.T, ss store.Store) {
o1.UserId = model.NewId() o1.UserId = model.NewId()
o1.Message = "zz" + model.NewId() + "AAAAAAAAAAA" o1.Message = "zz" + model.NewId() + "AAAAAAAAAAA"
o1, err := ss.Post().Save(o1) o1, err := ss.Post().Save(o1)
require.Nil(t, err) require.NoError(t, err)
f1, err := ss.FileInfo().Save(&model.FileInfo{ f1, err := ss.FileInfo().Save(&model.FileInfo{
PostId: o1.Id, PostId: o1.Id,
CreatorId: model.NewId(), CreatorId: model.NewId(),
Path: "file1.txt", Path: "file1.txt",
}) })
require.Nil(t, err) require.NoError(t, err)
defer func() { defer func() {
ss.FileInfo().PermanentDelete(f1.Id) ss.FileInfo().PermanentDelete(f1.Id)
}() }()
@@ -642,14 +642,14 @@ func testFileInfoStoreGetFilesBatchForIndexing(t *testing.T, ss store.Store) {
o2.UserId = model.NewId() o2.UserId = model.NewId()
o2.Message = "zz" + model.NewId() + "CCCCCCCCC" o2.Message = "zz" + model.NewId() + "CCCCCCCCC"
o2, err = ss.Post().Save(o2) o2, err = ss.Post().Save(o2)
require.Nil(t, err) require.NoError(t, err)
f2, err := ss.FileInfo().Save(&model.FileInfo{ f2, err := ss.FileInfo().Save(&model.FileInfo{
PostId: o2.Id, PostId: o2.Id,
CreatorId: model.NewId(), CreatorId: model.NewId(),
Path: "file2.txt", Path: "file2.txt",
}) })
require.Nil(t, err) require.NoError(t, err)
defer func() { defer func() {
ss.FileInfo().PermanentDelete(f2.Id) ss.FileInfo().PermanentDelete(f2.Id)
}() }()
@@ -662,21 +662,21 @@ func testFileInfoStoreGetFilesBatchForIndexing(t *testing.T, ss store.Store) {
o3.RootId = o1.Id o3.RootId = o1.Id
o3.Message = "zz" + model.NewId() + "QQQQQQQQQQ" o3.Message = "zz" + model.NewId() + "QQQQQQQQQQ"
o3, err = ss.Post().Save(o3) o3, err = ss.Post().Save(o3)
require.Nil(t, err) require.NoError(t, err)
f3, err := ss.FileInfo().Save(&model.FileInfo{ f3, err := ss.FileInfo().Save(&model.FileInfo{
PostId: o3.Id, PostId: o3.Id,
CreatorId: model.NewId(), CreatorId: model.NewId(),
Path: "file3.txt", Path: "file3.txt",
}) })
require.Nil(t, err) require.NoError(t, err)
defer func() { defer func() {
ss.FileInfo().PermanentDelete(f3.Id) ss.FileInfo().PermanentDelete(f3.Id)
}() }()
t.Run("get all files", func(t *testing.T) { t.Run("get all files", func(t *testing.T) {
r, err := ss.FileInfo().GetFilesBatchForIndexing(f1.CreateAt, model.GetMillis()+100000, 100) r, err := ss.FileInfo().GetFilesBatchForIndexing(f1.CreateAt, model.GetMillis()+100000, 100)
require.Nil(t, err) require.NoError(t, err)
require.Len(t, r, 3, "Expected 3 posts in results. Got %v", len(r)) require.Len(t, r, 3, "Expected 3 posts in results. Got %v", len(r))
for _, f := range r { for _, f := range r {
if f.Id == f1.Id { if f.Id == f1.Id {
@@ -696,7 +696,7 @@ func testFileInfoStoreGetFilesBatchForIndexing(t *testing.T, ss store.Store) {
t.Run("get files after certain date", func(t *testing.T) { t.Run("get files after certain date", func(t *testing.T) {
r, err := ss.FileInfo().GetFilesBatchForIndexing(f1.CreateAt+1, model.GetMillis()+100000, 100) r, err := ss.FileInfo().GetFilesBatchForIndexing(f1.CreateAt+1, model.GetMillis()+100000, 100)
require.Nil(t, err) require.NoError(t, err)
require.Len(t, r, 2, "Expected 2 posts in results. Got %v", len(r)) require.Len(t, r, 2, "Expected 2 posts in results. Got %v", len(r))
for _, f := range r { for _, f := range r {
if f.Id == f2.Id { if f.Id == f2.Id {
@@ -714,34 +714,34 @@ func testFileInfoStoreGetFilesBatchForIndexing(t *testing.T, ss store.Store) {
func testFileInfoStoreCountAll(t *testing.T, ss store.Store) { func testFileInfoStoreCountAll(t *testing.T, ss store.Store) {
_, err := ss.FileInfo().PermanentDeleteBatch(model.GetMillis(), 100000) _, err := ss.FileInfo().PermanentDeleteBatch(model.GetMillis(), 100000)
require.Nil(t, err) require.NoError(t, err)
f1, err := ss.FileInfo().Save(&model.FileInfo{ f1, err := ss.FileInfo().Save(&model.FileInfo{
PostId: model.NewId(), PostId: model.NewId(),
CreatorId: model.NewId(), CreatorId: model.NewId(),
Path: "file1.txt", Path: "file1.txt",
}) })
require.Nil(t, err) require.NoError(t, err)
_, err = ss.FileInfo().Save(&model.FileInfo{ _, err = ss.FileInfo().Save(&model.FileInfo{
PostId: model.NewId(), PostId: model.NewId(),
CreatorId: model.NewId(), CreatorId: model.NewId(),
Path: "file2.txt", Path: "file2.txt",
}) })
require.Nil(t, err) require.NoError(t, err)
_, err = ss.FileInfo().Save(&model.FileInfo{ _, err = ss.FileInfo().Save(&model.FileInfo{
PostId: model.NewId(), PostId: model.NewId(),
CreatorId: model.NewId(), CreatorId: model.NewId(),
Path: "file3.txt", Path: "file3.txt",
}) })
require.Nil(t, err) require.NoError(t, err)
count, err := ss.FileInfo().CountAll() count, err := ss.FileInfo().CountAll()
require.Nil(t, err) require.NoError(t, err)
require.Equal(t, int64(3), count) require.Equal(t, int64(3), count)
_, err = ss.FileInfo().DeleteForPost(f1.PostId) _, err = ss.FileInfo().DeleteForPost(f1.PostId)
require.Nil(t, err) require.NoError(t, err)
count, err = ss.FileInfo().CountAll() count, err = ss.FileInfo().CountAll()
require.Nil(t, err) require.NoError(t, err)
require.Equal(t, int64(2), count) require.Equal(t, int64(2), count)
} }

Просмотреть файл

@@ -317,24 +317,24 @@ func testReactionGetForPostSince(t *testing.T, ss store.Store, s SqlStore) {
update := reaction.UpdateAt update := reaction.UpdateAt
_, err := ss.Reaction().Save(reaction) _, err := ss.Reaction().Save(reaction)
require.Nil(t, err) require.NoError(t, err)
if delete > 0 { if delete > 0 {
_, err = ss.Reaction().Delete(reaction) _, err = ss.Reaction().Delete(reaction)
require.Nil(t, err) require.NoError(t, err)
} }
if update > 0 { if update > 0 {
err = forceUpdateAt(reaction, update, s) err = forceUpdateAt(reaction, update, s)
require.Nil(t, err) require.NoError(t, err)
} }
err = forceNULL(reaction, s) // test COALESCE err = forceNULL(reaction, s) // test COALESCE
require.Nil(t, err) require.NoError(t, err)
} }
t.Run("reactions since", func(t *testing.T) { t.Run("reactions since", func(t *testing.T) {
// should return 2 reactions that are not deleted for post // should return 2 reactions that are not deleted for post
returned, err := ss.Reaction().GetForPostSince(postId, later-1, "", false) returned, err := ss.Reaction().GetForPostSince(postId, later-1, "", false)
require.Nil(t, err) require.NoError(t, err)
require.Len(t, returned, 2, "should've returned 2 non-deleted reactions") require.Len(t, returned, 2, "should've returned 2 non-deleted reactions")
for _, r := range returned { for _, r := range returned {
assert.Zero(t, r.DeleteAt, "should not have returned deleted reaction") assert.Zero(t, r.DeleteAt, "should not have returned deleted reaction")
@@ -345,7 +345,7 @@ func testReactionGetForPostSince(t *testing.T, ss store.Store, s SqlStore) {
t.Run("reactions since, incl deleted", func(t *testing.T) { t.Run("reactions since, incl deleted", func(t *testing.T) {
// should return 3 reactions for post, including one deleted // should return 3 reactions for post, including one deleted
returned, err := ss.Reaction().GetForPostSince(postId, later-1, "", true) returned, err := ss.Reaction().GetForPostSince(postId, later-1, "", true)
require.Nil(t, err) require.NoError(t, err)
require.Len(t, returned, 3, "should've returned 3 reactions") require.Len(t, returned, 3, "should've returned 3 reactions")
var count int var count int
for _, r := range returned { for _, r := range returned {
@@ -360,7 +360,7 @@ func testReactionGetForPostSince(t *testing.T, ss store.Store, s SqlStore) {
t.Run("reactions since, filter remoteId", func(t *testing.T) { t.Run("reactions since, filter remoteId", func(t *testing.T) {
// should return 1 reactions that are not deleted for post and have no remoteId // should return 1 reactions that are not deleted for post and have no remoteId
returned, err := ss.Reaction().GetForPostSince(postId, later-1, remoteId, false) returned, err := ss.Reaction().GetForPostSince(postId, later-1, remoteId, false)
require.Nil(t, err) require.NoError(t, err)
require.Len(t, returned, 1, "should've returned 1 filtered reactions") require.Len(t, returned, 1, "should've returned 1 filtered reactions")
for _, r := range returned { for _, r := range returned {
assert.Zero(t, r.DeleteAt, "should not have returned deleted reaction") assert.Zero(t, r.DeleteAt, "should not have returned deleted reaction")
@@ -370,14 +370,14 @@ func testReactionGetForPostSince(t *testing.T, ss store.Store, s SqlStore) {
t.Run("reactions since, invalid post", func(t *testing.T) { t.Run("reactions since, invalid post", func(t *testing.T) {
// should return 0 reactions for invalid post // should return 0 reactions for invalid post
returned, err := ss.Reaction().GetForPostSince(model.NewId(), later-1, "", true) returned, err := ss.Reaction().GetForPostSince(model.NewId(), later-1, "", true)
require.Nil(t, err) require.NoError(t, err)
require.Empty(t, returned, "should've returned 0 reactions") require.Empty(t, returned, "should've returned 0 reactions")
}) })
t.Run("reactions since, far future", func(t *testing.T) { t.Run("reactions since, far future", func(t *testing.T) {
// should return 0 reactions for since far in the future // should return 0 reactions for since far in the future
returned, err := ss.Reaction().GetForPostSince(postId, later*2, "", true) returned, err := ss.Reaction().GetForPostSince(postId, later*2, "", true)
require.Nil(t, err) require.NoError(t, err)
require.Empty(t, returned, "should've returned 0 reactions") require.Empty(t, returned, "should've returned 0 reactions")
}) })
} }
@@ -477,12 +477,12 @@ func testReactionDeleteAllWithEmojiName(t *testing.T, ss store.Store, s SqlStore
for _, reaction := range reactions { for _, reaction := range reactions {
_, err := ss.Reaction().Save(reaction) _, err := ss.Reaction().Save(reaction)
require.Nil(t, err) require.NoError(t, err)
// make at least one Reaction record contain NULL for Update and DeleteAt to simulate post schema upgrade case. // make at least one Reaction record contain NULL for Update and DeleteAt to simulate post schema upgrade case.
if reaction.EmojiName == emojiToDelete { if reaction.EmojiName == emojiToDelete {
err = forceNULL(reaction, s) err = forceNULL(reaction, s)
require.Nil(t, err) require.NoError(t, err)
} }
} }

Просмотреть файл

@@ -35,7 +35,7 @@ func testRemoteClusterSave(t *testing.T, ss store.Store) {
} }
rcSaved, err := ss.RemoteCluster().Save(rc) rcSaved, err := ss.RemoteCluster().Save(rc)
require.Nil(t, err) require.NoError(t, err)
require.Equal(t, rc.DisplayName, rcSaved.DisplayName) require.Equal(t, rc.DisplayName, rcSaved.DisplayName)
require.Equal(t, rc.SiteURL, rcSaved.SiteURL) require.Equal(t, rc.SiteURL, rcSaved.SiteURL)
require.Greater(t, rc.CreateAt, int64(0)) require.Greater(t, rc.CreateAt, int64(0))
@@ -48,7 +48,7 @@ func testRemoteClusterSave(t *testing.T, ss store.Store) {
CreatorId: model.NewId(), CreatorId: model.NewId(),
} }
_, err := ss.RemoteCluster().Save(rc) _, err := ss.RemoteCluster().Save(rc)
require.NotNil(t, err) require.Error(t, err)
}) })
t.Run("Save missing creator id", func(t *testing.T) { t.Run("Save missing creator id", func(t *testing.T) {
@@ -57,7 +57,7 @@ func testRemoteClusterSave(t *testing.T, ss store.Store) {
SiteURL: "somewhere.com", SiteURL: "somewhere.com",
} }
_, err := ss.RemoteCluster().Save(rc) _, err := ss.RemoteCluster().Save(rc)
require.NotNil(t, err) require.Error(t, err)
}) })
} }
@@ -69,16 +69,16 @@ func testRemoteClusterDelete(t *testing.T, ss store.Store) {
CreatorId: model.NewId(), CreatorId: model.NewId(),
} }
rcSaved, err := ss.RemoteCluster().Save(rc) rcSaved, err := ss.RemoteCluster().Save(rc)
require.Nil(t, err) require.NoError(t, err)
deleted, err := ss.RemoteCluster().Delete(rcSaved.RemoteId) deleted, err := ss.RemoteCluster().Delete(rcSaved.RemoteId)
require.Nil(t, err) require.NoError(t, err)
require.True(t, deleted) require.True(t, deleted)
}) })
t.Run("Delete nonexistent", func(t *testing.T) { t.Run("Delete nonexistent", func(t *testing.T) {
deleted, err := ss.RemoteCluster().Delete(model.NewId()) deleted, err := ss.RemoteCluster().Delete(model.NewId())
require.Nil(t, err) require.NoError(t, err)
require.False(t, deleted) require.False(t, deleted)
}) })
} }
@@ -91,16 +91,16 @@ func testRemoteClusterGet(t *testing.T, ss store.Store) {
CreatorId: model.NewId(), CreatorId: model.NewId(),
} }
rcSaved, err := ss.RemoteCluster().Save(rc) rcSaved, err := ss.RemoteCluster().Save(rc)
require.Nil(t, err) require.NoError(t, err)
rcGet, err := ss.RemoteCluster().Get(rcSaved.RemoteId) rcGet, err := ss.RemoteCluster().Get(rcSaved.RemoteId)
require.Nil(t, err) require.NoError(t, err)
require.Equal(t, rcSaved.RemoteId, rcGet.RemoteId) require.Equal(t, rcSaved.RemoteId, rcGet.RemoteId)
}) })
t.Run("Get not found", func(t *testing.T) { t.Run("Get not found", func(t *testing.T) {
_, err := ss.RemoteCluster().Get(model.NewId()) _, err := ss.RemoteCluster().Get(model.NewId())
require.NotNil(t, err) require.Error(t, err)
}) })
} }
@@ -127,7 +127,7 @@ func testRemoteClusterGetAll(t *testing.T, ss store.Store) {
for _, item := range data { for _, item := range data {
online := item.LastPingAt == now online := item.LastPingAt == now
saved, err := ss.RemoteCluster().Save(item) saved, err := ss.RemoteCluster().Save(item)
require.Nil(t, err) require.NoError(t, err)
idsAll = append(idsAll, saved.RemoteId) idsAll = append(idsAll, saved.RemoteId)
if online { if online {
idsOnline = append(idsOnline, saved.RemoteId) idsOnline = append(idsOnline, saved.RemoteId)
@@ -142,7 +142,7 @@ func testRemoteClusterGetAll(t *testing.T, ss store.Store) {
t.Run("GetAll", func(t *testing.T) { t.Run("GetAll", func(t *testing.T) {
filter := model.RemoteClusterQueryFilter{} filter := model.RemoteClusterQueryFilter{}
remotes, err := ss.RemoteCluster().GetAll(filter) remotes, err := ss.RemoteCluster().GetAll(filter)
require.Nil(t, err) require.NoError(t, err)
// make sure all the test data remotes were returned. // make sure all the test data remotes were returned.
ids := getIds(remotes) ids := getIds(remotes)
assert.ElementsMatch(t, ids, idsAll) assert.ElementsMatch(t, ids, idsAll)
@@ -153,7 +153,7 @@ func testRemoteClusterGetAll(t *testing.T, ss store.Store) {
ExcludeOffline: true, ExcludeOffline: true,
} }
remotes, err := ss.RemoteCluster().GetAll(filter) remotes, err := ss.RemoteCluster().GetAll(filter)
require.Nil(t, err) require.NoError(t, err)
// make sure all the online remotes were returned. // make sure all the online remotes were returned.
ids := getIds(remotes) ids := getIds(remotes)
assert.ElementsMatch(t, ids, idsOnline) assert.ElementsMatch(t, ids, idsOnline)
@@ -164,7 +164,7 @@ func testRemoteClusterGetAll(t *testing.T, ss store.Store) {
Topic: "shared", Topic: "shared",
} }
remotes, err := ss.RemoteCluster().GetAll(filter) remotes, err := ss.RemoteCluster().GetAll(filter)
require.Nil(t, err) require.NoError(t, err)
// make sure only correct topic returned // make sure only correct topic returned
ids := getIds(remotes) ids := getIds(remotes)
assert.ElementsMatch(t, ids, idsShareTopic) assert.ElementsMatch(t, ids, idsShareTopic)
@@ -176,7 +176,7 @@ func testRemoteClusterGetAll(t *testing.T, ss store.Store) {
Topic: "shared", Topic: "shared",
} }
remotes, err := ss.RemoteCluster().GetAll(filter) remotes, err := ss.RemoteCluster().GetAll(filter)
require.Nil(t, err) require.NoError(t, err)
// make sure only online remotes were returned. // make sure only online remotes were returned.
ids := getIds(remotes) ids := getIds(remotes)
assert.Subset(t, idsOnline, ids) assert.Subset(t, idsOnline, ids)
@@ -190,7 +190,7 @@ func testRemoteClusterGetAll(t *testing.T, ss store.Store) {
CreatorId: userId, CreatorId: userId,
} }
remotes, err := ss.RemoteCluster().GetAll(filter) remotes, err := ss.RemoteCluster().GetAll(filter)
require.Nil(t, err) require.NoError(t, err)
// make sure only correct creator returned // make sure only correct creator returned
assert.Len(t, remotes, 3) assert.Len(t, remotes, 3)
for _, rc := range remotes { for _, rc := range remotes {
@@ -203,7 +203,7 @@ func testRemoteClusterGetAll(t *testing.T, ss store.Store) {
OnlyConfirmed: true, OnlyConfirmed: true,
} }
remotes, err := ss.RemoteCluster().GetAll(filter) remotes, err := ss.RemoteCluster().GetAll(filter)
require.Nil(t, err) require.NoError(t, err)
// make sure only confirmed returned // make sure only confirmed returned
assert.Len(t, remotes, 4) assert.Len(t, remotes, 4)
for _, rc := range remotes { for _, rc := range remotes {
@@ -219,13 +219,13 @@ func testRemoteClusterGetAllInChannel(t *testing.T, ss store.Store) {
userId := model.NewId() userId := model.NewId()
channel1, err := createTestChannel(ss, "channel_1") channel1, err := createTestChannel(ss, "channel_1")
require.Nil(t, err) require.NoError(t, err)
channel2, err := createTestChannel(ss, "channel_2") channel2, err := createTestChannel(ss, "channel_2")
require.Nil(t, err) require.NoError(t, err)
channel3, err := createTestChannel(ss, "channel_3") channel3, err := createTestChannel(ss, "channel_3")
require.Nil(t, err) require.NoError(t, err)
// Create shared channels // Create shared channels
scData := []*model.SharedChannel{ scData := []*model.SharedChannel{
@@ -235,7 +235,7 @@ func testRemoteClusterGetAllInChannel(t *testing.T, ss store.Store) {
} }
for _, item := range scData { for _, item := range scData {
_, err := ss.SharedChannel().Save(item) _, err := ss.SharedChannel().Save(item)
require.Nil(t, err) require.NoError(t, err)
} }
// Create some remote clusters // Create some remote clusters
@@ -248,7 +248,7 @@ func testRemoteClusterGetAllInChannel(t *testing.T, ss store.Store) {
} }
for _, item := range rcData { for _, item := range rcData {
_, err := ss.RemoteCluster().Save(item) _, err := ss.RemoteCluster().Save(item)
require.Nil(t, err) require.NoError(t, err)
} }
// Create some shared channel remotes // Create some shared channel remotes
@@ -261,7 +261,7 @@ func testRemoteClusterGetAllInChannel(t *testing.T, ss store.Store) {
} }
for _, item := range scrData { for _, item := range scrData {
_, err := ss.SharedChannel().SaveRemote(item) _, err := ss.SharedChannel().SaveRemote(item)
require.Nil(t, err) require.NoError(t, err)
} }
t.Run("Channel 1", func(t *testing.T) { t.Run("Channel 1", func(t *testing.T) {
@@ -269,7 +269,7 @@ func testRemoteClusterGetAllInChannel(t *testing.T, ss store.Store) {
InChannel: channel1.Id, InChannel: channel1.Id,
} }
list, err := ss.RemoteCluster().GetAll(filter) list, err := ss.RemoteCluster().GetAll(filter)
require.Nil(t, err) require.NoError(t, err)
require.Len(t, list, 2, "channel 1 should have 2 remote clusters") require.Len(t, list, 2, "channel 1 should have 2 remote clusters")
ids := getIds(list) ids := getIds(list)
require.ElementsMatch(t, []string{rcData[0].RemoteId, rcData[1].RemoteId}, ids) require.ElementsMatch(t, []string{rcData[0].RemoteId, rcData[1].RemoteId}, ids)
@@ -281,7 +281,7 @@ func testRemoteClusterGetAllInChannel(t *testing.T, ss store.Store) {
InChannel: channel1.Id, InChannel: channel1.Id,
} }
list, err := ss.RemoteCluster().GetAll(filter) list, err := ss.RemoteCluster().GetAll(filter)
require.Nil(t, err) require.NoError(t, err)
require.Len(t, list, 1, "channel 1 should have 1 online remote clusters") require.Len(t, list, 1, "channel 1 should have 1 online remote clusters")
ids := getIds(list) ids := getIds(list)
require.ElementsMatch(t, []string{rcData[0].RemoteId}, ids) require.ElementsMatch(t, []string{rcData[0].RemoteId}, ids)
@@ -292,7 +292,7 @@ func testRemoteClusterGetAllInChannel(t *testing.T, ss store.Store) {
InChannel: channel2.Id, InChannel: channel2.Id,
} }
list, err := ss.RemoteCluster().GetAll(filter) list, err := ss.RemoteCluster().GetAll(filter)
require.Nil(t, err) require.NoError(t, err)
require.Len(t, list, 3, "channel 2 should have 3 remote clusters") require.Len(t, list, 3, "channel 2 should have 3 remote clusters")
ids := getIds(list) ids := getIds(list)
require.ElementsMatch(t, []string{rcData[2].RemoteId, rcData[3].RemoteId, rcData[4].RemoteId}, ids) require.ElementsMatch(t, []string{rcData[2].RemoteId, rcData[3].RemoteId, rcData[4].RemoteId}, ids)
@@ -304,7 +304,7 @@ func testRemoteClusterGetAllInChannel(t *testing.T, ss store.Store) {
InChannel: channel2.Id, InChannel: channel2.Id,
} }
list, err := ss.RemoteCluster().GetAll(filter) list, err := ss.RemoteCluster().GetAll(filter)
require.Nil(t, err) require.NoError(t, err)
require.Len(t, list, 2, "channel 2 should have 2 online remote clusters") require.Len(t, list, 2, "channel 2 should have 2 online remote clusters")
ids := getIds(list) ids := getIds(list)
require.ElementsMatch(t, []string{rcData[2].RemoteId, rcData[3].RemoteId}, ids) require.ElementsMatch(t, []string{rcData[2].RemoteId, rcData[3].RemoteId}, ids)
@@ -315,7 +315,7 @@ func testRemoteClusterGetAllInChannel(t *testing.T, ss store.Store) {
InChannel: channel3.Id, InChannel: channel3.Id,
} }
list, err := ss.RemoteCluster().GetAll(filter) list, err := ss.RemoteCluster().GetAll(filter)
require.Nil(t, err) require.NoError(t, err)
require.Empty(t, list, "channel 3 should have 0 remote clusters") require.Empty(t, list, "channel 3 should have 0 remote clusters")
}) })
} }
@@ -326,13 +326,13 @@ func testRemoteClusterGetAllNotInChannel(t *testing.T, ss store.Store) {
userId := model.NewId() userId := model.NewId()
channel1, err := createTestChannel(ss, "channel_1") channel1, err := createTestChannel(ss, "channel_1")
require.Nil(t, err) require.NoError(t, err)
channel2, err := createTestChannel(ss, "channel_2") channel2, err := createTestChannel(ss, "channel_2")
require.Nil(t, err) require.NoError(t, err)
channel3, err := createTestChannel(ss, "channel_3") channel3, err := createTestChannel(ss, "channel_3")
require.Nil(t, err) require.NoError(t, err)
// Create shared channels // Create shared channels
scData := []*model.SharedChannel{ scData := []*model.SharedChannel{
@@ -342,7 +342,7 @@ func testRemoteClusterGetAllNotInChannel(t *testing.T, ss store.Store) {
} }
for _, item := range scData { for _, item := range scData {
_, err := ss.SharedChannel().Save(item) _, err := ss.SharedChannel().Save(item)
require.Nil(t, err) require.NoError(t, err)
} }
// Create some remote clusters // Create some remote clusters
@@ -355,7 +355,7 @@ func testRemoteClusterGetAllNotInChannel(t *testing.T, ss store.Store) {
} }
for _, item := range rcData { for _, item := range rcData {
_, err := ss.RemoteCluster().Save(item) _, err := ss.RemoteCluster().Save(item)
require.Nil(t, err) require.NoError(t, err)
} }
// Create some shared channel remotes // Create some shared channel remotes
@@ -368,7 +368,7 @@ func testRemoteClusterGetAllNotInChannel(t *testing.T, ss store.Store) {
} }
for _, item := range scrData { for _, item := range scrData {
_, err := ss.SharedChannel().SaveRemote(item) _, err := ss.SharedChannel().SaveRemote(item)
require.Nil(t, err) require.NoError(t, err)
} }
t.Run("Channel 1", func(t *testing.T) { t.Run("Channel 1", func(t *testing.T) {
@@ -376,7 +376,7 @@ func testRemoteClusterGetAllNotInChannel(t *testing.T, ss store.Store) {
NotInChannel: channel1.Id, NotInChannel: channel1.Id,
} }
list, err := ss.RemoteCluster().GetAll(filter) list, err := ss.RemoteCluster().GetAll(filter)
require.Nil(t, err) require.NoError(t, err)
require.Len(t, list, 3, "channel 1 should have 3 remote clusters that are not already members") require.Len(t, list, 3, "channel 1 should have 3 remote clusters that are not already members")
ids := getIds(list) ids := getIds(list)
require.ElementsMatch(t, []string{rcData[2].RemoteId, rcData[3].RemoteId, rcData[4].RemoteId}, ids) require.ElementsMatch(t, []string{rcData[2].RemoteId, rcData[3].RemoteId, rcData[4].RemoteId}, ids)
@@ -387,7 +387,7 @@ func testRemoteClusterGetAllNotInChannel(t *testing.T, ss store.Store) {
NotInChannel: channel2.Id, NotInChannel: channel2.Id,
} }
list, err := ss.RemoteCluster().GetAll(filter) list, err := ss.RemoteCluster().GetAll(filter)
require.Nil(t, err) require.NoError(t, err)
require.Len(t, list, 3, "channel 2 should have 3 remote clusters that are not already members") require.Len(t, list, 3, "channel 2 should have 3 remote clusters that are not already members")
ids := getIds(list) ids := getIds(list)
require.ElementsMatch(t, []string{rcData[0].RemoteId, rcData[1].RemoteId, rcData[4].RemoteId}, ids) require.ElementsMatch(t, []string{rcData[0].RemoteId, rcData[1].RemoteId, rcData[4].RemoteId}, ids)
@@ -398,7 +398,7 @@ func testRemoteClusterGetAllNotInChannel(t *testing.T, ss store.Store) {
NotInChannel: channel3.Id, NotInChannel: channel3.Id,
} }
list, err := ss.RemoteCluster().GetAll(filter) list, err := ss.RemoteCluster().GetAll(filter)
require.Nil(t, err) require.NoError(t, err)
require.Len(t, list, 4, "channel 3 should have 4 remote clusters that are not already members") require.Len(t, list, 4, "channel 3 should have 4 remote clusters that are not already members")
ids := getIds(list) ids := getIds(list)
require.ElementsMatch(t, []string{rcData[0].RemoteId, rcData[1].RemoteId, rcData[2].RemoteId, rcData[3].RemoteId}, ids) require.ElementsMatch(t, []string{rcData[0].RemoteId, rcData[1].RemoteId, rcData[2].RemoteId, rcData[3].RemoteId}, ids)
@@ -409,7 +409,7 @@ func testRemoteClusterGetAllNotInChannel(t *testing.T, ss store.Store) {
NotInChannel: model.NewId(), NotInChannel: model.NewId(),
} }
list, err := ss.RemoteCluster().GetAll(filter) list, err := ss.RemoteCluster().GetAll(filter)
require.Nil(t, err) require.NoError(t, err)
require.Len(t, list, 5, "should have 5 remote clusters that are not already members") require.Len(t, list, 5, "should have 5 remote clusters that are not already members")
ids := getIds(list) ids := getIds(list)
require.ElementsMatch(t, []string{rcData[0].RemoteId, rcData[1].RemoteId, rcData[2].RemoteId, rcData[3].RemoteId, require.ElementsMatch(t, []string{rcData[0].RemoteId, rcData[1].RemoteId, rcData[2].RemoteId, rcData[3].RemoteId,
@@ -439,7 +439,7 @@ func testRemoteClusterGetByTopic(t *testing.T, ss store.Store) {
} }
for _, item := range rcData { for _, item := range rcData {
_, err := ss.RemoteCluster().Save(item) _, err := ss.RemoteCluster().Save(item)
require.Nil(t, err) require.NoError(t, err)
} }
testData := []struct { testData := []struct {
@@ -481,7 +481,7 @@ func testRemoteClusterUpdateTopics(t *testing.T, ss store.Store) {
} }
_, err := ss.RemoteCluster().Save(rc) _, err := ss.RemoteCluster().Save(rc)
require.Nil(t, err) require.NoError(t, err)
testData := []struct { testData := []struct {
topics string topics string

Просмотреть файл

@@ -46,7 +46,7 @@ func TestSharedChannelStore(t *testing.T, ss store.Store, s SqlStore) {
func testSaveSharedChannel(t *testing.T, ss store.Store) { func testSaveSharedChannel(t *testing.T, ss store.Store) {
t.Run("Save shared channel (home)", func(t *testing.T) { t.Run("Save shared channel (home)", func(t *testing.T) {
channel, err := createTestChannel(ss, "test_save") channel, err := createTestChannel(ss, "test_save")
require.Nil(t, err) require.NoError(t, err)
sc := &model.SharedChannel{ sc := &model.SharedChannel{
ChannelId: channel.Id, ChannelId: channel.Id,
@@ -71,7 +71,7 @@ func testSaveSharedChannel(t *testing.T, ss store.Store) {
t.Run("Save shared channel (remote)", func(t *testing.T) { t.Run("Save shared channel (remote)", func(t *testing.T) {
channel, err := createTestChannel(ss, "test_save2") channel, err := createTestChannel(ss, "test_save2")
require.Nil(t, err) require.NoError(t, err)
sc := &model.SharedChannel{ sc := &model.SharedChannel{
ChannelId: channel.Id, ChannelId: channel.Id,
@@ -82,7 +82,7 @@ func testSaveSharedChannel(t *testing.T, ss store.Store) {
} }
scSaved, err := ss.SharedChannel().Save(sc) scSaved, err := ss.SharedChannel().Save(sc)
require.Nil(t, err, "couldn't save shared channel", err) require.NoError(t, err, "couldn't save shared channel", err)
require.Equal(t, sc.ChannelId, scSaved.ChannelId) require.Equal(t, sc.ChannelId, scSaved.ChannelId)
require.Equal(t, sc.TeamId, scSaved.TeamId) require.Equal(t, sc.TeamId, scSaved.TeamId)
@@ -104,7 +104,7 @@ func testSaveSharedChannel(t *testing.T, ss store.Store) {
} }
_, err := ss.SharedChannel().Save(sc) _, err := ss.SharedChannel().Save(sc)
require.NotNil(t, err, "should error saving invalid shared channel", err) require.Error(t, err, "should error saving invalid shared channel", err)
}) })
t.Run("Save with invalid channel id", func(t *testing.T) { t.Run("Save with invalid channel id", func(t *testing.T) {
@@ -123,7 +123,7 @@ func testSaveSharedChannel(t *testing.T, ss store.Store) {
func testGetSharedChannel(t *testing.T, ss store.Store) { func testGetSharedChannel(t *testing.T, ss store.Store) {
channel, err := createTestChannel(ss, "test_get") channel, err := createTestChannel(ss, "test_get")
require.Nil(t, err) require.NoError(t, err)
sc := &model.SharedChannel{ sc := &model.SharedChannel{
ChannelId: channel.Id, ChannelId: channel.Id,
@@ -134,11 +134,11 @@ func testGetSharedChannel(t *testing.T, ss store.Store) {
} }
scSaved, err := ss.SharedChannel().Save(sc) scSaved, err := ss.SharedChannel().Save(sc)
require.Nil(t, err, "couldn't save shared channel", err) require.NoError(t, err, "couldn't save shared channel", err)
t.Run("Get existing shared channel", func(t *testing.T) { t.Run("Get existing shared channel", func(t *testing.T) {
sc, err := ss.SharedChannel().Get(scSaved.ChannelId) sc, err := ss.SharedChannel().Get(scSaved.ChannelId)
require.Nil(t, err, "couldn't get shared channel", err) require.NoError(t, err, "couldn't get shared channel", err)
require.Equal(t, sc.ChannelId, scSaved.ChannelId) require.Equal(t, sc.ChannelId, scSaved.ChannelId)
require.Equal(t, sc.TeamId, scSaved.TeamId) require.Equal(t, sc.TeamId, scSaved.TeamId)
@@ -147,14 +147,14 @@ func testGetSharedChannel(t *testing.T, ss store.Store) {
t.Run("Get non-existent shared channel", func(t *testing.T) { t.Run("Get non-existent shared channel", func(t *testing.T) {
sc, err := ss.SharedChannel().Get(model.NewId()) sc, err := ss.SharedChannel().Get(model.NewId())
require.NotNil(t, err) require.Error(t, err)
require.Nil(t, sc) require.Nil(t, sc)
}) })
} }
func testHasSharedChannel(t *testing.T, ss store.Store) { func testHasSharedChannel(t *testing.T, ss store.Store) {
channel, err := createTestChannel(ss, "test_get") channel, err := createTestChannel(ss, "test_get")
require.Nil(t, err) require.NoError(t, err)
sc := &model.SharedChannel{ sc := &model.SharedChannel{
ChannelId: channel.Id, ChannelId: channel.Id,
@@ -202,12 +202,12 @@ func testGetSharedChannels(t *testing.T, ss store.Store) {
for i, sc := range data { for i, sc := range data {
channel, err := createTestChannel(ss, "test_get2_"+strconv.Itoa(i)) channel, err := createTestChannel(ss, "test_get2_"+strconv.Itoa(i))
require.Nil(t, err) require.NoError(t, err)
sc.ChannelId = channel.Id sc.ChannelId = channel.Id
_, err = ss.SharedChannel().Save(&sc) _, err = ss.SharedChannel().Save(&sc)
require.Nil(t, err, "error saving shared channel") require.NoError(t, err, "error saving shared channel")
} }
t.Run("Get shared channels home only", func(t *testing.T) { t.Run("Get shared channels home only", func(t *testing.T) {
@@ -217,10 +217,10 @@ func testGetSharedChannels(t *testing.T, ss store.Store) {
} }
count, err := ss.SharedChannel().GetAllCount(opts) count, err := ss.SharedChannel().GetAllCount(opts)
require.Nil(t, err, "error getting shared channels count") require.NoError(t, err, "error getting shared channels count")
home, err := ss.SharedChannel().GetAll(0, 100, opts) home, err := ss.SharedChannel().GetAll(0, 100, opts)
require.Nil(t, err, "error getting shared channels") require.NoError(t, err, "error getting shared channels")
require.Equal(t, int(count), len(home)) require.Equal(t, int(count), len(home))
require.Len(t, home, 5, "should be 5 home channels") require.Len(t, home, 5, "should be 5 home channels")
@@ -235,10 +235,10 @@ func testGetSharedChannels(t *testing.T, ss store.Store) {
} }
count, err := ss.SharedChannel().GetAllCount(opts) count, err := ss.SharedChannel().GetAllCount(opts)
require.Nil(t, err, "error getting shared channels count") require.NoError(t, err, "error getting shared channels count")
remotes, err := ss.SharedChannel().GetAll(0, 100, opts) remotes, err := ss.SharedChannel().GetAll(0, 100, opts)
require.Nil(t, err, "error getting shared channels") require.NoError(t, err, "error getting shared channels")
require.Equal(t, int(count), len(remotes)) require.Equal(t, int(count), len(remotes))
require.Len(t, remotes, 4, "should be 4 remote channels") require.Len(t, remotes, 4, "should be 4 remote channels")
@@ -253,7 +253,7 @@ func testGetSharedChannels(t *testing.T, ss store.Store) {
ExcludeRemote: true, ExcludeRemote: true,
} }
_, err := ss.SharedChannel().GetAll(0, 100, opts) _, err := ss.SharedChannel().GetAll(0, 100, opts)
require.NotNil(t, err, "error expected") require.Error(t, err, "error expected")
}) })
t.Run("Get shared channels by team", func(t *testing.T) { t.Run("Get shared channels by team", func(t *testing.T) {
@@ -262,10 +262,10 @@ func testGetSharedChannels(t *testing.T, ss store.Store) {
} }
count, err := ss.SharedChannel().GetAllCount(opts) count, err := ss.SharedChannel().GetAllCount(opts)
require.Nil(t, err, "error getting shared channels count") require.NoError(t, err, "error getting shared channels count")
remotes, err := ss.SharedChannel().GetAll(0, 100, opts) remotes, err := ss.SharedChannel().GetAll(0, 100, opts)
require.Nil(t, err, "error getting shared channels") require.NoError(t, err, "error getting shared channels")
require.Equal(t, int(count), len(remotes)) require.Equal(t, int(count), len(remotes))
require.Len(t, remotes, 4, "should be 4 matching channels") require.Len(t, remotes, 4, "should be 4 matching channels")
@@ -280,16 +280,16 @@ func testGetSharedChannels(t *testing.T, ss store.Store) {
} }
_, err := ss.SharedChannel().GetAll(-1, 100, opts) _, err := ss.SharedChannel().GetAll(-1, 100, opts)
require.NotNil(t, err) require.Error(t, err)
_, err = ss.SharedChannel().GetAll(0, -100, opts) _, err = ss.SharedChannel().GetAll(0, -100, opts)
require.NotNil(t, err) require.Error(t, err)
}) })
} }
func testUpdateSharedChannel(t *testing.T, ss store.Store) { func testUpdateSharedChannel(t *testing.T, ss store.Store) {
channel, err := createTestChannel(ss, "test_update") channel, err := createTestChannel(ss, "test_update")
require.Nil(t, err) require.NoError(t, err)
sc := &model.SharedChannel{ sc := &model.SharedChannel{
ChannelId: channel.Id, ChannelId: channel.Id,
@@ -300,7 +300,7 @@ func testUpdateSharedChannel(t *testing.T, ss store.Store) {
} }
scSaved, err := ss.SharedChannel().Save(sc) scSaved, err := ss.SharedChannel().Save(sc)
require.Nil(t, err, "couldn't save shared channel", err) require.NoError(t, err, "couldn't save shared channel", err)
t.Run("Update existing shared channel", func(t *testing.T) { t.Run("Update existing shared channel", func(t *testing.T) {
id := model.NewId() id := model.NewId()
@@ -311,7 +311,7 @@ func testUpdateSharedChannel(t *testing.T, ss store.Store) {
scMod.RemoteId = id scMod.RemoteId = id
scUpdated, err := ss.SharedChannel().Update(scMod) scUpdated, err := ss.SharedChannel().Update(scMod)
require.Nil(t, err, "couldn't update shared channel", err) require.NoError(t, err, "couldn't update shared channel", err)
require.Equal(t, "newname", scUpdated.ShareName) require.Equal(t, "newname", scUpdated.ShareName)
require.Equal(t, "For testing", scUpdated.ShareDisplayName) require.Equal(t, "For testing", scUpdated.ShareDisplayName)
@@ -327,13 +327,13 @@ func testUpdateSharedChannel(t *testing.T, ss store.Store) {
ShareName: "missingshare", ShareName: "missingshare",
} }
_, err := ss.SharedChannel().Update(sc) _, err := ss.SharedChannel().Update(sc)
require.NotNil(t, err, "should error when updating non-existent shared channel", err) require.Error(t, err, "should error when updating non-existent shared channel", err)
}) })
} }
func testDeleteSharedChannel(t *testing.T, ss store.Store) { func testDeleteSharedChannel(t *testing.T, ss store.Store) {
channel, err := createTestChannel(ss, "test_delete") channel, err := createTestChannel(ss, "test_delete")
require.Nil(t, err) require.NoError(t, err)
sc := &model.SharedChannel{ sc := &model.SharedChannel{
ChannelId: channel.Id, ChannelId: channel.Id,
@@ -344,7 +344,7 @@ func testDeleteSharedChannel(t *testing.T, ss store.Store) {
} }
_, err = ss.SharedChannel().Save(sc) _, err = ss.SharedChannel().Save(sc)
require.Nil(t, err, "couldn't save shared channel", err) require.NoError(t, err, "couldn't save shared channel", err)
// add some remotes // add some remotes
for i := 0; i < 10; i++ { for i := 0; i < 10; i++ {
@@ -355,21 +355,21 @@ func testDeleteSharedChannel(t *testing.T, ss store.Store) {
RemoteId: model.NewId(), RemoteId: model.NewId(),
} }
_, err := ss.SharedChannel().SaveRemote(remote) _, err := ss.SharedChannel().SaveRemote(remote)
require.Nil(t, err, "couldn't add remote", err) require.NoError(t, err, "couldn't add remote", err)
} }
t.Run("Delete existing shared channel", func(t *testing.T) { t.Run("Delete existing shared channel", func(t *testing.T) {
deleted, err := ss.SharedChannel().Delete(channel.Id) deleted, err := ss.SharedChannel().Delete(channel.Id)
require.Nil(t, err, "delete existing shared channel should not error", err) require.NoError(t, err, "delete existing shared channel should not error", err)
require.True(t, deleted, "expected true from delete shared channel") require.True(t, deleted, "expected true from delete shared channel")
sc, err := ss.SharedChannel().Get(channel.Id) sc, err := ss.SharedChannel().Get(channel.Id)
require.NotNil(t, err) require.Error(t, err)
require.Nil(t, sc) require.Nil(t, sc)
// make sure the remotes were deleted. // make sure the remotes were deleted.
remotes, err := ss.SharedChannel().GetRemotes(model.SharedChannelRemoteFilterOpts{ChannelId: channel.Id}) remotes, err := ss.SharedChannel().GetRemotes(model.SharedChannelRemoteFilterOpts{ChannelId: channel.Id})
require.Nil(t, err) require.NoError(t, err)
require.Len(t, remotes, 0, "expected empty remotes list") require.Len(t, remotes, 0, "expected empty remotes list")
// ensure channel's Shared flag is unset // ensure channel's Shared flag is unset
@@ -380,7 +380,7 @@ func testDeleteSharedChannel(t *testing.T, ss store.Store) {
t.Run("Delete non-existent shared channel", func(t *testing.T) { t.Run("Delete non-existent shared channel", func(t *testing.T) {
deleted, err := ss.SharedChannel().Delete(model.NewId()) deleted, err := ss.SharedChannel().Delete(model.NewId())
require.Nil(t, err, "delete non-existent shared channel should not error", err) require.NoError(t, err, "delete non-existent shared channel should not error", err)
require.False(t, deleted, "expected false from delete shared channel") require.False(t, deleted, "expected false from delete shared channel")
}) })
} }
@@ -388,7 +388,7 @@ func testDeleteSharedChannel(t *testing.T, ss store.Store) {
func testSaveSharedChannelRemote(t *testing.T, ss store.Store) { func testSaveSharedChannelRemote(t *testing.T, ss store.Store) {
t.Run("Save shared channel remote", func(t *testing.T) { t.Run("Save shared channel remote", func(t *testing.T) {
channel, err := createTestChannel(ss, "test_save_remote") channel, err := createTestChannel(ss, "test_save_remote")
require.Nil(t, err) require.NoError(t, err)
remote := &model.SharedChannelRemote{ remote := &model.SharedChannelRemote{
ChannelId: channel.Id, ChannelId: channel.Id,
@@ -398,7 +398,7 @@ func testSaveSharedChannelRemote(t *testing.T, ss store.Store) {
} }
remoteSaved, err := ss.SharedChannel().SaveRemote(remote) remoteSaved, err := ss.SharedChannel().SaveRemote(remote)
require.Nil(t, err, "couldn't save shared channel remote", err) require.NoError(t, err, "couldn't save shared channel remote", err)
require.Equal(t, remote.ChannelId, remoteSaved.ChannelId) require.Equal(t, remote.ChannelId, remoteSaved.ChannelId)
require.Equal(t, remote.CreatorId, remoteSaved.CreatorId) require.Equal(t, remote.CreatorId, remoteSaved.CreatorId)
@@ -413,7 +413,7 @@ func testSaveSharedChannelRemote(t *testing.T, ss store.Store) {
} }
_, err := ss.SharedChannel().SaveRemote(remote) _, err := ss.SharedChannel().SaveRemote(remote)
require.NotNil(t, err, "should error saving invalid remote", err) require.Error(t, err, "should error saving invalid remote", err)
}) })
t.Run("Save shared channel remote with invalid channel id", func(t *testing.T) { t.Run("Save shared channel remote with invalid channel id", func(t *testing.T) {
@@ -432,7 +432,7 @@ func testSaveSharedChannelRemote(t *testing.T, ss store.Store) {
func testUpdateSharedChannelRemote(t *testing.T, ss store.Store) { func testUpdateSharedChannelRemote(t *testing.T, ss store.Store) {
t.Run("Update shared channel remote", func(t *testing.T) { t.Run("Update shared channel remote", func(t *testing.T) {
channel, err := createTestChannel(ss, "test_update_remote") channel, err := createTestChannel(ss, "test_update_remote")
require.Nil(t, err) require.NoError(t, err)
remote := &model.SharedChannelRemote{ remote := &model.SharedChannelRemote{
ChannelId: channel.Id, ChannelId: channel.Id,
@@ -442,14 +442,14 @@ func testUpdateSharedChannelRemote(t *testing.T, ss store.Store) {
} }
remoteSaved, err := ss.SharedChannel().SaveRemote(remote) remoteSaved, err := ss.SharedChannel().SaveRemote(remote)
require.Nil(t, err, "couldn't save shared channel remote", err) require.NoError(t, err, "couldn't save shared channel remote", err)
remoteSaved.IsInviteAccepted = true remoteSaved.IsInviteAccepted = true
remoteSaved.IsInviteConfirmed = true remoteSaved.IsInviteConfirmed = true
remoteSaved.Description = "new_desc" remoteSaved.Description = "new_desc"
remoteUpdated, err := ss.SharedChannel().UpdateRemote(remoteSaved) remoteUpdated, err := ss.SharedChannel().UpdateRemote(remoteSaved)
require.Nil(t, err, "couldn't update shared channel remote", err) require.NoError(t, err, "couldn't update shared channel remote", err)
require.Equal(t, true, remoteUpdated.IsInviteAccepted) require.Equal(t, true, remoteUpdated.IsInviteAccepted)
require.Equal(t, true, remoteUpdated.IsInviteConfirmed) require.Equal(t, true, remoteUpdated.IsInviteConfirmed)
@@ -465,7 +465,7 @@ func testUpdateSharedChannelRemote(t *testing.T, ss store.Store) {
} }
_, err := ss.SharedChannel().UpdateRemote(remote) _, err := ss.SharedChannel().UpdateRemote(remote)
require.NotNil(t, err, "should error updating invalid remote", err) require.Error(t, err, "should error updating invalid remote", err)
}) })
t.Run("Update shared channel remote with invalid channel id", func(t *testing.T) { t.Run("Update shared channel remote with invalid channel id", func(t *testing.T) {
@@ -483,7 +483,7 @@ func testUpdateSharedChannelRemote(t *testing.T, ss store.Store) {
func testGetSharedChannelRemote(t *testing.T, ss store.Store) { func testGetSharedChannelRemote(t *testing.T, ss store.Store) {
channel, err := createTestChannel(ss, "test_remote_get") channel, err := createTestChannel(ss, "test_remote_get")
require.Nil(t, err) require.NoError(t, err)
remote := &model.SharedChannelRemote{ remote := &model.SharedChannelRemote{
ChannelId: channel.Id, ChannelId: channel.Id,
@@ -493,11 +493,11 @@ func testGetSharedChannelRemote(t *testing.T, ss store.Store) {
} }
remoteSaved, err := ss.SharedChannel().SaveRemote(remote) remoteSaved, err := ss.SharedChannel().SaveRemote(remote)
require.Nil(t, err, "couldn't save remote", err) require.NoError(t, err, "couldn't save remote", err)
t.Run("Get existing shared channel remote", func(t *testing.T) { t.Run("Get existing shared channel remote", func(t *testing.T) {
r, err := ss.SharedChannel().GetRemote(remoteSaved.Id) r, err := ss.SharedChannel().GetRemote(remoteSaved.Id)
require.Nil(t, err, "could not get shared channel remote", err) require.NoError(t, err, "could not get shared channel remote", err)
require.Equal(t, remoteSaved.Id, r.Id) require.Equal(t, remoteSaved.Id, r.Id)
require.Equal(t, remoteSaved.ChannelId, r.ChannelId) require.Equal(t, remoteSaved.ChannelId, r.ChannelId)
@@ -508,14 +508,14 @@ func testGetSharedChannelRemote(t *testing.T, ss store.Store) {
t.Run("Get non-existent shared channel remote", func(t *testing.T) { t.Run("Get non-existent shared channel remote", func(t *testing.T) {
r, err := ss.SharedChannel().GetRemote(model.NewId()) r, err := ss.SharedChannel().GetRemote(model.NewId())
require.NotNil(t, err) require.Error(t, err)
require.Nil(t, r) require.Nil(t, r)
}) })
} }
func testGetSharedChannelRemoteByIds(t *testing.T, ss store.Store) { func testGetSharedChannelRemoteByIds(t *testing.T, ss store.Store) {
channel, err := createTestChannel(ss, "test_remote_get_by_ids") channel, err := createTestChannel(ss, "test_remote_get_by_ids")
require.Nil(t, err) require.NoError(t, err)
remote := &model.SharedChannelRemote{ remote := &model.SharedChannelRemote{
ChannelId: channel.Id, ChannelId: channel.Id,
@@ -525,11 +525,11 @@ func testGetSharedChannelRemoteByIds(t *testing.T, ss store.Store) {
} }
remoteSaved, err := ss.SharedChannel().SaveRemote(remote) remoteSaved, err := ss.SharedChannel().SaveRemote(remote)
require.Nil(t, err, "could not save remote", err) require.NoError(t, err, "could not save remote", err)
t.Run("Get existing shared channel remote by ids", func(t *testing.T) { t.Run("Get existing shared channel remote by ids", func(t *testing.T) {
r, err := ss.SharedChannel().GetRemoteByIds(remoteSaved.ChannelId, remoteSaved.RemoteId) r, err := ss.SharedChannel().GetRemoteByIds(remoteSaved.ChannelId, remoteSaved.RemoteId)
require.Nil(t, err, "couldn't get shared channel remote by ids", err) require.NoError(t, err, "couldn't get shared channel remote by ids", err)
require.Equal(t, remoteSaved.Id, r.Id) require.Equal(t, remoteSaved.Id, r.Id)
require.Equal(t, remoteSaved.ChannelId, r.ChannelId) require.Equal(t, remoteSaved.ChannelId, r.ChannelId)
@@ -540,14 +540,14 @@ func testGetSharedChannelRemoteByIds(t *testing.T, ss store.Store) {
t.Run("Get non-existent shared channel remote by ids", func(t *testing.T) { t.Run("Get non-existent shared channel remote by ids", func(t *testing.T) {
r, err := ss.SharedChannel().GetRemoteByIds(model.NewId(), model.NewId()) r, err := ss.SharedChannel().GetRemoteByIds(model.NewId(), model.NewId())
require.NotNil(t, err) require.Error(t, err)
require.Nil(t, r) require.Nil(t, r)
}) })
} }
func testGetSharedChannelRemotes(t *testing.T, ss store.Store) { func testGetSharedChannelRemotes(t *testing.T, ss store.Store) {
channel, err := createTestChannel(ss, "test_remotes_get2") channel, err := createTestChannel(ss, "test_remotes_get2")
require.Nil(t, err) require.NoError(t, err)
creator := model.NewId() creator := model.NewId()
remoteId := model.NewId() remoteId := model.NewId()
@@ -564,11 +564,11 @@ func testGetSharedChannelRemotes(t *testing.T, ss store.Store) {
for i, r := range data { for i, r := range data {
if r.ChannelId == "" { if r.ChannelId == "" {
c, err := createTestChannel(ss, "test_remotes_get2_"+strconv.Itoa(i)) c, err := createTestChannel(ss, "test_remotes_get2_"+strconv.Itoa(i))
require.Nil(t, err) require.NoError(t, err)
r.ChannelId = c.Id r.ChannelId = c.Id
} }
_, err := ss.SharedChannel().SaveRemote(&r) _, err := ss.SharedChannel().SaveRemote(&r)
require.Nil(t, err, "error saving shared channel remote") require.NoError(t, err, "error saving shared channel remote")
} }
t.Run("Get shared channel remotes by channel_id", func(t *testing.T) { t.Run("Get shared channel remotes by channel_id", func(t *testing.T) {
@@ -576,7 +576,7 @@ func testGetSharedChannelRemotes(t *testing.T, ss store.Store) {
ChannelId: channel.Id, ChannelId: channel.Id,
} }
remotes, err := ss.SharedChannel().GetRemotes(opts) remotes, err := ss.SharedChannel().GetRemotes(opts)
require.Nil(t, err, "should not error", err) require.NoError(t, err, "should not error", err)
require.Len(t, remotes, 3) require.Len(t, remotes, 3)
for _, r := range remotes { for _, r := range remotes {
require.Contains(t, []string{"r1", "r2", "r3"}, r.Description) require.Contains(t, []string{"r1", "r2", "r3"}, r.Description)
@@ -588,7 +588,7 @@ func testGetSharedChannelRemotes(t *testing.T, ss store.Store) {
ChannelId: model.NewId(), ChannelId: model.NewId(),
} }
remotes, err := ss.SharedChannel().GetRemotes(opts) remotes, err := ss.SharedChannel().GetRemotes(opts)
require.Nil(t, err, "should not error", err) require.NoError(t, err, "should not error", err)
require.Len(t, remotes, 0) require.Len(t, remotes, 0)
}) })
@@ -597,7 +597,7 @@ func testGetSharedChannelRemotes(t *testing.T, ss store.Store) {
RemoteId: remoteId, RemoteId: remoteId,
} }
remotes, err := ss.SharedChannel().GetRemotes(opts) remotes, err := ss.SharedChannel().GetRemotes(opts)
require.Nil(t, err, "should not error", err) require.NoError(t, err, "should not error", err)
require.Len(t, remotes, 2) // only confirmed invitations require.Len(t, remotes, 2) // only confirmed invitations
for _, r := range remotes { for _, r := range remotes {
require.Contains(t, []string{"r4", "r5"}, r.Description) require.Contains(t, []string{"r4", "r5"}, r.Description)
@@ -609,7 +609,7 @@ func testGetSharedChannelRemotes(t *testing.T, ss store.Store) {
RemoteId: model.NewId(), RemoteId: model.NewId(),
} }
remotes, err := ss.SharedChannel().GetRemotes(opts) remotes, err := ss.SharedChannel().GetRemotes(opts)
require.Nil(t, err, "should not error", err) require.NoError(t, err, "should not error", err)
require.Len(t, remotes, 0) require.Len(t, remotes, 0)
}) })
@@ -619,7 +619,7 @@ func testGetSharedChannelRemotes(t *testing.T, ss store.Store) {
InclUnconfirmed: true, InclUnconfirmed: true,
} }
remotes, err := ss.SharedChannel().GetRemotes(opts) remotes, err := ss.SharedChannel().GetRemotes(opts)
require.Nil(t, err, "should not error", err) require.NoError(t, err, "should not error", err)
require.Len(t, remotes, 3) // only confirmed invitations require.Len(t, remotes, 3) // only confirmed invitations
for _, r := range remotes { for _, r := range remotes {
require.Contains(t, []string{"r4", "r5", "r6"}, r.Description) require.Contains(t, []string{"r4", "r5", "r6"}, r.Description)
@@ -629,7 +629,7 @@ func testGetSharedChannelRemotes(t *testing.T, ss store.Store) {
func testHasRemote(t *testing.T, ss store.Store) { func testHasRemote(t *testing.T, ss store.Store) {
channel, err := createTestChannel(ss, "test_remotes_get2") channel, err := createTestChannel(ss, "test_remotes_get2")
require.Nil(t, err) require.NoError(t, err)
remote1 := model.NewId() remote1 := model.NewId()
remote2 := model.NewId() remote2 := model.NewId()
@@ -642,7 +642,7 @@ func testHasRemote(t *testing.T, ss store.Store) {
for _, r := range data { for _, r := range data {
_, err := ss.SharedChannel().SaveRemote(&r) _, err := ss.SharedChannel().SaveRemote(&r)
require.Nil(t, err, "error saving shared channel remote") require.NoError(t, err, "error saving shared channel remote")
} }
t.Run("has remote", func(t *testing.T) { t.Run("has remote", func(t *testing.T) {
@@ -744,7 +744,7 @@ func testUpdateSharedChannelRemoteNextSyncAt(t *testing.T, ss store.Store) {
t.Run("Update NextSyncAt for remote", func(t *testing.T) { t.Run("Update NextSyncAt for remote", func(t *testing.T) {
err := ss.SharedChannel().UpdateRemoteNextSyncAt(remoteSaved.Id, future) err := ss.SharedChannel().UpdateRemoteNextSyncAt(remoteSaved.Id, future)
require.Nil(t, err, "update NextSyncAt should not error", err) require.NoError(t, err, "update NextSyncAt should not error", err)
r, err := ss.SharedChannel().GetRemote(remoteSaved.Id) r, err := ss.SharedChannel().GetRemote(remoteSaved.Id)
require.NoError(t, err) require.NoError(t, err)
@@ -769,21 +769,21 @@ func testDeleteSharedChannelRemote(t *testing.T, ss store.Store) {
} }
remoteSaved, err := ss.SharedChannel().SaveRemote(remote) remoteSaved, err := ss.SharedChannel().SaveRemote(remote)
require.Nil(t, err, "couldn't save remote", err) require.NoError(t, err, "couldn't save remote", err)
t.Run("Delete existing shared channel remote", func(t *testing.T) { t.Run("Delete existing shared channel remote", func(t *testing.T) {
deleted, err := ss.SharedChannel().DeleteRemote(remoteSaved.Id) deleted, err := ss.SharedChannel().DeleteRemote(remoteSaved.Id)
require.Nil(t, err, "delete existing remote should not error", err) require.NoError(t, err, "delete existing remote should not error", err)
require.True(t, deleted, "expected true from delete remote") require.True(t, deleted, "expected true from delete remote")
r, err := ss.SharedChannel().GetRemote(remoteSaved.Id) r, err := ss.SharedChannel().GetRemote(remoteSaved.Id)
require.NotNil(t, err) require.Error(t, err)
require.Nil(t, r) require.Nil(t, r)
}) })
t.Run("Delete non-existent shared channel remote", func(t *testing.T) { t.Run("Delete non-existent shared channel remote", func(t *testing.T) {
deleted, err := ss.SharedChannel().DeleteRemote(model.NewId()) deleted, err := ss.SharedChannel().DeleteRemote(model.NewId())
require.Nil(t, err, "delete non-existent remote should not error", err) require.NoError(t, err, "delete non-existent remote should not error", err)
require.False(t, deleted, "expected false from delete remote") require.False(t, deleted, "expected false from delete remote")
}) })
} }
@@ -848,7 +848,7 @@ func testSaveSharedChannelUser(t *testing.T, ss store.Store) {
} }
userSaved, err := ss.SharedChannel().SaveUser(scUser) userSaved, err := ss.SharedChannel().SaveUser(scUser)
require.Nil(t, err, "couldn't save shared channel user", err) require.NoError(t, err, "couldn't save shared channel user", err)
require.Equal(t, scUser.UserId, userSaved.UserId) require.Equal(t, scUser.UserId, userSaved.UserId)
require.Equal(t, scUser.RemoteId, userSaved.RemoteId) require.Equal(t, scUser.RemoteId, userSaved.RemoteId)
@@ -861,7 +861,7 @@ func testSaveSharedChannelUser(t *testing.T, ss store.Store) {
} }
_, err := ss.SharedChannel().SaveUser(scUser) _, err := ss.SharedChannel().SaveUser(scUser)
require.NotNil(t, err, "should error saving invalid user", err) require.Error(t, err, "should error saving invalid user", err)
}) })
t.Run("Save shared channel user with invalid remote id", func(t *testing.T) { t.Run("Save shared channel user with invalid remote id", func(t *testing.T) {
@@ -882,11 +882,11 @@ func testGetSharedChannelUser(t *testing.T, ss store.Store) {
} }
userSaved, err := ss.SharedChannel().SaveUser(scUser) userSaved, err := ss.SharedChannel().SaveUser(scUser)
require.Nil(t, err, "could not save user", err) require.NoError(t, err, "could not save user", err)
t.Run("Get existing shared channel user", func(t *testing.T) { t.Run("Get existing shared channel user", func(t *testing.T) {
r, err := ss.SharedChannel().GetUser(userSaved.UserId, userSaved.RemoteId) r, err := ss.SharedChannel().GetUser(userSaved.UserId, userSaved.RemoteId)
require.Nil(t, err, "couldn't get shared channel user", err) require.NoError(t, err, "couldn't get shared channel user", err)
require.Equal(t, userSaved.Id, r.Id) require.Equal(t, userSaved.Id, r.Id)
require.Equal(t, userSaved.UserId, r.UserId) require.Equal(t, userSaved.UserId, r.UserId)
@@ -896,7 +896,7 @@ func testGetSharedChannelUser(t *testing.T, ss store.Store) {
t.Run("Get non-existent shared channel user", func(t *testing.T) { t.Run("Get non-existent shared channel user", func(t *testing.T) {
u, err := ss.SharedChannel().GetUser(model.NewId(), model.NewId()) u, err := ss.SharedChannel().GetUser(model.NewId(), model.NewId())
require.NotNil(t, err) require.Error(t, err)
require.Nil(t, u) require.Nil(t, u)
}) })
} }
@@ -914,7 +914,7 @@ func testUpdateSharedChannelUserLastSyncAt(t *testing.T, ss store.Store) {
t.Run("Update LastSyncAt for user", func(t *testing.T) { t.Run("Update LastSyncAt for user", func(t *testing.T) {
err := ss.SharedChannel().UpdateUserLastSyncAt(userSaved.Id, future) err := ss.SharedChannel().UpdateUserLastSyncAt(userSaved.Id, future)
require.Nil(t, err, "updateLastSyncAt should not error", err) require.NoError(t, err, "updateLastSyncAt should not error", err)
u, err := ss.SharedChannel().GetUser(userSaved.UserId, userSaved.RemoteId) u, err := ss.SharedChannel().GetUser(userSaved.UserId, userSaved.RemoteId)
require.NoError(t, err) require.NoError(t, err)
@@ -935,7 +935,7 @@ func testSaveSharedChannelAttachment(t *testing.T, ss store.Store) {
} }
saved, err := ss.SharedChannel().SaveAttachment(attachment) saved, err := ss.SharedChannel().SaveAttachment(attachment)
require.Nil(t, err, "couldn't save shared channel attachment", err) require.NoError(t, err, "couldn't save shared channel attachment", err)
require.Equal(t, attachment.FileId, saved.FileId) require.Equal(t, attachment.FileId, saved.FileId)
require.Equal(t, attachment.RemoteId, saved.RemoteId) require.Equal(t, attachment.RemoteId, saved.RemoteId)
@@ -948,7 +948,7 @@ func testSaveSharedChannelAttachment(t *testing.T, ss store.Store) {
} }
_, err := ss.SharedChannel().SaveAttachment(attachment) _, err := ss.SharedChannel().SaveAttachment(attachment)
require.NotNil(t, err, "should error saving invalid attachment", err) require.Error(t, err, "should error saving invalid attachment", err)
}) })
t.Run("Save shared channel attachment with invalid remote id", func(t *testing.T) { t.Run("Save shared channel attachment with invalid remote id", func(t *testing.T) {
@@ -986,7 +986,7 @@ func testUpsertSharedChannelAttachment(t *testing.T, ss store.Store) {
} }
saved, err := ss.SharedChannel().SaveAttachment(attachment) saved, err := ss.SharedChannel().SaveAttachment(attachment)
require.Nil(t, err, "couldn't save shared channel attachment", err) require.NoError(t, err, "couldn't save shared channel attachment", err)
// make sure enough time passed that GetMillis returns a different value // make sure enough time passed that GetMillis returns a different value
time.Sleep(1 * time.Millisecond) time.Sleep(1 * time.Millisecond)
@@ -1008,7 +1008,7 @@ func testUpsertSharedChannelAttachment(t *testing.T, ss store.Store) {
} }
id, err := ss.SharedChannel().UpsertAttachment(attachment) id, err := ss.SharedChannel().UpsertAttachment(attachment)
require.NotNil(t, err, "should error upserting invalid attachment", err) require.Error(t, err, "should error upserting invalid attachment", err)
require.Empty(t, id) require.Empty(t, id)
}) })
@@ -1031,11 +1031,11 @@ func testGetSharedChannelAttachment(t *testing.T, ss store.Store) {
} }
saved, err := ss.SharedChannel().SaveAttachment(attachment) saved, err := ss.SharedChannel().SaveAttachment(attachment)
require.Nil(t, err, "could not save attachment", err) require.NoError(t, err, "could not save attachment", err)
t.Run("Get existing shared channel attachment", func(t *testing.T) { t.Run("Get existing shared channel attachment", func(t *testing.T) {
r, err := ss.SharedChannel().GetAttachment(saved.FileId, saved.RemoteId) r, err := ss.SharedChannel().GetAttachment(saved.FileId, saved.RemoteId)
require.Nil(t, err, "couldn't get shared channel attachment", err) require.NoError(t, err, "couldn't get shared channel attachment", err)
require.Equal(t, saved.Id, r.Id) require.Equal(t, saved.Id, r.Id)
require.Equal(t, saved.FileId, r.FileId) require.Equal(t, saved.FileId, r.FileId)
@@ -1045,7 +1045,7 @@ func testGetSharedChannelAttachment(t *testing.T, ss store.Store) {
t.Run("Get non-existent shared channel attachment", func(t *testing.T) { t.Run("Get non-existent shared channel attachment", func(t *testing.T) {
u, err := ss.SharedChannel().GetAttachment(model.NewId(), model.NewId()) u, err := ss.SharedChannel().GetAttachment(model.NewId(), model.NewId())
require.NotNil(t, err) require.Error(t, err)
require.Nil(t, u) require.Nil(t, u)
}) })
} }
@@ -1063,7 +1063,7 @@ func testUpdateSharedChannelAttachmentLastSyncAt(t *testing.T, ss store.Store) {
t.Run("Update LastSyncAt for attachment", func(t *testing.T) { t.Run("Update LastSyncAt for attachment", func(t *testing.T) {
err := ss.SharedChannel().UpdateAttachmentLastSyncAt(saved.Id, future) err := ss.SharedChannel().UpdateAttachmentLastSyncAt(saved.Id, future)
require.Nil(t, err, "updateLastSyncAt should not error", err) require.NoError(t, err, "updateLastSyncAt should not error", err)
f, err := ss.SharedChannel().GetAttachment(saved.FileId, saved.RemoteId) f, err := ss.SharedChannel().GetAttachment(saved.FileId, saved.RemoteId)
require.NoError(t, err) require.NoError(t, err)