import * as plugins from './plugins.js';
import * as paths from './paths.js';

export const fileUrls = {
  dockerAlpineImage: 'https://code.foss.global/testassets/docker/raw/branch/main/alpine.tar',
}

export class TestFileProvider {
  public async getDockerAlpineImageAsLocalTarball(): Promise<string> {
    const filePath = plugins.path.join(paths.testFilesDir, 'alpine.tar')
    // fetch the docker alpine image
    const response = await plugins.smartrequest.getBinary(fileUrls.dockerAlpineImage);
    await plugins.smartfile.fs.ensureDir(paths.testFilesDir);
    await plugins.smartfile.memory.toFs(response.body, filePath);
    return filePath;
  }
}