UNPKG

singularci

Version:

SingularCI is a DSL transpiler used to generate CI/CD configuration files for existing CI platforms

48 lines 2.5 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const BuildDockerImage_1 = require("../../../src/SemanticModel/Tasks/BuildDockerImage"); const Checkout_1 = __importDefault(require("../../../src/SemanticModel/Tasks/Checkout")); const Run_1 = __importDefault(require("../../../src/SemanticModel/Tasks/Run")); const tasks_1 = require("../../../src/Targets/GitHubModule/tasks"); test('generate checkout task', () => { const repoUrl = 'fake-repo.remote.git'; const repoName = 'FakeName'; const task = new Checkout_1.default().createCheckoutTask(repoUrl, repoName); const generatedTask = (0, tasks_1.generateCheckoutTask)(task); expect(generatedTask.run).toEqual(`git clone ${task.getRepositoryURL()}`); }); test('generate run task', () => { const task = new Run_1.default().createRunTask(['echo "This is a test task"']); const generatedTask = (0, tasks_1.generateRunTask)(task); expect(generatedTask.run).toBe('echo "This is a test task"'); }); test('generate docker build task', () => { const task = new BuildDockerImage_1.BuildDockerImageFactory().createBuildDockerImageTask('fake-imagename', 'test-path', 'test-username', 'test-password'); const generatedTask = (0, tasks_1.generateBuildDockerImageTask)(task); expect(generatedTask[0].name).toBe('Set up QEMU'); expect(generatedTask[0].uses).toBe('docker/setup-qemu-action@v2'); expect(generatedTask[1].name).toBe('Set up Docker Buildx'); expect(generatedTask[1].uses).toBe('docker/setup-buildx-action@v2'); expect(generatedTask[2].name).toBe('Login to DockerHub'); expect(generatedTask[2].uses).toBe('docker/login-action@v2'); if (generatedTask[2].with) { expect(generatedTask[2].with.username).toBe('test-username'); expect(generatedTask[2].with.password).toBe('test-password'); } else { fail('with is not defined'); } expect(generatedTask[3].name).toBe('Build and push'); expect(generatedTask[3].uses).toBe('docker/build-push-action@v3'); if (generatedTask[3].with) { expect(generatedTask[3].with.push).toBe(true); expect(generatedTask[3].with.tags).toBe('test-username/fake-imagename:latest'); } else { fail('with is not defined'); } }); //# sourceMappingURL=tasks.test.js.map