()
| 123 | } |
| 124 | |
| 125 | func 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 |
no test coverage detected
searching dependent graphs…