github.com/psyb0t/mattermost-server@v4.6.1-0.20180125161845-5503a1351abf+incompatible/api/license_test.go (about)

     1  // Copyright (c) 2016-present Mattermost, Inc. All Rights Reserved.
     2  // See License.txt for license information.
     3  
     4  package api
     5  
     6  import (
     7  	"testing"
     8  
     9  	"github.com/mattermost/mattermost-server/utils"
    10  )
    11  
    12  func TestGetLicenceConfig(t *testing.T) {
    13  	th := Setup().InitBasic()
    14  	defer th.TearDown()
    15  
    16  	Client := th.BasicClient
    17  
    18  	if result, err := Client.GetClientLicenceConfig(""); err != nil {
    19  		t.Fatal(err)
    20  	} else {
    21  		cfg := result.Data.(map[string]string)
    22  
    23  		if _, ok := cfg["IsLicensed"]; !ok {
    24  			t.Fatal(cfg)
    25  		}
    26  
    27  		// test etag caching
    28  		if cache_result, err := Client.GetClientLicenceConfig(result.Etag); err != nil {
    29  			t.Fatal(err)
    30  		} else if len(cache_result.Data.(map[string]string)) != 0 {
    31  			t.Log(cache_result.Data)
    32  			t.Fatal("cache should be empty")
    33  		}
    34  
    35  		utils.SetClientLicense(map[string]string{"IsLicensed": "true"})
    36  
    37  		if cache_result, err := Client.GetClientLicenceConfig(result.Etag); err != nil {
    38  			t.Fatal(err)
    39  		} else if len(cache_result.Data.(map[string]string)) == 0 {
    40  			t.Fatal("result should not be empty")
    41  		}
    42  
    43  		utils.SetClientLicense(map[string]string{"SomeFeature": "true", "IsLicensed": "true"})
    44  
    45  		if cache_result, err := Client.GetClientLicenceConfig(result.Etag); err != nil {
    46  			t.Fatal(err)
    47  		} else if len(cache_result.Data.(map[string]string)) == 0 {
    48  			t.Fatal("result should not be empty")
    49  		}
    50  
    51  		utils.SetClientLicense(map[string]string{"IsLicensed": "false"})
    52  	}
    53  }