lint-gitlab-ci
Version:
GitLab-ci script to lint .gitlab-ci.yml files.
37 lines • 5.18 kB
JavaScript
;
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=