diff options
Diffstat (limited to 'model/utils_test.go')
-rw-r--r-- | model/utils_test.go | 118 |
1 files changed, 118 insertions, 0 deletions
diff --git a/model/utils_test.go b/model/utils_test.go new file mode 100644 index 000000000..a9721042d --- /dev/null +++ b/model/utils_test.go @@ -0,0 +1,118 @@ +// Copyright (c) 2015 Spinpunch, Inc. All Rights Reserved. +// See License.txt for license information. + +package model + +import ( + "strings" + "testing" +) + +func TestNewId(t *testing.T) { + for i := 0; i < 1000; i++ { + id := NewId() + if len(id) > 26 { + t.Fatal("ids shouldn't be longer than 26 chars") + } + } +} + +func TestAppError(t *testing.T) { + err := NewAppError("TestAppError", "message", "") + json := err.ToJson() + rerr := AppErrorFromJson(strings.NewReader(json)) + if err.Message != rerr.Message { + t.Fatal() + } + + err.Error() +} + +func TestMapJson(t *testing.T) { + + m := make(map[string]string) + m["id"] = "test_id" + json := MapToJson(m) + + rm := MapFromJson(strings.NewReader(json)) + + if rm["id"] != "test_id" { + t.Fatal("map should be valid") + } + + rm2 := MapFromJson(strings.NewReader("")) + if len(rm2) > 0 { + t.Fatal("make should be ivalid") + } +} + +func TestValidEmail(t *testing.T) { + if !IsValidEmail("corey@hulen.com") { + t.Error("email should be valid") + } + + if IsValidEmail("@corey@hulen.com") { + t.Error("should be invalid") + } +} + +func TestValidLower(t *testing.T) { + if !IsLower("corey@hulen.com") { + t.Error("should be valid") + } + + if IsLower("Corey@hulen.com") { + t.Error("should be invalid") + } +} + +var domains = []struct { + value string + expected bool +}{ + {"spin-punch", true}, + {"-spin-punch", false}, + {"spin-punch-", false}, + {"spin_punch", false}, + {"a", false}, + {"aa", false}, + {"aaa", false}, + {"aaa-999b", true}, + {"b00b", true}, + {"b))b", false}, + {"test", true}, +} + +func TestValidDomain(t *testing.T) { + for _, v := range domains { + if IsValidDomain(v.value) != v.expected { + t.Errorf("expect %v as %v", v.value, v.expected) + } + } +} + +var tReservedDomains = []struct { + value string + expected bool +}{ + {"test-hello", true}, + {"test", true}, + {"admin", true}, + {"Admin-punch", true}, + {"spin-punch-admin", false}, +} + +func TestReservedDomain(t *testing.T) { + for _, v := range tReservedDomains { + if IsReservedDomain(v.value) != v.expected { + t.Errorf("expect %v as %v", v.value, v.expected) + } + } +} + +func TestEtag(t *testing.T) { + etag := Etag("hello", 24) + if len(etag) <= 0 { + t.Fatal() + } +} |