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")