github.com/adacta-ru/mattermost-server/v6@v6.0.0/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/adacta-ru/mattermost-server/v6/utils/testutils" 11 "github.com/stretchr/testify/require" 12 ) 13 14 func TestGetBrandImage(t *testing.T) { 15 th := Setup(t) 16 defer th.TearDown() 17 Client := th.Client 18 19 _, resp := Client.GetBrandImage() 20 CheckNotFoundStatus(t, resp) 21 22 Client.Logout() 23 _, resp = Client.GetBrandImage() 24 CheckNotFoundStatus(t, resp) 25 26 _, resp = th.SystemAdminClient.GetBrandImage() 27 CheckNotFoundStatus(t, resp) 28 } 29 30 func TestUploadBrandImage(t *testing.T) { 31 th := Setup(t) 32 defer th.TearDown() 33 Client := th.Client 34 35 data, err := testutils.ReadTestFile("test.png") 36 require.Nil(t, err) 37 38 _, resp := Client.UploadBrandImage(data) 39 CheckForbiddenStatus(t, resp) 40 41 // status code returns either forbidden or unauthorized 42 // note: forbidden is set as default at Client4.SetProfileImage when request is terminated early by server 43 Client.Logout() 44 _, resp = Client.UploadBrandImage(data) 45 if resp.StatusCode == http.StatusForbidden { 46 CheckForbiddenStatus(t, resp) 47 } else if resp.StatusCode == http.StatusUnauthorized { 48 CheckUnauthorizedStatus(t, resp) 49 } else { 50 require.Fail(t, "Should have failed either forbidden or unauthorized") 51 } 52 53 _, resp = th.SystemAdminClient.UploadBrandImage(data) 54 CheckCreatedStatus(t, resp) 55 } 56 57 func TestDeleteBrandImage(t *testing.T) { 58 th := Setup(t) 59 defer th.TearDown() 60 61 data, err := testutils.ReadTestFile("test.png") 62 require.Nil(t, err) 63 64 _, resp := th.SystemAdminClient.UploadBrandImage(data) 65 CheckCreatedStatus(t, resp) 66 67 resp = th.Client.DeleteBrandImage() 68 CheckForbiddenStatus(t, resp) 69 70 th.Client.Logout() 71 72 resp = th.Client.DeleteBrandImage() 73 CheckUnauthorizedStatus(t, resp) 74 75 resp = th.SystemAdminClient.DeleteBrandImage() 76 CheckOKStatus(t, resp) 77 78 resp = th.SystemAdminClient.DeleteBrandImage() 79 CheckNotFoundStatus(t, resp) 80 }