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  }