UNPKG

lint-gitlab-ci

Version:

GitLab-ci script to lint .gitlab-ci.yml files.

52 lines 6.71 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const ApiEndpoints_1 = __importDefault(require("./ApiEndpoints")); const axios_1 = __importDefault(require("axios")); const axios_mock_adapter_1 = __importDefault(require("axios-mock-adapter")); // This sets the mock adapter on the default instance var mock = new axios_mock_adapter_1.default(axios_1.default); describe("ApiEndpoints", () => { const rootUrl = "rootUrl"; const apiVersion = "apiVersion"; const baseUrl = `${rootUrl}/${apiVersion}`; const lintCiYml = "/ci/lint"; const props = { rootUrl, apiVersion, }; describe("baseUrl", () => { const content = "content"; beforeEach(() => { mock.onPost(lintCiYml, { content: content }).reply((config) => { if (config.baseURL === baseUrl) return [200, {}]; return [500, {}]; }); }); it("should remove unecessary slashes from baseUrl", async () => { const slashyRootUrl = `//${rootUrl}///`; const slashyApiVersion = `/////${apiVersion}///`; const endpoints = new ApiEndpoints_1.default({ rootUrl: slashyRootUrl, apiVersion: slashyApiVersion, }); await endpoints.lintCiYml(content); }); }); describe("lintCiYml", () => { const content = "content"; const mockedResponse = "CI_LINT_POST"; beforeEach(() => { mock.onPost(lintCiYml, { content: content }).reply(200, mockedResponse); }); it("should return axios promise", async () => { const endpoints = new ApiEndpoints_1.default(props); const result = await endpoints.lintCiYml(content); expect(result).toEqual(mockedResponse); }); }); }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBpRW5kcG9pbnRzLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvQXBpRW5kcG9pbnRzL0FwaUVuZHBvaW50cy50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsa0VBQTBDO0FBQzFDLGtEQUFrRDtBQUNsRCw0RUFBNkM7QUFFN0MscURBQXFEO0FBQ3JELElBQUksSUFBSSxHQUFHLElBQUksNEJBQVcsQ0FBQyxlQUFLLENBQUMsQ0FBQztBQUVsQyxRQUFRLENBQUMsY0FBYyxFQUFFLEdBQUcsRUFBRTtJQUMxQixNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUM7SUFDMUIsTUFBTSxVQUFVLEdBQUcsWUFBWSxDQUFDO0lBQ2hDLE1BQU0sT0FBTyxHQUFHLEdBQUcsT0FBTyxJQUFJLFVBQVUsRUFBRSxDQUFDO0lBRTNDLE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQztJQUU3QixNQUFNLEtBQUssR0FBRztRQUNWLE9BQU87UUFDUCxVQUFVO0tBQ2IsQ0FBQztJQUVGLFFBQVEsQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFO1FBQ3JCLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQztRQUUxQixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUEwQixFQUFFLEVBQUU7Z0JBQzlFLElBQUksTUFBTSxDQUFDLE9BQU8sS0FBSyxPQUFPO29CQUFFLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBRWpELE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDckIsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQywrQ0FBK0MsRUFBRSxLQUFLLElBQUksRUFBRTtZQUMzRCxNQUFNLGFBQWEsR0FBRyxLQUFLLE9BQU8sS0FBSyxDQUFDO1lBQ3hDLE1BQU0sZ0JBQWdCLEdBQUcsUUFBUSxVQUFVLEtBQUssQ0FBQztZQUVqRCxNQUFNLFNBQVMsR0FBRyxJQUFJLHNCQUFZLENBQUM7Z0JBQy9CLE9BQU8sRUFBRSxhQUFhO2dCQUN0QixVQUFVLEVBQUUsZ0JBQWdCO2FBQy9CLENBQUMsQ0FBQztZQUVILE1BQU0sU0FBUyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2QyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLFdBQVcsRUFBRSxHQUFHLEVBQUU7UUFDdkIsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDO1FBQzFCLE1BQU0sY0FBYyxHQUFHLGNBQWMsQ0FBQztRQUV0QyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQzVFLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLDZCQUE2QixFQUFFLEtBQUssSUFBSSxFQUFFO1lBQ3pDLE1BQU0sU0FBUyxHQUFHLElBQUksc0JBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUUxQyxNQUFNLE1BQU0sR0FBRyxNQUFNLFNBQVMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7WUFFbEQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMzQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQXBpRW5kcG9pbnRzIGZyb20gXCIuL0FwaUVuZHBvaW50c1wiO1xuaW1wb3J0IGF4aW9zLCB7IEF4aW9zUmVxdWVzdENvbmZpZyB9IGZyb20gXCJheGlvc1wiO1xuaW1wb3J0IE1vY2tBZGFwdGVyIGZyb20gXCJheGlvcy1tb2NrLWFkYXB0ZXJcIjtcblxuLy8gVGhpcyBzZXRzIHRoZSBtb2NrIGFkYXB0ZXIgb24gdGhlIGRlZmF1bHQgaW5zdGFuY2VcbnZhciBtb2NrID0gbmV3IE1vY2tBZGFwdGVyKGF4aW9zKTtcblxuZGVzY3JpYmUoXCJBcGlFbmRwb2ludHNcIiwgKCkgPT4ge1xuICAgIGNvbnN0IHJvb3RVcmwgPSBcInJvb3RVcmxcIjtcbiAgICBjb25zdCBhcGlWZXJzaW9uID0gXCJhcGlWZXJzaW9uXCI7XG4gICAgY29uc3QgYmFzZVVybCA9IGAke3Jvb3RVcmx9LyR7YXBpVmVyc2lvbn1gO1xuXG4gICAgY29uc3QgbGludENpWW1sID0gXCIvY2kvbGludFwiO1xuXG4gICAgY29uc3QgcHJvcHMgPSB7XG4gICAgICAgIHJvb3RVcmwsXG4gICAgICAgIGFwaVZlcnNpb24sXG4gICAgfTtcblxuICAgIGRlc2NyaWJlKFwiYmFzZVVybFwiLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbnRlbnQgPSBcImNvbnRlbnRcIjtcblxuICAgICAgICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICAgICAgICAgIG1vY2sub25Qb3N0KGxpbnRDaVltbCwgeyBjb250ZW50OiBjb250ZW50IH0pLnJlcGx5KChjb25maWc6IEF4aW9zUmVxdWVzdENvbmZpZykgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChjb25maWcuYmFzZVVSTCA9PT0gYmFzZVVybCkgcmV0dXJuIFsyMDAsIHt9XTtcblxuICAgICAgICAgICAgICAgIHJldHVybiBbNTAwLCB7fV07XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaXQoXCJzaG91bGQgcmVtb3ZlIHVuZWNlc3Nhcnkgc2xhc2hlcyBmcm9tIGJhc2VVcmxcIiwgYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc2xhc2h5Um9vdFVybCA9IGAvLyR7cm9vdFVybH0vLy9gO1xuICAgICAgICAgICAgY29uc3Qgc2xhc2h5QXBpVmVyc2lvbiA9IGAvLy8vLyR7YXBpVmVyc2lvbn0vLy9gO1xuXG4gICAgICAgICAgICBjb25zdCBlbmRwb2ludHMgPSBuZXcgQXBpRW5kcG9pbnRzKHtcbiAgICAgICAgICAgICAgICByb290VXJsOiBzbGFzaHlSb290VXJsLFxuICAgICAgICAgICAgICAgIGFwaVZlcnNpb246IHNsYXNoeUFwaVZlcnNpb24sXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgYXdhaXQgZW5kcG9pbnRzLmxpbnRDaVltbChjb250ZW50KTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBkZXNjcmliZShcImxpbnRDaVltbFwiLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbnRlbnQgPSBcImNvbnRlbnRcIjtcbiAgICAgICAgY29uc3QgbW9ja2VkUmVzcG9uc2UgPSBcIkNJX0xJTlRfUE9TVFwiO1xuXG4gICAgICAgIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgICAgICAgICAgbW9jay5vblBvc3QobGludENpWW1sLCB7IGNvbnRlbnQ6IGNvbnRlbnQgfSkucmVwbHkoMjAwLCBtb2NrZWRSZXNwb25zZSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGl0KFwic2hvdWxkIHJldHVybiBheGlvcyBwcm9taXNlXCIsIGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVuZHBvaW50cyA9IG5ldyBBcGlFbmRwb2ludHMocHJvcHMpO1xuXG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBlbmRwb2ludHMubGludENpWW1sKGNvbnRlbnQpO1xuXG4gICAgICAgICAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKG1vY2tlZFJlc3BvbnNlKTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG59KTtcbiJdfQ==