From 3cbe05e0f48673adf0306cc1fcb97eb224c375ac Mon Sep 17 00:00:00 2001 From: Saturnino Abril Date: Tue, 14 Mar 2017 05:34:43 +0900 Subject: APIv4: GET /files/{file_id}/info (#5591) --- api4/file_test.go | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) (limited to 'api4/file_test.go') diff --git a/api4/file_test.go b/api4/file_test.go index be4f4a59c..f257ec074 100644 --- a/api4/file_test.go +++ b/api4/file_test.go @@ -329,3 +329,70 @@ func TestGetFilePreview(t *testing.T) { _, resp = th.SystemAdminClient.GetFilePreview(fileId) CheckNoError(t, resp) } + +func TestGetFileInfo(t *testing.T) { + th := Setup().InitBasic().InitSystemAdmin() + defer TearDown() + Client := th.Client + user := th.BasicUser + channel := th.BasicChannel + + if utils.Cfg.FileSettings.DriverName == "" { + t.Skip("skipping because no file driver is enabled") + } + + fileId := "" + var sent []byte + var err error + if sent, err = readTestFile("test.png"); err != nil { + t.Fatal(err) + } else { + fileResp, resp := Client.UploadFile(sent, channel.Id, "test.png") + CheckNoError(t, resp) + + fileId = fileResp.FileInfos[0].Id + } + + // Wait a bit for files to ready + time.Sleep(2 * time.Second) + + info, resp := Client.GetFileInfo(fileId) + CheckNoError(t, resp) + + if err != nil { + t.Fatal(err) + } else if info.Id != fileId { + t.Fatal("got incorrect file") + } else if info.CreatorId != user.Id { + t.Fatal("file should be assigned to user") + } else if info.PostId != "" { + t.Fatal("file shouldn't have a post") + } else if info.Path != "" { + t.Fatal("file path shouldn't have been returned to client") + } else if info.ThumbnailPath != "" { + t.Fatal("file thumbnail path shouldn't have been returned to client") + } else if info.PreviewPath != "" { + t.Fatal("file preview path shouldn't have been returned to client") + } else if info.MimeType != "image/png" { + t.Fatal("mime type should've been image/png") + } + + _, resp = Client.GetFileInfo("junk") + CheckBadRequestStatus(t, resp) + + _, resp = Client.GetFileInfo(model.NewId()) + CheckNotFoundStatus(t, resp) + + Client.Logout() + _, resp = Client.GetFileInfo(fileId) + CheckUnauthorizedStatus(t, resp) + + otherUser := th.CreateUser() + Client.Login(otherUser.Email, otherUser.Password) + _, resp = Client.GetFileInfo(fileId) + CheckForbiddenStatus(t, resp) + + Client.Logout() + _, resp = th.SystemAdminClient.GetFileInfo(fileId) + CheckNoError(t, resp) +} -- cgit v1.2.3-1-g7c22