MCPcopy
hub / github.com/mattermost/mattermost / SetupTestResources

Function SetupTestResources

server/channels/testlib/resources.go:125–193  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

123}
124
125func SetupTestResources() (string, error) {
126 testResourcesToSetup := getTestResourcesToSetup()
127
128 tempDir, err := os.MkdirTemp("", "testlib")
129 if err != nil {
130 return "", errors.Wrap(err, "failed to create temporary directory")
131 }
132
133 pluginsDir := path.Join(tempDir, "plugins")
134 err = os.Mkdir(pluginsDir, 0700)
135 if err != nil {
136 return "", errors.Wrapf(err, "failed to create plugins directory %s", pluginsDir)
137 }
138
139 clientDir := path.Join(tempDir, "client")
140 err = os.Mkdir(clientDir, 0700)
141 if err != nil {
142 return "", errors.Wrapf(err, "failed to create client directory %s", clientDir)
143 }
144
145 logsDir := path.Join(tempDir, "logs")
146 err = os.Mkdir(logsDir, 0700)
147 if err != nil {
148 return "", errors.Wrapf(err, "failed to create logs directory %s", logsDir)
149 }
150
151 err = setupConfig(path.Join(tempDir, "config"))
152 if err != nil {
153 return "", errors.Wrap(err, "failed to setup config")
154 }
155
156 var resourceDestInTemp string
157
158 // Setting up test resources in temp.
159 // Action in each resource tells whether it needs to be copied or just symlinked
160 for _, testResource := range testResourcesToSetup {
161 resourceDestInTemp = filepath.Join(tempDir, testResource.dest)
162
163 if testResource.action == actionCopy {
164 if testResource.resType == resourceTypeFile {
165 if err = CopyFile(testResource.src, resourceDestInTemp); err != nil {
166 return "", err
167 }
168 } else if testResource.resType == resourceTypeFolder {
169 err = utils.CopyDir(testResource.src, resourceDestInTemp)
170 if err != nil {
171 return "", errors.Wrapf(err, "failed to copy folder %s to %s", testResource.src, resourceDestInTemp)
172 }
173 }
174 } else if testResource.action == actionSymlink {
175 destDir := path.Dir(resourceDestInTemp)
176 if destDir != "." {
177 err = os.MkdirAll(destDir, os.ModePerm)
178 if err != nil {
179 return "", errors.Wrapf(err, "failed to make dir %s", destDir)
180 }
181 }
182

Callers 1

setupResourcesMethod · 0.85

Calls 5

getTestResourcesToSetupFunction · 0.85
JoinMethod · 0.80
setupConfigFunction · 0.70
CopyFileFunction · 0.70
WrapMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…