github.com/psyb0t/mattermost-server@v4.6.1-0.20180125161845-5503a1351abf+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  }