// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved. // See License.txt for license information. package model import ( "strings" "testing" ) func TestOutgoingWebhookJson(t *testing.T) { o := OutgoingWebhook{Id: NewId()} json := o.ToJson() ro := OutgoingWebhookFromJson(strings.NewReader(json)) if o.Id != ro.Id { t.Fatal("Ids do not match") } } func TestOutgoingWebhookIsValid(t *testing.T) { o := OutgoingWebhook{} if err := o.IsValid(); err == nil { t.Fatal("should be invalid") } o.Id = NewId() if err := o.IsValid(); err == nil { t.Fatal("should be invalid") } o.CreateAt = GetMillis() if err := o.IsValid(); err == nil { t.Fatal("should be invalid") } o.UpdateAt = GetMillis() if err := o.IsValid(); err == nil { t.Fatal("should be invalid") } o.CreatorId = "123" if err := o.IsValid(); err == nil { t.Fatal("should be invalid") } o.CreatorId = NewId() if err := o.IsValid(); err == nil { t.Fatal("should be invalid") } o.Token = "123" if err := o.IsValid(); err == nil { t.Fatal("should be invalid") } o.Token = NewId() if err := o.IsValid(); err == nil { t.Fatal("should be invalid") } o.ChannelId = "123" if err := o.IsValid(); err == nil { t.Fatal("should be invalid") } o.ChannelId = NewId() if err := o.IsValid(); err == nil { t.Fatal("should be invalid") } o.TeamId = "123" if err := o.IsValid(); err == nil { t.Fatal("should be invalid") } o.TeamId = NewId() if err := o.IsValid(); err == nil { t.Fatal("should be invalid") } o.CallbackURLs = []string{"nowhere.com/"} if err := o.IsValid(); err == nil { t.Fatal("should be invalid") } o.CallbackURLs = []string{"http://nowhere.com/"} if err := o.IsValid(); err != nil { t.Fatal(err) } o.DisplayName = strings.Repeat("1", 65) if err := o.IsValid(); err == nil { t.Fatal("should be invalid") } o.DisplayName = strings.Repeat("1", 64) if err := o.IsValid(); err != nil { t.Fatal(err) } o.Description = strings.Repeat("1", 129) if err := o.IsValid(); err == nil { t.Fatal("should be invalid") } o.Description = strings.Repeat("1", 128) if err := o.IsValid(); err != nil { t.Fatal(err) } } func TestOutgoingWebhookPreSave(t *testing.T) { o := OutgoingWebhook{} o.PreSave() } func TestOutgoingWebhookPreUpdate(t *testing.T) { o := OutgoingWebhook{} o.PreUpdate() }