github.com/hahmadia/mattermost-server@v5.11.1+incompatible/model/command_test.go (about) 1 // Copyright (c) 2016-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 11 func TestCommandJson(t *testing.T) { 12 o := Command{Id: NewId()} 13 json := o.ToJson() 14 ro := CommandFromJson(strings.NewReader(json)) 15 16 if o.Id != ro.Id { 17 t.Fatal("Ids do not match") 18 } 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 if err := o.IsValid(); err != nil { 37 t.Fatal(err) 38 } 39 40 o.Id = "" 41 if err := o.IsValid(); err == nil { 42 t.Fatal("should be invalid") 43 } 44 45 o.Id = NewId() 46 if err := o.IsValid(); err != nil { 47 t.Fatal(err) 48 } 49 50 o.Token = "" 51 if err := o.IsValid(); err == nil { 52 t.Fatal("should be invalid") 53 } 54 55 o.Token = NewId() 56 if err := o.IsValid(); err != nil { 57 t.Fatal(err) 58 } 59 60 o.CreateAt = 0 61 if err := o.IsValid(); err == nil { 62 t.Fatal("should be invalid") 63 } 64 65 o.CreateAt = GetMillis() 66 if err := o.IsValid(); err != nil { 67 t.Fatal(err) 68 } 69 70 o.UpdateAt = 0 71 if err := o.IsValid(); err == nil { 72 t.Fatal("should be invalid") 73 } 74 75 o.UpdateAt = GetMillis() 76 if err := o.IsValid(); err != nil { 77 t.Fatal(err) 78 } 79 80 o.CreatorId = "" 81 if err := o.IsValid(); err == nil { 82 t.Fatal("should be invalid") 83 } 84 85 o.CreatorId = NewId() 86 if err := o.IsValid(); err != nil { 87 t.Fatal(err) 88 } 89 90 o.TeamId = "" 91 if err := o.IsValid(); err == nil { 92 t.Fatal("should be invalid") 93 } 94 95 o.TeamId = NewId() 96 if err := o.IsValid(); err != nil { 97 t.Fatal(err) 98 } 99 100 o.Trigger = "" 101 if err := o.IsValid(); err == nil { 102 t.Fatal("should be invalid") 103 } 104 105 o.Trigger = strings.Repeat("1", 129) 106 if err := o.IsValid(); err == nil { 107 t.Fatal("should be invalid") 108 } 109 110 o.Trigger = strings.Repeat("1", 128) 111 if err := o.IsValid(); err != nil { 112 t.Fatal(err) 113 } 114 115 o.URL = "" 116 if err := o.IsValid(); err == nil { 117 t.Fatal("should be invalid") 118 } 119 120 o.URL = "1234" 121 if err := o.IsValid(); err == nil { 122 t.Fatal("should be invalid") 123 } 124 125 o.URL = "https://example.com" 126 if err := o.IsValid(); err != nil { 127 t.Fatal(err) 128 } 129 130 o.Method = "https://example.com" 131 if err := o.IsValid(); err == nil { 132 t.Fatal("should be invalid") 133 } 134 135 o.Method = COMMAND_METHOD_GET 136 if err := o.IsValid(); err != nil { 137 t.Fatal(err) 138 } 139 140 o.Method = COMMAND_METHOD_POST 141 if err := o.IsValid(); err != nil { 142 t.Fatal(err) 143 } 144 145 o.DisplayName = strings.Repeat("1", 65) 146 if err := o.IsValid(); err == nil { 147 t.Fatal("should be invalid") 148 } 149 150 o.DisplayName = strings.Repeat("1", 64) 151 if err := o.IsValid(); err != nil { 152 t.Fatal(err) 153 } 154 155 o.Description = strings.Repeat("1", 129) 156 if err := o.IsValid(); err == nil { 157 t.Fatal("should be invalid") 158 } 159 160 o.Description = strings.Repeat("1", 128) 161 if err := o.IsValid(); err != nil { 162 t.Fatal(err) 163 } 164 } 165 166 func TestCommandPreSave(t *testing.T) { 167 o := Command{} 168 o.PreSave() 169 } 170 171 func TestCommandPreUpdate(t *testing.T) { 172 o := Command{} 173 o.PreUpdate() 174 }