singularci
Version:
SingularCI is a DSL transpiler used to generate CI/CD configuration files for existing CI platforms
35 lines • 2.08 kB
JavaScript
;
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/GitLabModule/tasks");
const tasks_2 = require("./../../../src/Targets/GitLabModule/tasks");
test('generate checkout task', () => {
const repoURL = "fake.repo-name.git";
const repoName = "FakeRepo";
const checkoutFactory = new Checkout_1.default();
const task = checkoutFactory.createCheckoutTask(repoURL, repoName);
const generatedTask = (0, tasks_1.generateCheckoutTask)(task);
expect(generatedTask).toEqual([`git clone ${repoURL}`, `cd ${repoName}`]);
});
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).toEqual(['echo "This is a test task"']);
});
test('docker setup', () => {
const service = (0, tasks_2.dockerSetup)();
expect(service).toEqual(['docker:dind']);
});
test('generate build docker image 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]).toEqual(`docker login -u ${task.getUserName()} -p ${task.getPassword()}`);
expect(generatedTask[1]).toEqual(`docker build --pull -t "${task.getUserName()}/${task.getImageName()}" ${task.getBuildFilePath()}`);
expect(generatedTask[2]).toEqual(`docker push "${task.getUserName()}/${task.getImageName()}"`);
});
//# sourceMappingURL=tasks.test.js.map