UNPKG

lint-gitlab-ci

Version:

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

37 lines 5.18 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; result["default"] = mod; return result; }; Object.defineProperty(exports, "__esModule", { value: true }); const Linter_1 = __importDefault(require("./Linter")); const mockEndpoints_1 = __importStar(require("../framework/__mocks__/mockEndpoints")); const mockResponseParser_1 = __importStar(require("../framework/__mocks__/mockResponseParser")); const mockData_1 = require("../__mocks__/mz/mockData"); describe("Linter", () => { describe("lintCiYml", () => { afterEach(() => { jest.clearAllMocks(); }); it("should call endpoints with file data as string", async () => { const fileName = "notAString"; const linter = new Linter_1.default(mockEndpoints_1.default, mockResponseParser_1.default); await linter.lintCiYml(fileName); expect(mockEndpoints_1.default.lintCiYml).toBeCalledWith(mockData_1.mockFiles[fileName].toString()); }); it("should return response from api parser", async () => { const fileName = "fileName.yml"; const linter = new Linter_1.default(mockEndpoints_1.default, mockResponseParser_1.default); const result = await linter.lintCiYml(fileName); expect(mockResponseParser_1.default.parseCiLint).toHaveBeenCalledWith(mockEndpoints_1.MOCK_ENDPOINT_RESPONSE + mockData_1.mockFiles[fileName]); expect(result).toEqual(mockResponseParser_1.MOCK_PARSE_CI_LINT_API_RESPONSE); }); }); }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGludGVyLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvTGludGVyL0xpbnRlci50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLHNEQUE4QjtBQUM5QixzRkFBNkY7QUFDN0YsZ0dBRW1EO0FBQ25ELHVEQUFpRTtBQUVqRSxRQUFRLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRTtJQUNwQixRQUFRLENBQUMsV0FBVyxFQUFFLEdBQUcsRUFBRTtRQUN2QixTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ1gsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLGdEQUFnRCxFQUFFLEtBQUssSUFBSSxFQUFFO1lBQzVELE1BQU0sUUFBUSxHQUFxQixZQUFZLENBQUM7WUFDaEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxnQkFBTSxDQUFDLHVCQUFhLEVBQUUsNEJBQWtCLENBQUMsQ0FBQztZQUU3RCxNQUFNLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFakMsTUFBTSxDQUFDLHVCQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsY0FBYyxDQUFDLG9CQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUNuRixDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyx3Q0FBd0MsRUFBRSxLQUFLLElBQUksRUFBRTtZQUNwRCxNQUFNLFFBQVEsR0FBcUIsY0FBYyxDQUFDO1lBQ2xELE1BQU0sTUFBTSxHQUFHLElBQUksZ0JBQU0sQ0FBQyx1QkFBYSxFQUFFLDRCQUFrQixDQUFDLENBQUM7WUFFN0QsTUFBTSxNQUFNLEdBQUcsTUFBTSxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBRWhELE1BQU0sQ0FBQyw0QkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQyxvQkFBb0IsQ0FDdkQsc0NBQXNCLEdBQUcsb0JBQVMsQ0FBQyxRQUFRLENBQUMsQ0FDL0MsQ0FBQztZQUNGLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsb0RBQStCLENBQUMsQ0FBQztRQUM1RCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTGludGVyIGZyb20gXCIuL0xpbnRlclwiO1xuaW1wb3J0IG1vY2tFbmRwb2ludHMsIHsgTU9DS19FTkRQT0lOVF9SRVNQT05TRSB9IGZyb20gXCIuLi9mcmFtZXdvcmsvX19tb2Nrc19fL21vY2tFbmRwb2ludHNcIjtcbmltcG9ydCBtb2NrUmVzcG9uc2VQYXJzZXIsIHtcbiAgICBNT0NLX1BBUlNFX0NJX0xJTlRfQVBJX1JFU1BPTlNFLFxufSBmcm9tIFwiLi4vZnJhbWV3b3JrL19fbW9ja3NfXy9tb2NrUmVzcG9uc2VQYXJzZXJcIjtcbmltcG9ydCB7IElNb2NrRmlsZXMsIG1vY2tGaWxlcyB9IGZyb20gXCIuLi9fX21vY2tzX18vbXovbW9ja0RhdGFcIjtcblxuZGVzY3JpYmUoXCJMaW50ZXJcIiwgKCkgPT4ge1xuICAgIGRlc2NyaWJlKFwibGludENpWW1sXCIsICgpID0+IHtcbiAgICAgICAgYWZ0ZXJFYWNoKCgpID0+IHtcbiAgICAgICAgICAgIGplc3QuY2xlYXJBbGxNb2NrcygpO1xuICAgICAgICB9KTtcblxuICAgICAgICBpdChcInNob3VsZCBjYWxsIGVuZHBvaW50cyB3aXRoIGZpbGUgZGF0YSBhcyBzdHJpbmdcIiwgYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZmlsZU5hbWU6IGtleW9mIElNb2NrRmlsZXMgPSBcIm5vdEFTdHJpbmdcIjtcbiAgICAgICAgICAgIGNvbnN0IGxpbnRlciA9IG5ldyBMaW50ZXIobW9ja0VuZHBvaW50cywgbW9ja1Jlc3BvbnNlUGFyc2VyKTtcblxuICAgICAgICAgICAgYXdhaXQgbGludGVyLmxpbnRDaVltbChmaWxlTmFtZSk7XG5cbiAgICAgICAgICAgIGV4cGVjdChtb2NrRW5kcG9pbnRzLmxpbnRDaVltbCkudG9CZUNhbGxlZFdpdGgobW9ja0ZpbGVzW2ZpbGVOYW1lXS50b1N0cmluZygpKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaXQoXCJzaG91bGQgcmV0dXJuIHJlc3BvbnNlIGZyb20gYXBpIHBhcnNlclwiLCBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmaWxlTmFtZToga2V5b2YgSU1vY2tGaWxlcyA9IFwiZmlsZU5hbWUueW1sXCI7XG4gICAgICAgICAgICBjb25zdCBsaW50ZXIgPSBuZXcgTGludGVyKG1vY2tFbmRwb2ludHMsIG1vY2tSZXNwb25zZVBhcnNlcik7XG5cbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGxpbnRlci5saW50Q2lZbWwoZmlsZU5hbWUpO1xuXG4gICAgICAgICAgICBleHBlY3QobW9ja1Jlc3BvbnNlUGFyc2VyLnBhcnNlQ2lMaW50KS50b0hhdmVCZWVuQ2FsbGVkV2l0aChcbiAgICAgICAgICAgICAgICBNT0NLX0VORFBPSU5UX1JFU1BPTlNFICsgbW9ja0ZpbGVzW2ZpbGVOYW1lXVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoTU9DS19QQVJTRV9DSV9MSU5UX0FQSV9SRVNQT05TRSk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xufSk7XG4iXX0=