From 6a906e91ad4be4b61857b490f0701d6eed402f76 Mon Sep 17 00:00:00 2001 From: Jesse Hallam Date: Wed, 6 Nov 2019 14:46:51 -0500 Subject: [PATCH] enable non-GOPATH testing with different mattermost-server folder name (#12930) * enable non-GOPATH testing Tweak the testlib package to support finding the root without assuming the folder name of the repository. Fixes: MM-19729 * fix web tests --- testlib/resources.go | 13 ++++++++++++- testlib/resources_test.go | 15 +++++++++++++++ web/web_test.go | 7 ------- 3 files changed, 27 insertions(+), 8 deletions(-) create mode 100644 testlib/resources_test.go diff --git a/testlib/resources.go b/testlib/resources.go index 698e20197f..df1692540e 100644 --- a/testlib/resources.go +++ b/testlib/resources.go @@ -27,6 +27,8 @@ const ( actionSymlink ) +const root = "___mattermost-server" + type testResourceDetails struct { src string dest string @@ -50,6 +52,15 @@ func findFile(path string) string { } func findDir(dir string) (string, bool) { + if dir == root { + srcPath := findFile("go.mod") + if srcPath == "" { + return "./", false + } + + return path.Dir(srcPath), true + } + found := fileutils.FindPath(dir, commonBaseSearchPaths, func(fileInfo os.FileInfo) bool { return fileInfo.IsDir() }) @@ -65,7 +76,7 @@ func getTestResourcesToSetup() []testResourceDetails { var found bool var testResourcesToSetup = []testResourceDetails{ - {"mattermost-server", "mattermost-server", resourceTypeFolder, actionSymlink}, + {root, "mattermost-server", resourceTypeFolder, actionSymlink}, {"i18n", "i18n", resourceTypeFolder, actionSymlink}, {"templates", "templates", resourceTypeFolder, actionSymlink}, {"tests", "tests", resourceTypeFolder, actionSymlink}, diff --git a/testlib/resources_test.go b/testlib/resources_test.go new file mode 100644 index 0000000000..e74752cfec --- /dev/null +++ b/testlib/resources_test.go @@ -0,0 +1,15 @@ +package testlib + +import ( + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestFindDir(t *testing.T) { + t.Run("find root", func(t *testing.T) { + path, found := findDir(root) + assert.True(t, found, "failed to find root") + assert.NotEmpty(t, path) + }) +} diff --git a/web/web_test.go b/web/web_test.go index 463de1d663..087942d6f7 100644 --- a/web/web_test.go +++ b/web/web_test.go @@ -12,8 +12,6 @@ import ( "path/filepath" "testing" - "github.com/mattermost/mattermost-server/testlib" - "github.com/mattermost/mattermost-server/app" "github.com/mattermost/mattermost-server/config" "github.com/mattermost/mattermost-server/model" @@ -97,11 +95,6 @@ func Setup() *TestHelper { } func (th *TestHelper) InitPlugins() *TestHelper { - - if th.tempWorkspace == "" { - th.tempWorkspace, _ = testlib.SetupTestResources() - } - pluginDir := filepath.Join(th.tempWorkspace, "plugins") webappDir := filepath.Join(th.tempWorkspace, "webapp")