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