github.com/masterhung0112/hk_server/v5@v5.0.0-20220302090640-ec71aef15e1c/api4/brand_test.go (about) 1 // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. 2 // See LICENSE.txt for license information. 3 4 package api4 5 6 import ( 7 "net/http" 8 "testing" 9 10 "github.com/stretchr/testify/require" 11 12 "github.com/masterhung0112/hk_server/v5/utils/testutils" 13 ) 14 15 func TestGetBrandImage(t *testing.T) { 16 th := Setup(t) 17 defer th.TearDown() 18 Client := th.Client 19 20 _, resp := Client.GetBrandImage() 21 CheckNotFoundStatus(t, resp) 22 23 Client.Logout() 24 _, resp = Client.GetBrandImage() 25 CheckNotFoundStatus(t, resp) 26 27 _, resp = th.SystemAdminClient.GetBrandImage() 28 CheckNotFoundStatus(t, resp) 29 } 30 31 func TestUploadBrandImage(t *testing.T) { 32 th := Setup(t) 33 defer th.TearDown() 34 Client := th.Client 35 36 data, err := testutils.ReadTestFile("test.png") 37 require.NoError(t, err) 38 39 _, resp := Client.UploadBrandImage(data) 40 CheckForbiddenStatus(t, resp) 41 42 // status code returns either forbidden or unauthorized 43 // note: forbidden is set as default at Client4.SetProfileImage when request is terminated early by server 44 Client.Logout() 45 _, resp = Client.UploadBrandImage(data) 46 if resp.StatusCode == http.StatusForbidden { 47 CheckForbiddenStatus(t, resp) 48 } else if resp.StatusCode == http.StatusUnauthorized { 49 CheckUnauthorizedStatus(t, resp) 50 } else { 51 require.Fail(t, "Should have failed either forbidden or unauthorized") 52 } 53 54 _, resp = th.SystemAdminClient.UploadBrandImage(data) 55 CheckCreatedStatus(t, resp) 56 } 57 58 func TestDeleteBrandImage(t *testing.T) { 59 th := Setup(t) 60 defer th.TearDown() 61 62 data, err := testutils.ReadTestFile("test.png") 63 require.NoError(t, err) 64 65 _, resp := th.SystemAdminClient.UploadBrandImage(data) 66 CheckCreatedStatus(t, resp) 67 68 resp = th.Client.DeleteBrandImage() 69 CheckForbiddenStatus(t, resp) 70 71 th.Client.Logout() 72 73 resp = th.Client.DeleteBrandImage() 74 CheckUnauthorizedStatus(t, resp) 75 76 resp = th.SystemAdminClient.DeleteBrandImage() 77 CheckOKStatus(t, resp) 78 79 resp = th.SystemAdminClient.DeleteBrandImage() 80 CheckNotFoundStatus(t, resp) 81 }