github.com/mattermosttest/mattermost-server/v5@v5.0.0-20200917143240-9dfa12e121f9/model/command_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 TestCommandJson(t *testing.T) {
    14  	o := Command{Id: NewId()}
    15  	json := o.ToJson()
    16  	ro := CommandFromJson(strings.NewReader(json))
    17  
    18  	require.Equal(t, o.Id, ro.Id, "Ids do not match")
    19  }
    20  
    21  func TestCommandIsValid(t *testing.T) {
    22  	o := Command{
    23  		Id:          NewId(),
    24  		Token:       NewId(),
    25  		CreateAt:    GetMillis(),
    26  		UpdateAt:    GetMillis(),
    27  		CreatorId:   NewId(),
    28  		TeamId:      NewId(),
    29  		Trigger:     "trigger",
    30  		URL:         "http://example.com",
    31  		Method:      COMMAND_METHOD_GET,
    32  		DisplayName: "",
    33  		Description: "",
    34  	}
    35  
    36  	require.Nil(t, o.IsValid())
    37  
    38  	o.Id = ""
    39  	require.NotNil(t, o.IsValid(), "should be invalid")
    40  
    41  	o.Id = NewId()
    42  	require.Nil(t, o.IsValid())
    43  
    44  	o.Token = ""
    45  	require.NotNil(t, o.IsValid(), "should be invalid")
    46  
    47  	o.Token = NewId()
    48  	require.Nil(t, o.IsValid())
    49  
    50  	o.CreateAt = 0
    51  	require.NotNil(t, o.IsValid(), "should be invalid")
    52  
    53  	o.CreateAt = GetMillis()
    54  	require.Nil(t, o.IsValid())
    55  
    56  	o.UpdateAt = 0
    57  	require.NotNil(t, o.IsValid(), "should be invalid")
    58  
    59  	o.UpdateAt = GetMillis()
    60  	require.Nil(t, o.IsValid())
    61  
    62  	o.CreatorId = ""
    63  	require.NotNil(t, o.IsValid(), "should be invalid")
    64  
    65  	o.CreatorId = NewId()
    66  	require.Nil(t, o.IsValid())
    67  
    68  	o.TeamId = ""
    69  	require.NotNil(t, o.IsValid(), "should be invalid")
    70  
    71  	o.TeamId = NewId()
    72  	require.Nil(t, o.IsValid())
    73  
    74  	o.Trigger = ""
    75  	require.NotNil(t, o.IsValid(), "should be invalid")
    76  
    77  	o.Trigger = strings.Repeat("1", 129)
    78  	require.NotNil(t, o.IsValid(), "should be invalid")
    79  
    80  	o.Trigger = strings.Repeat("1", 128)
    81  	require.Nil(t, o.IsValid())
    82  
    83  	o.URL = ""
    84  	require.NotNil(t, o.IsValid(), "should be invalid")
    85  
    86  	o.URL = "1234"
    87  	require.NotNil(t, o.IsValid(), "should be invalid")
    88  
    89  	o.URL = "https://example.com"
    90  	require.Nil(t, o.IsValid())
    91  
    92  	o.Method = "https://example.com"
    93  	require.NotNil(t, o.IsValid(), "should be invalid")
    94  
    95  	o.Method = COMMAND_METHOD_GET
    96  	require.Nil(t, o.IsValid())
    97  
    98  	o.Method = COMMAND_METHOD_POST
    99  	require.Nil(t, o.IsValid())
   100  
   101  	o.DisplayName = strings.Repeat("1", 65)
   102  	require.NotNil(t, o.IsValid(), "should be invalid")
   103  
   104  	o.DisplayName = strings.Repeat("1", 64)
   105  	require.Nil(t, o.IsValid())
   106  
   107  	o.Description = strings.Repeat("1", 129)
   108  	require.NotNil(t, o.IsValid(), "should be invalid")
   109  
   110  	o.Description = strings.Repeat("1", 128)
   111  	require.Nil(t, o.IsValid())
   112  }
   113  
   114  func TestCommandPreSave(t *testing.T) {
   115  	o := Command{}
   116  	o.PreSave()
   117  }
   118  
   119  func TestCommandPreUpdate(t *testing.T) {
   120  	o := Command{}
   121  	o.PreUpdate()
   122  }