singularci
Version:
SingularCI is a DSL transpiler used to generate CI/CD configuration files for existing CI platforms
48 lines • 2.5 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/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