diff options
Diffstat (limited to 'api/context_test.go')
-rw-r--r-- | api/context_test.go | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/api/context_test.go b/api/context_test.go new file mode 100644 index 000000000..56ccce1ee --- /dev/null +++ b/api/context_test.go @@ -0,0 +1,60 @@ +// Copyright (c) 2015 Spinpunch, Inc. All Rights Reserved. +// See License.txt for license information. + +package api + +import ( + "github.com/mattermost/platform/model" + "testing" +) + +var ipAddressTests = []struct { + address string + expected bool +}{ + {"126.255.255.255", false}, + {"127.0.0.1", true}, + {"127.0.0.4", false}, + {"9.255.255.255", false}, + {"10.0.0.1", true}, + {"11.0.0.1", false}, + {"176.15.155.255", false}, + {"176.16.0.1", true}, + {"176.31.0.1", false}, + {"192.167.255.255", false}, + {"192.168.0.1", true}, + {"192.169.0.1", false}, +} + +func TestIpAddress(t *testing.T) { + for _, v := range ipAddressTests { + if IsPrivateIpAddress(v.address) != v.expected { + t.Errorf("expect %v as %v", v.address, v.expected) + } + } +} + +func TestContext(t *testing.T) { + context := Context{} + + context.IpAddress = "127.0.0.1" + context.Session.UserId = "5" + + if !context.HasPermissionsToUser("5", "") { + t.Fatal("should have permissions") + } + + if context.HasPermissionsToUser("6", "") { + t.Fatal("shouldn't have permissions") + } + + context.Session.Roles = model.ROLE_SYSTEM_ADMIN + if !context.HasPermissionsToUser("6", "") { + t.Fatal("should have permissions") + } + + context.IpAddress = "125.0.0.1" + if context.HasPermissionsToUser("6", "") { + t.Fatal("shouldn't have permissions") + } +} |