github.com/mattermosttest/mattermost-server/v5@v5.0.0-20200917143240-9dfa12e121f9/model/access_test.go (about)

     1  // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
     2  // See LICENSE.txt for license information.
     3  
     4  package model
     5  
     6  import (
     7  	"strings"
     8  	"testing"
     9  
    10  	"github.com/stretchr/testify/require"
    11  )
    12  
    13  func TestAccessJson(t *testing.T) {
    14  	a1 := AccessData{}
    15  	a1.ClientId = NewId()
    16  	a1.UserId = NewId()
    17  	a1.Token = NewId()
    18  	a1.RefreshToken = NewId()
    19  
    20  	json := a1.ToJson()
    21  	ra1 := AccessDataFromJson(strings.NewReader(json))
    22  
    23  	require.Equal(t, a1.Token, ra1.Token)
    24  }
    25  
    26  func TestAccessIsValid(t *testing.T) {
    27  	ad := AccessData{}
    28  
    29  	require.NotNil(t, ad.IsValid())
    30  
    31  	ad.ClientId = NewRandomString(28)
    32  	require.Error(t, ad.IsValid())
    33  
    34  	ad.ClientId = ""
    35  	require.Error(t, ad.IsValid())
    36  
    37  	ad.ClientId = NewId()
    38  	require.NotNil(t, ad.IsValid())
    39  
    40  	ad.UserId = NewRandomString(28)
    41  	require.Error(t, ad.IsValid())
    42  
    43  	ad.UserId = ""
    44  	require.Error(t, ad.IsValid())
    45  
    46  	ad.UserId = NewId()
    47  	require.Error(t, ad.IsValid())
    48  
    49  	ad.Token = NewRandomString(22)
    50  	require.Error(t, ad.IsValid())
    51  
    52  	ad.Token = NewId()
    53  	require.NotNil(t, ad.IsValid())
    54  
    55  	ad.RefreshToken = NewRandomString(28)
    56  	require.Error(t, ad.IsValid())
    57  
    58  	ad.RefreshToken = NewId()
    59  	require.NotNil(t, ad.IsValid())
    60  
    61  	ad.RedirectUri = ""
    62  	require.Error(t, ad.IsValid())
    63  
    64  	ad.RedirectUri = NewRandomString(28)
    65  	require.Error(t, ad.IsValid())
    66  
    67  	ad.RedirectUri = "http://example.com"
    68  	require.Error(t, ad.IsValid(), ad.IsValid())
    69  }