mirror of
https://github.com/mattermost/mattermost.git
synced 2026-02-22 01:11:14 -05:00
* 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()
31 lines
647 B
Go
31 lines
647 B
Go
// 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)
|
|
}
|
|
}
|