1// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. 2// See LICENSE.txt for license information. 3 4package model 5 6import ( 7 "strings" 8 "testing" 9 10 "github.com/stretchr/testify/require" 11) 12 13func TestCommandIsValid(t *testing.T) { 14 o := Command{ 15 Id: NewId(), 16 Token: NewId(), 17 CreateAt: GetMillis(), 18 UpdateAt: GetMillis(), 19 CreatorId: NewId(), 20 TeamId: NewId(), 21 Trigger: "trigger", 22 URL: "http://example.com", 23 Method: CommandMethodGet, 24 DisplayName: "", 25 Description: "", 26 } 27 28 require.Nil(t, o.IsValid()) 29 30 o.Id = "" 31 require.NotNil(t, o.IsValid(), "should be invalid") 32 33 o.Id = NewId() 34 require.Nil(t, o.IsValid()) 35 36 o.Token = "" 37 require.NotNil(t, o.IsValid(), "should be invalid") 38 39 o.Token = NewId() 40 require.Nil(t, o.IsValid()) 41 42 o.CreateAt = 0 43 require.NotNil(t, o.IsValid(), "should be invalid") 44 45 o.CreateAt = GetMillis() 46 require.Nil(t, o.IsValid()) 47 48 o.UpdateAt = 0 49 require.NotNil(t, o.IsValid(), "should be invalid") 50 51 o.UpdateAt = GetMillis() 52 require.Nil(t, o.IsValid()) 53 54 o.CreatorId = "" 55 require.NotNil(t, o.IsValid(), "should be invalid") 56 57 o.CreatorId = NewId() 58 require.Nil(t, o.IsValid()) 59 60 o.TeamId = "" 61 require.NotNil(t, o.IsValid(), "should be invalid") 62 63 o.TeamId = NewId() 64 require.Nil(t, o.IsValid()) 65 66 o.Trigger = "" 67 require.NotNil(t, o.IsValid(), "should be invalid") 68 69 o.Trigger = strings.Repeat("1", 129) 70 require.NotNil(t, o.IsValid(), "should be invalid") 71 72 o.Trigger = strings.Repeat("1", 128) 73 require.Nil(t, o.IsValid()) 74 75 o.URL = "" 76 require.NotNil(t, o.IsValid(), "should be invalid") 77 78 o.URL = "1234" 79 require.NotNil(t, o.IsValid(), "should be invalid") 80 81 o.URL = "https:////example.com" 82 require.NotNil(t, o.IsValid(), "should be invalid") 83 84 o.URL = "https://example.com" 85 require.Nil(t, o.IsValid()) 86 87 o.Method = "https://example.com" 88 require.NotNil(t, o.IsValid(), "should be invalid") 89 90 o.Method = CommandMethodGet 91 require.Nil(t, o.IsValid()) 92 93 o.Method = CommandMethodPost 94 require.Nil(t, o.IsValid()) 95 96 o.DisplayName = strings.Repeat("1", 65) 97 require.NotNil(t, o.IsValid(), "should be invalid") 98 99 o.DisplayName = strings.Repeat("1", 64) 100 require.Nil(t, o.IsValid()) 101 102 o.Description = strings.Repeat("1", 129) 103 require.NotNil(t, o.IsValid(), "should be invalid") 104 105 o.Description = strings.Repeat("1", 128) 106 require.Nil(t, o.IsValid()) 107} 108 109func TestCommandPreSave(t *testing.T) { 110 o := Command{} 111 o.PreSave() 112} 113 114func TestCommandPreUpdate(t *testing.T) { 115 o := Command{} 116 o.PreUpdate() 117} 118