diff options
author | Joram Wilander <jwawilander@gmail.com> | 2017-09-01 09:00:27 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-09-01 09:00:27 -0400 |
commit | 899ab31fff9b34bc125faf75b79a89e390deb2cf (patch) | |
tree | 41dc5832268504e54a0b2188eedcf89b7828dd12 /utils/path_test.go | |
parent | 74b5e52c4eb54000dcb5a7b46c0977d732bce80f (diff) | |
download | chat-899ab31fff9b34bc125faf75b79a89e390deb2cf.tar.gz chat-899ab31fff9b34bc125faf75b79a89e390deb2cf.tar.bz2 chat-899ab31fff9b34bc125faf75b79a89e390deb2cf.zip |
Implement experimental REST API endpoints for plugins (#7279)
* Implement experimental REST API endpoints for plugins
* Updates per feedback and rebase
* Update tests
* Further updates
* Update extraction of plugins
* Use OS temp dir for plugins instead of search path
* Fail extraction on paths that attempt to traverse upward
* Update pluginenv ActivePlugins()
Diffstat (limited to 'utils/path_test.go')
-rw-r--r-- | utils/path_test.go | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/utils/path_test.go b/utils/path_test.go new file mode 100644 index 000000000..70b7c24fc --- /dev/null +++ b/utils/path_test.go @@ -0,0 +1,31 @@ +// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. +// See License.txt for license information. + +package utils + +import ( + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestPathTraversesUpward(t *testing.T) { + cases := []struct { + input string + expected bool + }{ + {"../test/path", true}, + {"../../test/path", true}, + {"../../test/../path", true}, + {"test/../../path", true}, + {"test/path/../../", false}, + {"test", false}, + {"test/path", false}, + {"test/path/", false}, + {"test/path/file.ext", false}, + } + + for _, c := range cases { + assert.Equal(t, c.expected, PathTraversesUpward(c.input), c.input) + } +} |