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 }