Replacing require.nil in api layer (#16906)

* Replacing require.nil in api layer

* Fixing some tests

* Fixing tests

* Addressing PR review comments

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Этот коммит содержится в:
Jesús Espino
2021-02-17 09:52:18 +01:00
коммит произвёл GitHub
родитель 9992a27a90
Коммит 31a80a5351
22 изменённых файлов: 226 добавлений и 227 удалений

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

@@ -1231,10 +1231,10 @@ func TestSetBotIconImage(t *testing.T) {
defer th.App.PermanentDeleteBot(bot.UserId)
badData, err := testutils.ReadTestFile("test.png")
require.Nil(t, err)
require.NoError(t, err)
goodData, err := testutils.ReadTestFile("test.svg")
require.Nil(t, err)
require.NoError(t, err)
// SetBotIconImage only allowed for bots
_, resp = th.SystemAdminClient.SetBotIconImage(user.Id, goodData)
@@ -1268,14 +1268,14 @@ func TestSetBotIconImage(t *testing.T) {
CheckNoError(t, resp)
fpath := fmt.Sprintf("/bots/%v/icon.svg", bot.UserId)
actualData, err := th.App.ReadFile(fpath)
require.Nil(t, err)
actualData, appErr := th.App.ReadFile(fpath)
require.Nil(t, appErr)
require.NotNil(t, actualData)
require.Equal(t, goodData, actualData)
info := &model.FileInfo{Path: fpath}
err = th.cleanupTestFile(info)
require.Nil(t, err)
require.NoError(t, err)
}
func TestGetBotIconImage(t *testing.T) {
@@ -1315,8 +1315,8 @@ func TestGetBotIconImage(t *testing.T) {
svgFile.Seek(0, 0)
fpath := fmt.Sprintf("/bots/%v/icon.svg", bot.UserId)
_, err = th.App.WriteFile(svgFile, fpath)
require.Nil(t, err)
_, appErr := th.App.WriteFile(svgFile, fpath)
require.Nil(t, appErr)
data, resp = th.Client.GetBotIconImage(bot.UserId)
CheckNoError(t, resp)
@@ -1337,7 +1337,7 @@ func TestGetBotIconImage(t *testing.T) {
info := &model.FileInfo{Path: "/bots/" + bot.UserId + "/icon.svg"}
err = th.cleanupTestFile(info)
require.Nil(t, err)
require.NoError(t, err)
}
func TestDeleteBotIconImage(t *testing.T) {
@@ -1368,14 +1368,14 @@ func TestDeleteBotIconImage(t *testing.T) {
// Set an icon image
svgData, err := testutils.ReadTestFile("test.svg")
require.Nil(t, err)
require.NoError(t, err)
_, resp = th.Client.SetBotIconImage(bot.UserId, svgData)
CheckNoError(t, resp)
fpath := fmt.Sprintf("/bots/%v/icon.svg", bot.UserId)
exists, err := th.App.FileExists(fpath)
require.Nil(t, err)
exists, appErr := th.App.FileExists(fpath)
require.Nil(t, appErr)
require.True(t, exists, "icon.svg needs to exist for the user")
data, resp = th.Client.GetBotIconImage(bot.UserId)
@@ -1399,8 +1399,8 @@ func TestDeleteBotIconImage(t *testing.T) {
CheckUnauthorizedStatus(t, resp)
require.False(t, success)
exists, err = th.App.FileExists(fpath)
require.Nil(t, err)
exists, appErr = th.App.FileExists(fpath)
require.Nil(t, appErr)
require.False(t, exists, "icon.svg should not for the user")
}

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

@@ -34,7 +34,7 @@ func TestUploadBrandImage(t *testing.T) {
Client := th.Client
data, err := testutils.ReadTestFile("test.png")
require.Nil(t, err)
require.NoError(t, err)
_, resp := Client.UploadBrandImage(data)
CheckForbiddenStatus(t, resp)
@@ -60,7 +60,7 @@ func TestDeleteBrandImage(t *testing.T) {
defer th.TearDown()
data, err := testutils.ReadTestFile("test.png")
require.Nil(t, err)
require.NoError(t, err)
_, resp := th.SystemAdminClient.UploadBrandImage(data)
CheckCreatedStatus(t, resp)

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

@@ -546,7 +546,7 @@ func TestGetCommand(t *testing.T) {
t.Run("InvalidId", func(t *testing.T) {
_, resp := client.GetCommandById(strings.Repeat("z", len(newCmd.Id)))
require.Error(t, resp.Error)
require.NotNil(t, resp.Error)
})
})
t.Run("UserWithNoPermissionForCustomCommands", func(t *testing.T) {

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

@@ -129,7 +129,7 @@ func TestCreateEmoji(t *testing.T) {
}
newEmoji, resp = Client.CreateEmoji(emoji, utils.CreateTestGif(t, 10, app.MaxEmojiOriginalWidth+1), "image.gif")
require.Error(t, resp.Error, "should fail - emoji is too wide")
require.NotNil(t, resp.Error, "should fail - emoji is too wide")
// try to create an emoji that's too tall
emoji = &model.Emoji{
@@ -138,7 +138,7 @@ func TestCreateEmoji(t *testing.T) {
}
newEmoji, resp = Client.CreateEmoji(emoji, utils.CreateTestGif(t, app.MaxEmojiOriginalHeight+1, 10), "image.gif")
require.Error(t, resp.Error, "should fail - emoji is too tall")
require.NotNil(t, resp.Error, "should fail - emoji is too tall")
// try to create an emoji that's too large
emoji = &model.Emoji{
@@ -147,7 +147,7 @@ func TestCreateEmoji(t *testing.T) {
}
_, resp = Client.CreateEmoji(emoji, utils.CreateTestAnimatedGif(t, 100, 100, 10000), "image.gif")
require.Error(t, resp.Error, "should fail - emoji is too big")
require.NotNil(t, resp.Error, "should fail - emoji is too big")
// try to create an emoji with data that isn't an image
emoji = &model.Emoji{
@@ -290,7 +290,7 @@ func TestDeleteEmoji(t *testing.T) {
_, resp = Client.GetEmoji(newEmoji.Id)
require.NotNil(t, resp, "nil response")
require.Error(t, resp.Error, "expected error fetching deleted emoji")
require.NotNil(t, resp.Error, "expected error fetching deleted emoji")
//Admin can delete other users emoji
newEmoji, resp = Client.CreateEmoji(emoji, utils.CreateTestGif(t, 10, 10), "image.gif")
@@ -302,7 +302,7 @@ func TestDeleteEmoji(t *testing.T) {
_, resp = th.SystemAdminClient.GetEmoji(newEmoji.Id)
require.NotNil(t, resp, "nil response")
require.Error(t, resp.Error, "expected error fetching deleted emoji")
require.NotNil(t, resp.Error, "expected error fetching deleted emoji")
// Try to delete just deleted emoji
_, resp = Client.DeleteEmoji(newEmoji.Id)

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

@@ -23,7 +23,7 @@ func TestListExports(t *testing.T) {
t.Run("no permissions", func(t *testing.T) {
exports, resp := th.Client.ListExports()
require.Error(t, resp.Error)
require.NotNil(t, resp.Error)
require.Equal(t, "api.context.permissions.app_error", resp.Error.Id)
require.Nil(t, exports)
})
@@ -40,11 +40,11 @@ func TestListExports(t *testing.T) {
th.TestForSystemAdminAndLocal(t, func(t *testing.T, c *model.Client4) {
exportDir := filepath.Join(dataDir, *th.App.Config().ExportSettings.Directory)
err := os.Mkdir(exportDir, 0700)
require.Nil(t, err)
require.NoError(t, err)
defer os.RemoveAll(exportDir)
f, err := os.Create(filepath.Join(exportDir, "export.zip"))
require.Nil(t, err)
require.NoError(t, err)
f.Close()
exports, resp := c.ListExports()
@@ -60,7 +60,7 @@ func TestListExports(t *testing.T) {
exportDir := filepath.Join(dataDir, value+"new")
err := os.Mkdir(exportDir, 0700)
require.Nil(t, err)
require.NoError(t, err)
defer os.RemoveAll(exportDir)
exports, resp := c.ListExports()
@@ -68,7 +68,7 @@ func TestListExports(t *testing.T) {
require.Empty(t, exports)
f, err := os.Create(filepath.Join(exportDir, "export.zip"))
require.Nil(t, err)
require.NoError(t, err)
f.Close()
exports, resp = c.ListExports()
@@ -84,7 +84,7 @@ func TestDeleteExport(t *testing.T) {
t.Run("no permissions", func(t *testing.T) {
ok, resp := th.Client.DeleteExport("export.zip")
require.Error(t, resp.Error)
require.NotNil(t, resp.Error)
require.Equal(t, "api.context.permissions.app_error", resp.Error.Id)
require.False(t, ok)
})
@@ -95,11 +95,11 @@ func TestDeleteExport(t *testing.T) {
th.TestForSystemAdminAndLocal(t, func(t *testing.T, c *model.Client4) {
err := os.Mkdir(exportDir, 0700)
require.Nil(t, err)
require.NoError(t, err)
defer os.RemoveAll(exportDir)
exportName := "export.zip"
f, err := os.Create(filepath.Join(exportDir, exportName))
require.Nil(t, err)
require.NoError(t, err)
f.Close()
exports, resp := c.ListExports()
@@ -129,7 +129,7 @@ func TestDownloadExport(t *testing.T) {
t.Run("no permissions", func(t *testing.T) {
var buf bytes.Buffer
n, resp := th.Client.DownloadExport("export.zip", &buf, 0)
require.Error(t, resp.Error)
require.NotNil(t, resp.Error)
require.Equal(t, "api.context.permissions.app_error", resp.Error.Id)
require.Zero(t, n)
})
@@ -141,21 +141,21 @@ func TestDownloadExport(t *testing.T) {
th.TestForSystemAdminAndLocal(t, func(t *testing.T, c *model.Client4) {
var buf bytes.Buffer
n, resp := c.DownloadExport("export.zip", &buf, 0)
require.Error(t, resp.Error)
require.NotNil(t, resp.Error)
require.Equal(t, "api.export.export_not_found.app_error", resp.Error.Id)
require.Zero(t, n)
}, "not found")
th.TestForSystemAdminAndLocal(t, func(t *testing.T, c *model.Client4) {
err := os.Mkdir(exportDir, 0700)
require.Nil(t, err)
require.NoError(t, err)
defer os.RemoveAll(exportDir)
data := randomBytes(t, 1024*1024)
var buf bytes.Buffer
exportName := "export.zip"
err = ioutil.WriteFile(filepath.Join(exportDir, exportName), data, 0600)
require.Nil(t, err)
require.NoError(t, err)
n, resp := c.DownloadExport(exportName, &buf, 0)
require.Nil(t, resp.Error)
@@ -165,14 +165,14 @@ func TestDownloadExport(t *testing.T) {
th.TestForSystemAdminAndLocal(t, func(t *testing.T, c *model.Client4) {
err := os.Mkdir(exportDir, 0700)
require.Nil(t, err)
require.NoError(t, err)
defer os.RemoveAll(exportDir)
data := randomBytes(t, 1024*1024)
var buf bytes.Buffer
exportName := "export.zip"
err = ioutil.WriteFile(filepath.Join(exportDir, exportName), data, 0600)
require.Nil(t, err)
require.NoError(t, err)
offset := 1024 * 512
n, resp := c.DownloadExport(exportName, &buf, int64(offset))
@@ -191,16 +191,16 @@ func BenchmarkDownloadExport(b *testing.B) {
exportDir := filepath.Join(dataDir, *th.App.Config().ExportSettings.Directory)
err := os.Mkdir(exportDir, 0700)
require.Nil(b, err)
require.NoError(b, err)
defer os.RemoveAll(exportDir)
exportName := "export.zip"
f, err := os.Create(filepath.Join(exportDir, exportName))
require.Nil(b, err)
require.NoError(b, err)
f.Close()
err = os.Truncate(filepath.Join(exportDir, exportName), 1024*1024*1024)
require.Nil(b, err)
require.NoError(b, err)
b.ResetTimer()
for i := 0; i < b.N; i++ {

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

@@ -61,7 +61,7 @@ func fileBytes(t *testing.T, path string) []byte {
func testDoUploadFileRequest(t testing.TB, c *model.Client4, url string, blob []byte, contentType string,
contentLength int64) (*model.FileUploadResponse, *model.Response) {
req, err := http.NewRequest("POST", c.ApiUrl+c.GetFilesRoute()+url, bytes.NewReader(blob))
require.Nil(t, err)
require.NoError(t, err)
if contentLength != 0 {
req.ContentLength = contentLength
@@ -72,7 +72,7 @@ func testDoUploadFileRequest(t testing.TB, c *model.Client4, url string, blob []
}
resp, err := c.HttpClient.Do(req)
require.Nil(t, err)
require.NoError(t, err)
require.NotNil(t, resp)
defer closeBody(resp)
@@ -156,13 +156,13 @@ func testUploadFilesMultipart(
mw := multipart.NewWriter(mwBody)
err := mw.WriteField("channel_id", channelId)
require.Nil(t, err)
require.NoError(t, err)
for i, blob := range blobs {
ct := http.DetectContentType(blob)
if len(clientIds) > i {
err = mw.WriteField("client_ids", clientIds[i])
require.Nil(t, err)
require.NoError(t, err)
}
h := textproto.MIMEHeader{}
@@ -172,10 +172,10 @@ func testUploadFilesMultipart(
// If we error here, writing to mw, the deferred handler
part, err := mw.CreatePart(h)
require.Nil(t, err)
require.NoError(t, err)
_, err = io.Copy(part, bytes.NewReader(blob))
require.Nil(t, err)
require.NoError(t, err)
}
require.NoError(t, mw.Close())
@@ -628,7 +628,7 @@ func TestUploadFiles(t *testing.T) {
}
dbInfo, err := th.App.Srv().Store.FileInfo().Get(ri.Id)
require.Nil(t, err)
require.NoError(t, err)
assert.Equal(t, dbInfo.Id, ri.Id, "File id from response should match one stored in database")
assert.Equal(t, dbInfo.CreatorId, tc.expectedCreatorId, "F ile should be assigned to user")
assert.Equal(t, dbInfo.PostId, "", "File shouldn't have a post")
@@ -666,13 +666,13 @@ func TestUploadFiles(t *testing.T) {
require.Nil(t, resp.Error)
expected, err := ioutil.ReadFile(filepath.Join(testDir, name))
require.Nil(t, err)
require.NoError(t, err)
if !bytes.Equal(data, expected) {
tf, err := ioutil.TempFile("", fmt.Sprintf("test_%v_*_%s", i, name))
defer tf.Close()
require.Nil(t, err)
require.NoError(t, err)
_, err = io.Copy(tf, bytes.NewReader(data))
require.Nil(t, err)
require.NoError(t, err)
t.Errorf("Actual data mismatched %s, written to %q - expected %d bytes, got %d.", name, tf.Name(), len(expected), len(data))
}
}
@@ -860,7 +860,7 @@ func TestGetFileLink(t *testing.T) {
// Hacky way to assign file to a post (usually would be done by CreatePost call)
err = th.App.Srv().Store.FileInfo().AttachToPost(fileId, th.BasicPost.Id, th.BasicUser.Id)
require.Nil(t, err)
require.NoError(t, err)
th.App.UpdateConfig(func(cfg *model.Config) { *cfg.FileSettings.EnablePublicLink = false })
_, resp = Client.GetFileLink(fileId)
@@ -891,7 +891,7 @@ func TestGetFileLink(t *testing.T) {
CheckNoError(t, resp)
fileInfo, err := th.App.Srv().Store.FileInfo().Get(fileId)
require.Nil(t, err)
require.NoError(t, err)
th.cleanupTestFile(fileInfo)
}
@@ -1005,10 +1005,10 @@ func TestGetPublicFile(t *testing.T) {
// Hacky way to assign file to a post (usually would be done by CreatePost call)
err = th.App.Srv().Store.FileInfo().AttachToPost(fileId, th.BasicPost.Id, th.BasicUser.Id)
require.Nil(t, err)
require.NoError(t, err)
info, err := th.App.Srv().Store.FileInfo().Get(fileId)
require.Nil(t, err)
require.NoError(t, err)
link := th.App.GeneratePublicLink(Client.Url, info)
resp, err := http.Get(link)
@@ -1038,12 +1038,12 @@ func TestGetPublicFile(t *testing.T) {
require.Equal(t, http.StatusBadRequest, resp.StatusCode, "should've failed to get image with public link after salt changed")
fileInfo, err := th.App.Srv().Store.FileInfo().Get(fileId)
require.Nil(t, err)
require.Nil(t, th.cleanupTestFile(fileInfo))
require.NoError(t, err)
require.NoError(t, th.cleanupTestFile(fileInfo))
th.cleanupTestFile(info)
link = th.App.GeneratePublicLink(Client.Url, info)
resp, err = http.Get(link)
require.Nil(t, err)
require.NoError(t, err)
require.Equal(t, http.StatusNotFound, resp.StatusCode, "should've failed to get file after it is deleted")
}

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

@@ -23,10 +23,10 @@ func TestListImports(t *testing.T) {
uploadNewImport := func(c *model.Client4, t *testing.T) string {
file, err := os.Open(testsDir + "/import_test.zip")
require.Nil(t, err)
require.NoError(t, err)
info, err := file.Stat()
require.Nil(t, err)
require.NoError(t, err)
us := &model.UploadSession{
Filename: info.Name(),
@@ -51,7 +51,7 @@ func TestListImports(t *testing.T) {
t.Run("no permissions", func(t *testing.T) {
imports, resp := th.Client.ListImports()
require.Error(t, resp.Error)
require.NotNil(t, resp.Error)
require.Equal(t, "api.context.permissions.app_error", resp.Error.Id)
require.Nil(t, imports)
})
@@ -71,7 +71,7 @@ func TestListImports(t *testing.T) {
importDir := filepath.Join(dataDir, "import")
f, err := os.Create(filepath.Join(importDir, "import.zip.tmp"))
require.Nil(t, err)
require.NoError(t, err)
f.Close()
imports, resp := c.ListImports()
@@ -81,7 +81,7 @@ func TestListImports(t *testing.T) {
require.Contains(t, imports, id+"_import_test.zip")
require.Contains(t, imports, id2+"_import_test.zip")
require.Nil(t, os.RemoveAll(importDir))
require.NoError(t, os.RemoveAll(importDir))
}, "expected imports")
th.TestForSystemAdminAndLocal(t, func(t *testing.T, c *model.Client4) {
@@ -101,6 +101,6 @@ func TestListImports(t *testing.T) {
require.Len(t, imports, 1)
require.Equal(t, id+"_import_test.zip", imports[0])
require.Nil(t, os.RemoveAll(importDir))
require.NoError(t, os.RemoveAll(importDir))
}, "change import directory")
}

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

@@ -23,7 +23,7 @@ type testHandler struct {
func (th *testHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
bb, err := ioutil.ReadAll(r.Body)
assert.Nil(th.t, err)
assert.NoError(th.t, err)
assert.NotEmpty(th.t, string(bb))
poir := model.PostActionIntegrationRequestFromJson(bytes.NewReader(bb))
assert.NotEmpty(th.t, poir.UserId)
@@ -237,8 +237,7 @@ func TestSubmitDialog(t *testing.T) {
ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
var request model.SubmitDialogRequest
err := json.NewDecoder(r.Body).Decode(&request)
require.Nil(t, err)
assert.NotNil(t, request)
require.NoError(t, err)
assert.Equal(t, request.URL, "")
assert.Equal(t, request.UserId, submit.UserId)

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

@@ -53,7 +53,7 @@ func TestGetJob(t *testing.T) {
Status: model.JOB_STATUS_PENDING,
}
_, err := th.App.Srv().Store.Job().Save(job)
require.Nil(t, err)
require.NoError(t, err)
defer th.App.Srv().Store.Job().Delete(job.Id)
@@ -100,7 +100,7 @@ func TestGetJobs(t *testing.T) {
for _, job := range jobs {
_, err := th.App.Srv().Store.Job().Save(job)
require.Nil(t, err)
require.NoError(t, err)
defer th.App.Srv().Store.Job().Delete(job.Id)
}
@@ -151,7 +151,7 @@ func TestGetJobsByType(t *testing.T) {
for _, job := range jobs {
_, err := th.App.Srv().Store.Job().Save(job)
require.Nil(t, err)
require.NoError(t, err)
defer th.App.Srv().Store.Job().Delete(job.Id)
}
@@ -213,12 +213,12 @@ func TestDownloadJob(t *testing.T) {
// Here we have a job that exist in our database but the results do not exist therefore when we try to download the results
// as a system admin, we should get a not found status.
_, err := th.App.Srv().Store.Job().Save(job)
require.Nil(t, err)
require.NoError(t, err)
defer th.App.Srv().Store.Job().Delete(job.Id)
filePath := "./data/export/" + job.Id + "/testdat.txt"
mkdirAllErr := os.MkdirAll(filepath.Dir(filePath), 0770)
require.Nil(t, mkdirAllErr)
require.NoError(t, mkdirAllErr)
os.Create(filePath)
// Normal user cannot download the results of these job (not the right permission)
@@ -235,7 +235,7 @@ func TestDownloadJob(t *testing.T) {
job.Data["is_downloadable"] = "true"
updateStatus, err := th.App.Srv().Store.Job().UpdateOptimistically(job, model.JOB_STATUS_SUCCESS)
require.True(t, updateStatus)
require.Nil(t, err)
require.NoError(t, err)
_, resp = th.SystemAdminClient.DownloadJob(job.Id)
CheckNotFoundStatus(t, resp)
@@ -244,7 +244,7 @@ func TestDownloadJob(t *testing.T) {
// This time we should successfully retrieve the results without any error
filePath = "./data/export/" + job.Id + ".zip"
mkdirAllErr = os.MkdirAll(filepath.Dir(filePath), 0770)
require.Nil(t, mkdirAllErr)
require.NoError(t, mkdirAllErr)
os.Create(filePath)
_, resp = th.SystemAdminClient.DownloadJob(job.Id)
@@ -261,7 +261,7 @@ func TestDownloadJob(t *testing.T) {
Status: model.JOB_STATUS_SUCCESS,
}
_, err = th.App.Srv().Store.Job().Save(job)
require.Nil(t, err)
require.NoError(t, err)
defer th.App.Srv().Store.Job().Delete(job.Id)
// System admin shouldn't be able to download since the job type is not message export
@@ -293,7 +293,7 @@ func TestCancelJob(t *testing.T) {
for _, job := range jobs {
_, err := th.App.Srv().Store.Job().Save(job)
require.Nil(t, err)
require.NoError(t, err)
defer th.App.Srv().Store.Job().Delete(job.Id)
}

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

@@ -28,12 +28,12 @@ func TestGetOldClientLicense(t *testing.T) {
CheckNoError(t, resp)
_, err := Client.DoApiGet("/license/client", "")
require.Error(t, err, "get /license/client did not return an error")
require.NotNil(t, err, "get /license/client did not return an error")
require.Equal(t, err.StatusCode, http.StatusNotImplemented,
"expected 501 Not Implemented")
_, err = Client.DoApiGet("/license/client?format=junk", "")
require.Error(t, err, "get /license/client?format=junk did not return an error")
require.NotNil(t, err, "get /license/client?format=junk did not return an error")
require.Equal(t, err.StatusCode, http.StatusBadRequest,
"expected 400 Bad Request")

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

@@ -59,7 +59,7 @@ func TestCreateOAuthApp(t *testing.T) {
CheckBadRequestStatus(t, resp)
r, err := Client.DoApiPost("/oauth/apps", "garbage")
require.Error(t, err, "expected error from garbage post")
require.NotNil(t, err, "expected error from garbage post")
assert.Equal(t, http.StatusBadRequest, r.StatusCode)
Client.Logout()

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

@@ -34,7 +34,7 @@ func TestPlugin(t *testing.T) {
th.TestForSystemAdminAndLocal(t, func(t *testing.T, client *model.Client4) {
statesJson, err := json.Marshal(th.App.Config().PluginSettings.PluginStates)
require.Nil(t, err)
require.NoError(t, err)
states := map[string]*model.PluginState{}
json.Unmarshal(statesJson, &states)
th.App.UpdateConfig(func(cfg *model.Config) {
@@ -68,8 +68,8 @@ func TestPlugin(t *testing.T) {
assert.Equal(t, "testplugin", manifest.Id)
// Stored in File Store: Install Plugin from URL case
pluginStored, err := th.App.FileExists("./plugins/" + manifest.Id + ".tar.gz")
assert.Nil(t, err)
pluginStored, appErr := th.App.FileExists("./plugins/" + manifest.Id + ".tar.gz")
assert.Nil(t, appErr)
assert.True(t, pluginStored)
ok, resp := client.RemovePlugin(manifest.Id)
@@ -127,8 +127,8 @@ func TestPlugin(t *testing.T) {
assert.Equal(t, "testplugin", manifest.Id)
// Stored in File Store: Upload Plugin case
pluginStored, err = th.App.FileExists("./plugins/" + manifest.Id + ".tar.gz")
assert.Nil(t, err)
pluginStored, appErr = th.App.FileExists("./plugins/" + manifest.Id + ".tar.gz")
assert.Nil(t, appErr)
assert.True(t, pluginStored)
// Upload error cases
@@ -296,8 +296,8 @@ func TestNotifyClusterPluginEvent(t *testing.T) {
// Stored in File Store: Upload Plugin case
expectedPath := filepath.Join("./plugins", manifest.Id) + ".tar.gz"
pluginStored, err := th.App.FileExists(expectedPath)
require.Nil(t, err)
pluginStored, appErr := th.App.FileExists(expectedPath)
require.Nil(t, appErr)
require.True(t, pluginStored)
messages := testCluster.GetMessages()
@@ -320,8 +320,8 @@ func TestNotifyClusterPluginEvent(t *testing.T) {
require.Equal(t, "testplugin", manifest.Id)
// Successful remove
webSocketClient, err := th.CreateWebSocketSystemAdminClient()
require.Nil(t, err)
webSocketClient, appErr := th.CreateWebSocketSystemAdminClient()
require.Nil(t, appErr)
webSocketClient.Listen()
defer webSocketClient.Close()
done := make(chan bool)
@@ -359,8 +359,8 @@ func TestNotifyClusterPluginEvent(t *testing.T) {
actualMessages = findClusterMessages(model.CLUSTER_EVENT_REMOVE_PLUGIN, messages)
require.Equal(t, []*model.ClusterMessage{expectedRemoveMessage}, actualMessages)
pluginStored, err = th.App.FileExists(expectedPath)
require.Nil(t, err)
pluginStored, appErr = th.App.FileExists(expectedPath)
require.Nil(t, appErr)
require.False(t, pluginStored)
}
@@ -1255,9 +1255,9 @@ func TestInstallMarketplacePlugin(t *testing.T) {
path, _ := fileutils.FindDir("tests")
signatureFilename := "testplugin2.tar.gz.sig"
signatureFileReader, err := os.Open(filepath.Join(path, signatureFilename))
require.Nil(t, err)
require.NoError(t, err)
sigFile, err := ioutil.ReadAll(signatureFileReader)
require.Nil(t, err)
require.NoError(t, err)
pluginSignature := base64.StdEncoding.EncodeToString(sigFile)
tarData, err := ioutil.ReadFile(filepath.Join(path, "testplugin2.tar.gz"))
@@ -1420,15 +1420,15 @@ func TestInstallMarketplacePlugin(t *testing.T) {
require.Equal(t, "1.2.3", manifest.Version)
filePath := filepath.Join("plugins", "testplugin2.tar.gz.sig")
savedSigFile, err := th.App.ReadFile(filePath)
require.Nil(t, err)
savedSigFile, appErr := th.App.ReadFile(filePath)
require.Nil(t, appErr)
require.EqualValues(t, sigFile, savedSigFile)
ok, resp := client.RemovePlugin(manifest.Id)
CheckNoError(t, resp)
assert.True(t, ok)
exists, err := th.App.FileExists(filePath)
require.Nil(t, err)
exists, appErr := th.App.FileExists(filePath)
require.Nil(t, appErr)
require.False(t, exists)
appErr = th.App.DeletePublicKey("pub_key")
@@ -1564,9 +1564,9 @@ func TestInstallMarketplacePlugin(t *testing.T) {
th2.TestForSystemAdminAndLocal(t, func(t *testing.T, client *model.Client4) {
pluginSignatureFile, err := os.Open(filepath.Join(path, "testplugin.tar.gz.asc"))
require.Nil(t, err)
require.NoError(t, err)
pluginSignatureData, err := ioutil.ReadAll(pluginSignatureFile)
require.Nil(t, err)
require.NoError(t, err)
key, err := os.Open(filepath.Join(path, "development-private-key.asc"))
require.NoError(t, err)

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

@@ -199,7 +199,7 @@ func TestCreatePost(t *testing.T) {
CheckForbiddenStatus(t, resp)
r, err := Client.DoApiPost("/posts", "garbage")
require.Error(t, err)
require.NotNil(t, err)
require.Equal(t, http.StatusBadRequest, r.StatusCode)
Client.Logout()
@@ -230,7 +230,7 @@ func TestCreatePostEphemeral(t *testing.T) {
require.Equal(t, 0, int(rpost.EditAt), "newly created ephemeral post shouldn't have EditAt set")
r, err := Client.DoApiPost("/posts/ephemeral", "garbage")
require.Error(t, err)
require.NotNil(t, err)
require.Equal(t, http.StatusBadRequest, r.StatusCode)
Client.Logout()
@@ -664,20 +664,20 @@ func TestUpdatePost(t *testing.T) {
fileIds := make([]string, 3)
data, err := testutils.ReadTestFile("test.png")
require.Nil(t, err)
require.NoError(t, err)
for i := 0; i < len(fileIds); i++ {
fileResp, resp := Client.UploadFile(data, channel.Id, "test.png")
CheckNoError(t, resp)
fileIds[i] = fileResp.FileInfos[0].Id
}
rpost, err := th.App.CreatePost(&model.Post{
rpost, appErr := th.App.CreatePost(&model.Post{
UserId: th.BasicUser.Id,
ChannelId: channel.Id,
Message: "zz" + model.NewId() + "a",
FileIds: fileIds,
}, channel, false, true)
require.Nil(t, err)
require.Nil(t, appErr)
assert.Equal(t, rpost.Message, rpost.Message, "full name didn't match")
assert.EqualValues(t, 0, rpost.EditAt, "Newly created post shouldn't have EditAt set")
@@ -744,12 +744,12 @@ func TestUpdatePost(t *testing.T) {
CheckBadRequestStatus(t, resp)
})
rpost3, err := th.App.CreatePost(&model.Post{
rpost3, appErr := th.App.CreatePost(&model.Post{
ChannelId: channel.Id,
Message: "zz" + model.NewId() + "a",
UserId: th.BasicUser.Id,
}, channel, false, true)
require.Nil(t, err)
require.Nil(t, appErr)
t.Run("new message, add files", func(t *testing.T) {
up3 := &model.Post{
@@ -847,7 +847,7 @@ func TestPatchPost(t *testing.T) {
fileIds := make([]string, 3)
data, err := testutils.ReadTestFile("test.png")
require.Nil(t, err)
require.NoError(t, err)
for i := 0; i < len(fileIds); i++ {
fileResp, resp := Client.UploadFile(data, channel.Id, "test.png")
CheckNoError(t, resp)
@@ -1721,7 +1721,7 @@ func TestGetPostsForChannelAroundLastUnread(t *testing.T) {
// Setting limit_after to zero should fail with a 400 BadRequest.
posts, resp := Client.GetPostsAroundLastUnread(userId, channelId, 20, 0, false)
require.Error(t, resp.Error)
require.NotNil(t, resp.Error)
require.Equal(t, "api.context.invalid_url_param.app_error", resp.Error.Id)
require.Equal(t, http.StatusBadRequest, resp.StatusCode)
@@ -1733,10 +1733,10 @@ func TestGetPostsForChannelAroundLastUnread(t *testing.T) {
// Set channel member's last viewed to 0.
// All returned posts are latest posts as if all previous posts were already read by the user.
channelMember, err := th.App.Srv().Store.Channel().GetMember(channelId, userId)
require.Nil(t, err)
require.NoError(t, err)
channelMember.LastViewedAt = 0
_, err = th.App.Srv().Store.Channel().UpdateMember(channelMember)
require.Nil(t, err)
require.NoError(t, err)
th.App.Srv().Store.Post().InvalidateLastPostTimeCache(channelId)
posts, resp = Client.GetPostsAroundLastUnread(userId, channelId, 20, 20, false)
@@ -1754,10 +1754,10 @@ func TestGetPostsForChannelAroundLastUnread(t *testing.T) {
// Set channel member's last viewed before post1.
channelMember, err = th.App.Srv().Store.Channel().GetMember(channelId, userId)
require.Nil(t, err)
require.NoError(t, err)
channelMember.LastViewedAt = post1.CreateAt - 1
_, err = th.App.Srv().Store.Channel().UpdateMember(channelMember)
require.Nil(t, err)
require.NoError(t, err)
th.App.Srv().Store.Post().InvalidateLastPostTimeCache(channelId)
posts, resp = Client.GetPostsAroundLastUnread(userId, channelId, 3, 3, false)
@@ -1778,10 +1778,10 @@ func TestGetPostsForChannelAroundLastUnread(t *testing.T) {
// Set channel member's last viewed before post6.
channelMember, err = th.App.Srv().Store.Channel().GetMember(channelId, userId)
require.Nil(t, err)
require.NoError(t, err)
channelMember.LastViewedAt = post6.CreateAt - 1
_, err = th.App.Srv().Store.Channel().UpdateMember(channelMember)
require.Nil(t, err)
require.NoError(t, err)
th.App.Srv().Store.Post().InvalidateLastPostTimeCache(channelId)
posts, resp = Client.GetPostsAroundLastUnread(userId, channelId, 3, 3, false)
@@ -1805,10 +1805,10 @@ func TestGetPostsForChannelAroundLastUnread(t *testing.T) {
// Set channel member's last viewed before post10.
channelMember, err = th.App.Srv().Store.Channel().GetMember(channelId, userId)
require.Nil(t, err)
require.NoError(t, err)
channelMember.LastViewedAt = post10.CreateAt - 1
_, err = th.App.Srv().Store.Channel().UpdateMember(channelMember)
require.Nil(t, err)
require.NoError(t, err)
th.App.Srv().Store.Post().InvalidateLastPostTimeCache(channelId)
posts, resp = Client.GetPostsAroundLastUnread(userId, channelId, 3, 3, false)
@@ -1830,10 +1830,10 @@ func TestGetPostsForChannelAroundLastUnread(t *testing.T) {
// Set channel member's last viewed equal to post10.
channelMember, err = th.App.Srv().Store.Channel().GetMember(channelId, userId)
require.Nil(t, err)
require.NoError(t, err)
channelMember.LastViewedAt = post10.CreateAt
_, err = th.App.Srv().Store.Channel().UpdateMember(channelMember)
require.Nil(t, err)
require.NoError(t, err)
th.App.Srv().Store.Post().InvalidateLastPostTimeCache(channelId)
posts, resp = Client.GetPostsAroundLastUnread(userId, channelId, 3, 3, false)
@@ -1870,10 +1870,10 @@ func TestGetPostsForChannelAroundLastUnread(t *testing.T) {
postIdNames[post13.Id] = "post13"
channelMember, err = th.App.Srv().Store.Channel().GetMember(channelId, userId)
require.Nil(t, err)
require.NoError(t, err)
channelMember.LastViewedAt = post12.CreateAt - 1
_, err = th.App.Srv().Store.Channel().UpdateMember(channelMember)
require.Nil(t, err)
require.NoError(t, err)
th.App.Srv().Store.Post().InvalidateLastPostTimeCache(channelId)
posts, resp = Client.GetPostsAroundLastUnread(userId, channelId, 1, 2, false)

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

@@ -610,7 +610,7 @@ func TestDeletePreferencesWebsocket(t *testing.T) {
}
received, err := model.PreferencesFromJson(strings.NewReader(event.GetData()["preferences"].(string)))
require.Nil(t, err)
require.NoError(t, err)
for i, preference := range *preferences {
require.Equal(t, preference.UserId, received[i].UserId)

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

@@ -246,7 +246,7 @@ func TestGetReactions(t *testing.T) {
for _, userReaction := range userReactions {
reaction, err := th.App.Srv().Store.Reaction().Save(userReaction)
require.Nil(t, err)
require.NoError(t, err)
reactions = append(reactions, reaction)
}
@@ -597,7 +597,7 @@ func TestGetBulkReactions(t *testing.T) {
for _, userReaction := range userReactions {
reactions := expectedPostIdsReactionsMap[userReaction.PostId]
reaction, err := th.App.Srv().Store.Reaction().Save(userReaction)
require.Nil(t, err)
require.NoError(t, err)
reactions = append(reactions, reaction)
expectedPostIdsReactionsMap[userReaction.PostId] = reactions
}

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

@@ -26,7 +26,7 @@ func TestGetRole(t *testing.T) {
}
role, err := th.App.Srv().Store.Role().Save(role)
assert.Nil(t, err)
require.NoError(t, err)
defer th.App.Srv().Store.Job().Delete(role.Id)
th.TestForAllClients(t, func(t *testing.T, client *model.Client4) {
@@ -63,7 +63,7 @@ func TestGetRoleByName(t *testing.T) {
}
role, err := th.App.Srv().Store.Role().Save(role)
assert.Nil(t, err)
assert.NoError(t, err)
defer th.App.Srv().Store.Job().Delete(role.Id)
th.TestForAllClients(t, func(t *testing.T, client *model.Client4) {
@@ -114,15 +114,15 @@ func TestGetRolesByNames(t *testing.T) {
}
role1, err := th.App.Srv().Store.Role().Save(role1)
assert.Nil(t, err)
assert.NoError(t, err)
defer th.App.Srv().Store.Job().Delete(role1.Id)
role2, err = th.App.Srv().Store.Role().Save(role2)
assert.Nil(t, err)
assert.NoError(t, err)
defer th.App.Srv().Store.Job().Delete(role2.Id)
role3, err = th.App.Srv().Store.Role().Save(role3)
assert.Nil(t, err)
assert.NoError(t, err)
defer th.App.Srv().Store.Job().Delete(role3.Id)
th.TestForAllClients(t, func(t *testing.T, client *model.Client4) {
@@ -170,7 +170,7 @@ func TestPatchRole(t *testing.T) {
}
role, err := th.App.Srv().Store.Role().Save(role)
assert.Nil(t, err)
assert.NoError(t, err)
defer th.App.Srv().Store.Job().Delete(role.Id)
patch := &model.RolePatch{
@@ -181,7 +181,7 @@ func TestPatchRole(t *testing.T) {
// Cannot edit a system admin
adminRole, err := th.App.Srv().Store.Role().GetByName("system_admin")
assert.Nil(t, err)
assert.NoError(t, err)
defer th.App.Srv().Store.Job().Delete(adminRole.Id)
_, resp := client.PatchRole(adminRole.Id, patch)
@@ -189,7 +189,7 @@ func TestPatchRole(t *testing.T) {
// Cannot give other roles read / write to system roles or manage roles because only system admin can do these actions
systemManager, err := th.App.Srv().Store.Role().GetByName("system_manager")
assert.Nil(t, err)
assert.NoError(t, err)
defer th.App.Srv().Store.Job().Delete(systemManager.Id)
patchWriteSystemRoles := &model.RolePatch{
@@ -272,7 +272,7 @@ func TestPatchRole(t *testing.T) {
th.App.Srv().SetLicense(license)
guestRole, err := th.App.Srv().Store.Role().GetByName("system_guest")
require.Nil(t, err)
require.NoError(t, err)
received, resp = client.PatchRole(guestRole.Id, patch)
CheckNotImplementedStatus(t, resp)
})
@@ -282,7 +282,7 @@ func TestPatchRole(t *testing.T) {
license.Features.GuestAccountsPermissions = model.NewBool(true)
th.App.Srv().SetLicense(license)
guestRole, err := th.App.Srv().Store.Role().GetByName("system_guest")
require.Nil(t, err)
require.NoError(t, err)
_, resp = client.PatchRole(guestRole.Id, patch)
CheckNoError(t, resp)
})

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

@@ -309,7 +309,7 @@ func TestGetTeamsForScheme(t *testing.T) {
}
team1, err := th.App.Srv().Store.Team().Save(team1)
require.Nil(t, err)
require.NoError(t, err)
l2, r2 := th.SystemAdminClient.GetTeamsForScheme(scheme1.Id, 0, 100)
CheckNoError(t, r2)
@@ -317,7 +317,7 @@ func TestGetTeamsForScheme(t *testing.T) {
team1.SchemeId = &scheme1.Id
team1, err = th.App.Srv().Store.Team().Update(team1)
assert.Nil(t, err)
assert.NoError(t, err)
l3, r3 := th.SystemAdminClient.GetTeamsForScheme(scheme1.Id, 0, 100)
CheckNoError(t, r3)
@@ -331,7 +331,7 @@ func TestGetTeamsForScheme(t *testing.T) {
SchemeId: &scheme1.Id,
}
team2, err = th.App.Srv().Store.Team().Save(team2)
require.Nil(t, err)
require.NoError(t, err)
l4, r4 := th.SystemAdminClient.GetTeamsForScheme(scheme1.Id, 0, 100)
CheckNoError(t, r4)
@@ -402,7 +402,7 @@ func TestGetChannelsForScheme(t *testing.T) {
}
channel1, errCh := th.App.Srv().Store.Channel().Save(channel1, 1000000)
assert.Nil(t, errCh)
assert.NoError(t, errCh)
l2, r2 := th.SystemAdminClient.GetChannelsForScheme(scheme1.Id, 0, 100)
CheckNoError(t, r2)
@@ -410,7 +410,7 @@ func TestGetChannelsForScheme(t *testing.T) {
channel1.SchemeId = &scheme1.Id
channel1, err := th.App.Srv().Store.Channel().Update(channel1)
assert.Nil(t, err)
assert.NoError(t, err)
l3, r3 := th.SystemAdminClient.GetChannelsForScheme(scheme1.Id, 0, 100)
CheckNoError(t, r3)
@@ -425,7 +425,7 @@ func TestGetChannelsForScheme(t *testing.T) {
SchemeId: &scheme1.Id,
}
channel2, nErr := th.App.Srv().Store.Channel().Save(channel2, 1000000)
assert.Nil(t, nErr)
assert.NoError(t, nErr)
l4, r4 := th.SystemAdminClient.GetChannelsForScheme(scheme1.Id, 0, 100)
CheckNoError(t, r4)
@@ -627,7 +627,7 @@ func TestDeleteScheme(t *testing.T) {
Type: model.TEAM_OPEN,
SchemeId: &s1.Id,
})
require.Nil(t, err)
require.NoError(t, err)
// Delete the Scheme.
_, r3 := th.SystemAdminClient.DeleteScheme(s1.Id)
@@ -696,7 +696,7 @@ func TestDeleteScheme(t *testing.T) {
Type: model.CHANNEL_OPEN,
SchemeId: &s1.Id,
}, -1)
assert.Nil(t, err)
assert.NoError(t, err)
// Delete the Scheme.
_, r3 := th.SystemAdminClient.DeleteScheme(s1.Id)

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

@@ -73,7 +73,7 @@ func TestGetPing(t *testing.T) {
require.Nil(t, appErr)
require.Equal(t, http.StatusOK, resp.StatusCode)
respBytes, err := ioutil.ReadAll(resp.Body)
require.Nil(t, err)
require.NoError(t, err)
respString := string(respBytes)
require.NotContains(t, respString, "TestFeatureFlag")
@@ -86,7 +86,7 @@ func TestGetPing(t *testing.T) {
require.Nil(t, appErr)
require.Equal(t, http.StatusOK, resp.StatusCode)
respBytes, err = ioutil.ReadAll(resp.Body)
require.Nil(t, err)
require.NoError(t, err)
respString = string(respBytes)
require.Contains(t, respString, "testvalue")
}, "ping feature flag test")

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

@@ -1859,7 +1859,7 @@ func TestAddTeamMember(t *testing.T) {
app.TokenTypeTeamInvitation,
model.MapToJson(map[string]string{"teamId": team.Id}),
)
require.Nil(t, th.App.Srv().Store.Token().Save(token))
require.NoError(t, th.App.Srv().Store.Token().Save(token))
tm, resp = Client.AddTeamMemberFromInvite(token.Token, "")
CheckNoError(t, resp)
@@ -1871,7 +1871,7 @@ func TestAddTeamMember(t *testing.T) {
require.Equal(t, tm.TeamId, team.Id, "team ids should have matched")
_, nErr := th.App.Srv().Store.Token().GetByToken(token.Token)
require.NotNil(t, nErr, "The token must be deleted after be used")
require.Error(t, nErr, "The token must be deleted after be used")
tm, resp = Client.AddTeamMemberFromInvite("junk", "")
CheckBadRequestStatus(t, resp)
@@ -1881,7 +1881,7 @@ func TestAddTeamMember(t *testing.T) {
// expired token of more than 50 hours
token = model.NewToken(app.TokenTypeTeamInvitation, "")
token.CreateAt = model.GetMillis() - 1000*60*60*50
require.Nil(t, th.App.Srv().Store.Token().Save(token))
require.NoError(t, th.App.Srv().Store.Token().Save(token))
_, resp = Client.AddTeamMemberFromInvite(token.Token, "")
CheckBadRequestStatus(t, resp)
@@ -1893,7 +1893,7 @@ func TestAddTeamMember(t *testing.T) {
app.TokenTypeTeamInvitation,
model.MapToJson(map[string]string{"teamId": testId}),
)
require.Nil(t, th.App.Srv().Store.Token().Save(token))
require.NoError(t, th.App.Srv().Store.Token().Save(token))
_, resp = Client.AddTeamMemberFromInvite(token.Token, "")
CheckNotFoundStatus(t, resp)
@@ -1935,7 +1935,7 @@ func TestAddTeamMember(t *testing.T) {
app.TokenTypeTeamInvitation,
model.MapToJson(map[string]string{"teamId": team.Id}),
)
require.Nil(t, th.App.Srv().Store.Token().Save(token))
require.NoError(t, th.App.Srv().Store.Token().Save(token))
tm, resp = Client.AddTeamMemberFromInvite(token.Token, "")
require.Equal(t, "app.team.invite_token.group_constrained.error", resp.Error.Id)
@@ -2681,7 +2681,7 @@ func TestImportTeam(t *testing.T) {
CheckNoError(t, resp)
fileData, err := base64.StdEncoding.DecodeString(fileResp["results"])
require.Nil(t, err, "failed to decode base64 results data")
require.NoError(t, err, "failed to decode base64 results data")
fileReturned := fmt.Sprintf("%s", fileData)
require.Truef(t, strings.Contains(fileReturned, "darth.vader@stardeath.com"), "failed to report the user was imported, fileReturned: %s", fileReturned)
@@ -3039,7 +3039,7 @@ func TestSetTeamIcon(t *testing.T) {
team := th.BasicTeam
data, err := testutils.ReadTestFile("test.png")
require.Nil(t, err, err)
require.NoError(t, err, err)
th.LoginTeamAdmin()
@@ -3075,19 +3075,19 @@ func TestSetTeamIcon(t *testing.T) {
require.Fail(t, "Should have failed either forbidden or unauthorized")
}
teamBefore, err := th.App.GetTeam(team.Id)
require.Nil(t, err)
teamBefore, appErr := th.App.GetTeam(team.Id)
require.Nil(t, appErr)
_, resp = th.SystemAdminClient.SetTeamIcon(team.Id, data)
CheckNoError(t, resp)
teamAfter, err := th.App.GetTeam(team.Id)
require.Nil(t, err)
teamAfter, appErr := th.App.GetTeam(team.Id)
require.Nil(t, appErr)
assert.True(t, teamBefore.LastTeamIconUpdate < teamAfter.LastTeamIconUpdate, "LastTeamIconUpdate should have been updated for team")
info := &model.FileInfo{Path: "teams/" + team.Id + "/teamIcon.png"}
err = th.cleanupTestFile(info)
require.Nil(t, err, err)
require.NoError(t, err)
}
func TestGetTeamIcon(t *testing.T) {

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

@@ -32,7 +32,7 @@ func TestCreateUpload(t *testing.T) {
defer th.App.UpdateConfig(func(cfg *model.Config) { *cfg.FileSettings.EnableFileAttachments = true })
u, resp := th.Client.CreateUpload(us)
require.Nil(t, u)
require.Error(t, resp.Error)
require.NotNil(t, resp.Error)
require.Equal(t, "api.file.attachments.disabled.app_error", resp.Error.Id)
require.Equal(t, http.StatusNotImplemented, resp.StatusCode)
})
@@ -41,7 +41,7 @@ func TestCreateUpload(t *testing.T) {
us.ChannelId = th.BasicPrivateChannel2.Id
u, resp := th.Client.CreateUpload(us)
require.Nil(t, u)
require.Error(t, resp.Error)
require.NotNil(t, resp.Error)
require.Equal(t, "api.context.permissions.app_error", resp.Error.Id)
require.Equal(t, http.StatusForbidden, resp.StatusCode)
})
@@ -58,11 +58,11 @@ func TestCreateUpload(t *testing.T) {
testsDir, _ := fileutils.FindDir("tests")
importFile, err := os.Open(testsDir + "/import_test.zip")
require.Nil(t, err)
require.NoError(t, err)
defer importFile.Close()
info, err := importFile.Stat()
require.Nil(t, err)
require.NoError(t, err)
t.Run("permissions error", func(t *testing.T) {
us := &model.UploadSession{
@@ -72,7 +72,7 @@ func TestCreateUpload(t *testing.T) {
}
u, resp := th.Client.CreateUpload(us)
require.Nil(t, u)
require.Error(t, resp.Error)
require.NotNil(t, resp.Error)
require.Equal(t, "api.context.permissions.app_error", resp.Error.Id)
require.Equal(t, http.StatusForbidden, resp.StatusCode)
})
@@ -111,7 +111,7 @@ func TestGetUpload(t *testing.T) {
t.Run("upload not found", func(t *testing.T) {
u, resp := th.Client.GetUpload(model.NewId())
require.Nil(t, u)
require.Error(t, resp.Error)
require.NotNil(t, resp.Error)
require.Equal(t, "app.upload.get.app_error", resp.Error.Id)
require.Equal(t, http.StatusNotFound, resp.StatusCode)
})
@@ -119,7 +119,7 @@ func TestGetUpload(t *testing.T) {
t.Run("no permissions", func(t *testing.T) {
u, resp := th.Client.GetUpload(us.Id)
require.Nil(t, u)
require.Error(t, resp.Error)
require.NotNil(t, resp.Error)
require.Equal(t, "api.upload.get_upload.forbidden.app_error", resp.Error.Id)
})
@@ -142,7 +142,7 @@ func TestGetUploadsForUser(t *testing.T) {
t.Run("no permissions", func(t *testing.T) {
uss, resp := th.Client.GetUploadsForUser(th.BasicUser2.Id)
require.Error(t, resp.Error)
require.NotNil(t, resp.Error)
require.Equal(t, "api.user.get_uploads_for_user.forbidden.app_error", resp.Error.Id)
require.Nil(t, uss)
})
@@ -211,14 +211,14 @@ func TestUploadData(t *testing.T) {
defer th.App.UpdateConfig(func(cfg *model.Config) { *cfg.FileSettings.EnableFileAttachments = true })
info, resp := th.Client.UploadData(model.NewId(), bytes.NewReader(data))
require.Nil(t, info)
require.Error(t, resp.Error)
require.NotNil(t, resp.Error)
require.Equal(t, "api.file.attachments.disabled.app_error", resp.Error.Id)
})
t.Run("upload not found", func(t *testing.T) {
info, resp := th.Client.UploadData(model.NewId(), bytes.NewReader(data))
require.Nil(t, info)
require.Error(t, resp.Error)
require.NotNil(t, resp.Error)
require.Equal(t, "app.upload.get.app_error", resp.Error.Id)
require.Equal(t, http.StatusNotFound, resp.StatusCode)
})
@@ -226,7 +226,7 @@ func TestUploadData(t *testing.T) {
t.Run("no permissions", func(t *testing.T) {
info, resp := th.Client.UploadData(us.Id, bytes.NewReader(data))
require.Nil(t, info)
require.Error(t, resp.Error)
require.NotNil(t, resp.Error)
require.Equal(t, "api.context.permissions.app_error", resp.Error.Id)
})
@@ -238,7 +238,7 @@ func TestUploadData(t *testing.T) {
info, resp := th.Client.UploadData(u.Id, bytes.NewReader(append(data, 0x00)))
require.Nil(t, info)
require.Error(t, resp.Error)
require.NotNil(t, resp.Error)
require.Equal(t, "api.upload.upload_data.invalid_content_length", resp.Error.Id)
})
@@ -311,19 +311,19 @@ func TestUploadDataMultipart(t *testing.T) {
mpData := &bytes.Buffer{}
mpWriter := multipart.NewWriter(mpData)
part, err := mpWriter.CreateFormFile("data", us.Filename)
require.Nil(t, err)
require.NoError(t, err)
n, err := part.Write(data)
require.Nil(t, err)
require.NoError(t, err)
require.Equal(t, len(data), n)
err = mpWriter.Close()
require.Nil(t, err)
require.NoError(t, err)
return mpData, mpWriter.FormDataContentType()
}
t.Run("bad content-type", func(t *testing.T) {
info, resp := th.Client.DoUploadFile("/uploads/"+us.Id, data, "multipart/form-data;")
require.Nil(t, info)
require.Error(t, resp.Error)
require.NotNil(t, resp.Error)
require.Equal(t, "api.upload.upload_data.invalid_content_type", resp.Error.Id)
})
@@ -331,11 +331,11 @@ func TestUploadDataMultipart(t *testing.T) {
mpData, contentType := genMultipartData(t, data)
req, err := http.NewRequest("POST", th.Client.ApiUrl+"/uploads/"+us.Id, mpData)
require.Nil(t, err)
require.NoError(t, err)
req.Header.Set("Content-Type", contentType)
req.Header.Set(model.HEADER_AUTH, th.Client.AuthType+" "+th.Client.AuthToken)
res, err := th.Client.HttpClient.Do(req)
require.Nil(t, err)
require.NoError(t, err)
info := model.FileInfoFromJson(res.Body)
res.Body.Close()
require.NotEmpty(t, info)
@@ -355,22 +355,22 @@ func TestUploadDataMultipart(t *testing.T) {
require.NotEmpty(t, u)
req, err := http.NewRequest("POST", th.Client.ApiUrl+"/uploads/"+u.Id, mpData)
require.Nil(t, err)
require.NoError(t, err)
req.Header.Set("Content-Type", contentType)
req.Header.Set(model.HEADER_AUTH, th.Client.AuthType+" "+th.Client.AuthToken)
res, err := th.Client.HttpClient.Do(req)
require.Nil(t, err)
require.NoError(t, err)
require.Equal(t, http.StatusNoContent, res.StatusCode)
require.Equal(t, int64(0), res.ContentLength)
mpData, contentType = genMultipartData(t, data[5*1024*1024:])
req, err = http.NewRequest("POST", th.Client.ApiUrl+"/uploads/"+u.Id, mpData)
require.Nil(t, err)
require.NoError(t, err)
req.Header.Set("Content-Type", contentType)
req.Header.Set(model.HEADER_AUTH, th.Client.AuthType+" "+th.Client.AuthToken)
res, err = th.Client.HttpClient.Do(req)
require.Nil(t, err)
require.NoError(t, err)
info := model.FileInfoFromJson(res.Body)
res.Body.Close()
require.NotEmpty(t, info)

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

@@ -199,7 +199,7 @@ func TestCreateUserWithToken(t *testing.T) {
app.TokenTypeTeamInvitation,
model.MapToJson(map[string]string{"teamId": th.BasicTeam.Id, "email": user.Email}),
)
require.Nil(t, th.App.Srv().Store.Token().Save(token))
require.NoError(t, th.App.Srv().Store.Token().Save(token))
ruser, resp := th.Client.CreateUserWithToken(&user, token.Token)
CheckNoError(t, resp)
@@ -210,10 +210,10 @@ func TestCreateUserWithToken(t *testing.T) {
require.Equal(t, model.SYSTEM_USER_ROLE_ID, ruser.Roles, "should clear roles")
CheckUserSanitization(t, ruser)
_, err := th.App.Srv().Store.Token().GetByToken(token.Token)
require.NotNil(t, err, "The token must be deleted after being used")
require.Error(t, err, "The token must be deleted after being used")
teams, err := th.App.GetTeamsForUser(ruser.Id)
require.Nil(t, err)
teams, appErr := th.App.GetTeamsForUser(ruser.Id)
require.Nil(t, appErr)
require.NotEmpty(t, teams, "The user must have teams")
require.Equal(t, th.BasicTeam.Id, teams[0].Id, "The user joined team must be the team provided.")
})
@@ -224,7 +224,7 @@ func TestCreateUserWithToken(t *testing.T) {
app.TokenTypeTeamInvitation,
model.MapToJson(map[string]string{"teamId": th.BasicTeam.Id, "email": user.Email}),
)
require.Nil(t, th.App.Srv().Store.Token().Save(token))
require.NoError(t, th.App.Srv().Store.Token().Save(token))
ruser, resp := client.CreateUserWithToken(&user, token.Token)
CheckNoError(t, resp)
@@ -235,10 +235,10 @@ func TestCreateUserWithToken(t *testing.T) {
require.Equal(t, model.SYSTEM_USER_ROLE_ID, ruser.Roles, "should clear roles")
CheckUserSanitization(t, ruser)
_, err := th.App.Srv().Store.Token().GetByToken(token.Token)
require.NotNil(t, err, "The token must be deleted after being used")
require.Error(t, err, "The token must be deleted after being used")
teams, err := th.App.GetTeamsForUser(ruser.Id)
require.Nil(t, err)
teams, appErr := th.App.GetTeamsForUser(ruser.Id)
require.Nil(t, appErr)
require.NotEmpty(t, teams, "The user must have teams")
require.Equal(t, th.BasicTeam.Id, teams[0].Id, "The user joined team must be the team provided.")
}, "CreateWithTokenHappyPath")
@@ -249,7 +249,7 @@ func TestCreateUserWithToken(t *testing.T) {
app.TokenTypeTeamInvitation,
model.MapToJson(map[string]string{"teamId": th.BasicTeam.Id, "email": user.Email}),
)
require.Nil(t, th.App.Srv().Store.Token().Save(token))
require.NoError(t, th.App.Srv().Store.Token().Save(token))
defer th.App.DeleteToken(token)
_, resp := th.Client.CreateUserWithToken(&user, "")
@@ -266,7 +266,7 @@ func TestCreateUserWithToken(t *testing.T) {
model.MapToJson(map[string]string{"teamId": th.BasicTeam.Id, "email": user.Email}),
)
token.CreateAt = past49Hours
require.Nil(t, th.App.Srv().Store.Token().Save(token))
require.NoError(t, th.App.Srv().Store.Token().Save(token))
defer th.App.DeleteToken(token)
_, resp := th.Client.CreateUserWithToken(&user, token.Token)
@@ -295,7 +295,7 @@ func TestCreateUserWithToken(t *testing.T) {
app.TokenTypeTeamInvitation,
model.MapToJson(map[string]string{"teamId": th.BasicTeam.Id, "email": user.Email}),
)
require.Nil(t, th.App.Srv().Store.Token().Save(token))
require.NoError(t, th.App.Srv().Store.Token().Save(token))
defer th.App.DeleteToken(token)
th.App.UpdateConfig(func(cfg *model.Config) { *cfg.TeamSettings.EnableUserCreation = false })
@@ -315,7 +315,7 @@ func TestCreateUserWithToken(t *testing.T) {
app.TokenTypeTeamInvitation,
model.MapToJson(map[string]string{"teamId": th.BasicTeam.Id, "email": user.Email}),
)
require.Nil(t, th.App.Srv().Store.Token().Save(token))
require.NoError(t, th.App.Srv().Store.Token().Save(token))
defer th.App.DeleteToken(token)
th.App.UpdateConfig(func(cfg *model.Config) { *cfg.TeamSettings.EnableUserCreation = false })
@@ -332,7 +332,7 @@ func TestCreateUserWithToken(t *testing.T) {
app.TokenTypeTeamInvitation,
model.MapToJson(map[string]string{"teamId": th.BasicTeam.Id, "email": user.Email}),
)
require.Nil(t, th.App.Srv().Store.Token().Save(token))
require.NoError(t, th.App.Srv().Store.Token().Save(token))
enableOpenServer := th.App.Config().TeamSettings.EnableOpenServer
defer func() {
@@ -350,7 +350,7 @@ func TestCreateUserWithToken(t *testing.T) {
require.Equal(t, model.SYSTEM_USER_ROLE_ID, ruser.Roles, "should clear roles")
CheckUserSanitization(t, ruser)
_, err := th.App.Srv().Store.Token().GetByToken(token.Token)
require.NotNil(t, err, "The token must be deleted after be used")
require.Error(t, err, "The token must be deleted after be used")
})
}
@@ -1658,7 +1658,7 @@ func TestUpdateUser(t *testing.T) {
CheckForbiddenStatus(t, resp)
r, err := th.Client.DoApiPut("/users/"+ruser.Id, "garbage")
require.Error(t, err)
require.NotNil(t, err)
require.Equal(t, http.StatusBadRequest, r.StatusCode)
session, _ := th.App.GetSession(th.Client.AuthToken)
@@ -1720,7 +1720,7 @@ func TestPatchUser(t *testing.T) {
require.Empty(t, ruser.Timezone["manualTimezone"], "manualTimezone should update properly")
err := th.App.CheckPasswordAndAllCriteria(ruser, *patch.Password, "")
assert.Error(t, err, "Password should not match")
require.NotNil(t, err, "Password should not match")
currentPassword := user.Password
user, err = th.App.GetUser(ruser.Id)
@@ -1755,7 +1755,7 @@ func TestPatchUser(t *testing.T) {
CheckForbiddenStatus(t, resp)
r, err := th.Client.DoApiPut("/users/"+user.Id+"/patch", "garbage")
require.Error(t, err)
require.NotNil(t, err)
require.Equal(t, http.StatusBadRequest, r.StatusCode)
session, _ := th.App.GetSession(th.Client.AuthToken)
@@ -1851,7 +1851,7 @@ func TestUpdateUserAuth(t *testing.T) {
th.LinkUserToTeam(user, team)
_, err := th.App.Srv().Store.User().VerifyEmail(user.Id, user.Email)
require.Nil(t, err)
require.NoError(t, err)
userAuth := &model.UserAuth{}
userAuth.AuthData = user.AuthData
@@ -1884,7 +1884,7 @@ func TestUpdateUserAuth(t *testing.T) {
user2 := th.CreateUser()
th.LinkUserToTeam(user2, team)
_, err = th.App.Srv().Store.User().VerifyEmail(user2.Id, user2.Email)
require.Nil(t, err)
require.NoError(t, err)
th.SystemAdminClient.Login(user2.Email, "passwd1")
@@ -2010,11 +2010,11 @@ func TestPermanentDeleteAllUsers(t *testing.T) {
// Check that we have users and posts in the database
users, nErr := th.App.Srv().Store.User().GetAll()
require.Nil(t, nErr)
require.NoError(t, nErr)
require.Greater(t, len(users), 0)
postCount, nErr := th.App.Srv().Store.Post().AnalyticsPostCount("", false, false)
require.Nil(t, nErr)
require.NoError(t, nErr)
require.Greater(t, postCount, int64(0))
// Delete all users and their posts
@@ -2023,11 +2023,11 @@ func TestPermanentDeleteAllUsers(t *testing.T) {
// Check that both user and post tables are empty
users, nErr = th.App.Srv().Store.User().GetAll()
require.Nil(t, nErr)
require.NoError(t, nErr)
require.Len(t, users, 0)
postCount, nErr = th.App.Srv().Store.Post().AnalyticsPostCount("", false, false)
require.Nil(t, nErr)
require.NoError(t, nErr)
require.Equal(t, postCount, int64(0))
// Check that the channel and team created by the user were not deleted
@@ -2139,7 +2139,7 @@ func TestUpdateUserActive(t *testing.T) {
authData := model.NewId()
_, err := th.App.Srv().Store.User().UpdateAuthData(user.Id, "random", &authData, "", true)
require.Nil(t, err)
require.NoError(t, err)
_, resp = client.UpdateUserActive(user.Id, false)
CheckNoError(t, resp)
@@ -2361,7 +2361,7 @@ func TestGetUsersWithoutTeam(t *testing.T) {
defer th.TearDown()
_, resp := th.Client.GetUsersWithoutTeam(0, 100, "")
require.Error(t, resp.Error, "should prevent non-admin user from getting users without a team")
require.NotNil(t, resp.Error, "should prevent non-admin user from getting users without a team")
// These usernames need to appear in the first 100 users for this to work
@@ -2687,13 +2687,13 @@ func TestUserLoginMFAFlow(t *testing.T) {
// Fake user has MFA enabled
nErr := th.Server.Store.User().UpdateMfaActive(th.BasicUser.Id, true)
require.Nil(t, nErr)
require.NoError(t, nErr)
nErr = th.Server.Store.User().UpdateMfaActive(th.BasicUser.Id, true)
require.Nil(t, nErr)
require.NoError(t, nErr)
nErr = th.Server.Store.User().UpdateMfaSecret(th.BasicUser.Id, secret.Secret)
require.Nil(t, nErr)
require.NoError(t, nErr)
user, resp := th.Client.Login(th.BasicUser.Email, th.BasicUser.Password)
CheckErrorMessage(t, resp, "mfa.validate_token.authenticate.app_error")
@@ -2720,10 +2720,10 @@ func TestUserLoginMFAFlow(t *testing.T) {
// Fake user has MFA enabled
nErr := th.Server.Store.User().UpdateMfaActive(th.BasicUser.Id, true)
require.Nil(t, nErr)
require.NoError(t, nErr)
nErr = th.Server.Store.User().UpdateMfaSecret(th.BasicUser.Id, secret.Secret)
require.Nil(t, nErr)
require.NoError(t, nErr)
code := dgoogauth.ComputeCode(secret.Secret, time.Now().UTC().Unix()/30)
@@ -2895,7 +2895,7 @@ func TestResetPassword(t *testing.T) {
recoveryTokenString = resultsEmail.Body.Text[loc : loc+model.TOKEN_SIZE]
}
recoveryToken, err := th.App.Srv().Store.Token().GetByToken(recoveryTokenString)
require.Nil(t, err, "Recovery token not found (%s)", recoveryTokenString)
require.NoError(t, err, "Recovery token not found (%s)", recoveryTokenString)
_, resp := th.Client.ResetPassword(recoveryToken.Token, "")
CheckBadRequestStatus(t, resp)
@@ -2920,7 +2920,7 @@ func TestResetPassword(t *testing.T) {
CheckBadRequestStatus(t, resp)
authData := model.NewId()
_, err = th.App.Srv().Store.User().UpdateAuthData(user.Id, "random", &authData, "", true)
require.Nil(t, err)
require.NoError(t, err)
th.TestForAllClients(t, func(t *testing.T, client *model.Client4) {
_, resp = client.SendPasswordResetEmail(user.Email)
CheckBadRequestStatus(t, resp)
@@ -3070,10 +3070,10 @@ func TestRevokeSessionsFromAllUsers(t *testing.T) {
th.Client.Login(admin.Email, admin.Password)
sessions, err := th.Server.Store.Session().GetSessions(user.Id)
require.NotEmpty(t, sessions)
require.Nil(t, err)
require.NoError(t, err)
sessions, err = th.Server.Store.Session().GetSessions(admin.Id)
require.NotEmpty(t, sessions)
require.Nil(t, err)
require.NoError(t, err)
_, resp = th.Client.RevokeSessionsFromAllUsers()
CheckNoError(t, resp)
@@ -3084,11 +3084,11 @@ func TestRevokeSessionsFromAllUsers(t *testing.T) {
sessions, err = th.Server.Store.Session().GetSessions(user.Id)
require.Empty(t, sessions)
require.Nil(t, err)
require.NoError(t, err)
sessions, err = th.Server.Store.Session().GetSessions(admin.Id)
require.Empty(t, sessions)
require.Nil(t, err)
require.NoError(t, err)
}
@@ -3235,19 +3235,19 @@ func TestSetProfileImage(t *testing.T) {
require.Fail(t, "Should have failed either forbidden or unauthorized")
}
buser, err := th.App.GetUser(user.Id)
require.Nil(t, err)
buser, appErr := th.App.GetUser(user.Id)
require.Nil(t, appErr)
_, resp = th.SystemAdminClient.SetProfileImage(user.Id, data)
CheckNoError(t, resp)
ruser, err := th.App.GetUser(user.Id)
require.Nil(t, err)
ruser, appErr := th.App.GetUser(user.Id)
require.Nil(t, appErr)
assert.True(t, buser.LastPictureUpdate < ruser.LastPictureUpdate, "Picture should have updated for user")
info := &model.FileInfo{Path: "users/" + user.Id + "/profile.png"}
err = th.cleanupTestFile(info)
require.Nil(t, err)
require.NoError(t, err)
}
func TestSetDefaultProfileImage(t *testing.T) {
@@ -3284,7 +3284,7 @@ func TestSetDefaultProfileImage(t *testing.T) {
info := &model.FileInfo{Path: "users/" + user.Id + "/profile.png"}
cleanupErr := th.cleanupTestFile(info)
require.Nil(t, cleanupErr)
require.NoError(t, cleanupErr)
}
func TestLogin(t *testing.T) {
@@ -3594,7 +3594,7 @@ func TestSwitchAccount(t *testing.T) {
fakeAuthData := model.NewId()
_, err := th.App.Srv().Store.User().UpdateAuthData(th.BasicUser.Id, model.USER_AUTH_SERVICE_GITLAB, &fakeAuthData, th.BasicUser.Email, true)
require.Nil(t, err)
require.NoError(t, err)
sr = &model.SwitchRequest{
CurrentService: model.USER_AUTH_SERVICE_GITLAB,
@@ -4850,7 +4850,7 @@ func TestLoginLockout(t *testing.T) {
// Fake user has MFA enabled
err := th.Server.Store.User().UpdateMfaActive(th.BasicUser2.Id, true)
require.Nil(t, err)
require.NoError(t, err)
_, resp = th.Client.LoginWithMFA(th.BasicUser2.Email, th.BasicUser2.Password, "000000")
CheckErrorMessage(t, resp, "api.user.check_user_mfa.bad_code.app_error")
_, resp = th.Client.LoginWithMFA(th.BasicUser2.Email, th.BasicUser2.Password, "000000")
@@ -4864,7 +4864,7 @@ func TestLoginLockout(t *testing.T) {
// Fake user has MFA disabled
err = th.Server.Store.User().UpdateMfaActive(th.BasicUser2.Id, false)
require.Nil(t, err)
require.NoError(t, err)
//Check if lock is active
_, resp = th.Client.Login(th.BasicUser2.Email, th.BasicUser2.Password)
@@ -5476,7 +5476,7 @@ func TestThreadSocketEvents(t *testing.T) {
if ev.EventType() == model.WEBSOCKET_EVENT_THREAD_UPDATED {
caught = true
thread, err := model.ThreadFromJson(ev.GetData()["thread"].(string))
require.Nil(t, err)
require.NoError(t, err)
require.Contains(t, thread.Participants, th.BasicUser.Id)
require.Contains(t, thread.Participants, th.BasicUser2.Id)
}

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

@@ -160,41 +160,41 @@ func TestWebsocketOriginSecurity(t *testing.T) {
"Origin": []string{"http://www.evil.com"},
})
require.NotNil(t, err, "Should have errored because Origin does not match host! SECURITY ISSUE!")
require.Error(t, err, "Should have errored because Origin does not match host! SECURITY ISSUE!")
// We are not a browser so we can spoof this just fine
_, _, err = websocket.DefaultDialer.Dial(url+model.API_URL_SUFFIX+"/websocket", http.Header{
"Origin": []string{fmt.Sprintf("http://localhost:%v", th.App.Srv().ListenAddr.Port)},
})
require.Nil(t, err, err)
require.NoError(t, err, err)
// Should succeed now because open CORS
th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.AllowCorsFrom = "*" })
_, _, err = websocket.DefaultDialer.Dial(url+model.API_URL_SUFFIX+"/websocket", http.Header{
"Origin": []string{"http://www.evil.com"},
})
require.Nil(t, err, err)
require.NoError(t, err, err)
// Should succeed now because matching CORS
th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.AllowCorsFrom = "http://www.evil.com" })
_, _, err = websocket.DefaultDialer.Dial(url+model.API_URL_SUFFIX+"/websocket", http.Header{
"Origin": []string{"http://www.evil.com"},
})
require.Nil(t, err, err)
require.NoError(t, err, err)
// Should fail because non-matching CORS
th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.AllowCorsFrom = "http://www.good.com" })
_, _, err = websocket.DefaultDialer.Dial(url+model.API_URL_SUFFIX+"/websocket", http.Header{
"Origin": []string{"http://www.evil.com"},
})
require.NotNil(t, err, "Should have errored because Origin contain AllowCorsFrom")
require.Error(t, err, "Should have errored because Origin contain AllowCorsFrom")
// Should fail because non-matching CORS
th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.AllowCorsFrom = "http://www.good.com" })
_, _, err = websocket.DefaultDialer.Dial(url+model.API_URL_SUFFIX+"/websocket", http.Header{
"Origin": []string{"http://www.good.co"},
})
require.NotNil(t, err, "Should have errored because Origin does not match host! SECURITY ISSUE!")
require.Error(t, err, "Should have errored because Origin does not match host! SECURITY ISSUE!")
th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.AllowCorsFrom = "" })
}
@@ -219,13 +219,13 @@ func TestWebSocketStatuses(t *testing.T) {
ruser := Client.Must(Client.CreateUser(&user)).(*model.User)
th.LinkUserToTeam(ruser, rteam)
_, nErr := th.App.Srv().Store.User().VerifyEmail(ruser.Id, ruser.Email)
require.Nil(t, nErr)
require.NoError(t, nErr)
user2 := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"}
ruser2 := Client.Must(Client.CreateUser(&user2)).(*model.User)
th.LinkUserToTeam(ruser2, rteam)
_, nErr = th.App.Srv().Store.User().VerifyEmail(ruser2.Id, ruser2.Email)
require.Nil(t, nErr)
require.NoError(t, nErr)
Client.Login(user.Email, user.Password)