summaryrefslogtreecommitdiffstats
path: root/model/utils_test.go
diff options
context:
space:
mode:
author=Corey Hulen <corey@hulen.com>2015-06-14 23:53:32 -0800
committer=Corey Hulen <corey@hulen.com>2015-06-14 23:53:32 -0800
commit56e74239d6b34df8f30ef046f0b0ff4ff0866a71 (patch)
tree044da29848cf0f5c8607eac34de69065171669cf /model/utils_test.go
downloadchat-56e74239d6b34df8f30ef046f0b0ff4ff0866a71.tar.gz
chat-56e74239d6b34df8f30ef046f0b0ff4ff0866a71.tar.bz2
chat-56e74239d6b34df8f30ef046f0b0ff4ff0866a71.zip
first commit
Diffstat (limited to 'model/utils_test.go')
-rw-r--r--model/utils_test.go118
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()
+ }
+}