83 lines
10 KiB
JavaScript
83 lines
10 KiB
JavaScript
"use strict";
|
|
require("typings-test");
|
|
require("should");
|
|
var path = require("path");
|
|
var beautylog = require("beautylog");
|
|
//set up environment
|
|
process.env.CI_BUILD_REPO = "https://yyyyyy:xxxxxxxx@gitlab.com/mygroup/myrepo.git";
|
|
process.env.NPMTS_TEST = "true";
|
|
process.cwd = function () {
|
|
return path.join(__dirname, "assets/");
|
|
};
|
|
var NpmciBuildDocker = require("../dist/npmci.build.docker");
|
|
var NpmciPublish = require("../dist/npmci.publish");
|
|
var NpmciTest = require("../dist/npmci.test");
|
|
var dockerfile1;
|
|
var dockerfile2;
|
|
var sortableArray;
|
|
describe("NPMCI", function () {
|
|
describe("build.docker", function () {
|
|
it("should return valid Dockerfiles", function () {
|
|
dockerfile1 = new NpmciBuildDocker.Dockerfile({ filePath: "./Dockerfile", read: true });
|
|
dockerfile2 = new NpmciBuildDocker.Dockerfile({ filePath: "./Dockerfile_sometag1", read: true });
|
|
dockerfile1.version.should.equal("latest");
|
|
dockerfile2.version.should.equal("sometag1");
|
|
});
|
|
it("should read a directory of Dockerfiles", function (done) {
|
|
NpmciBuildDocker.readDockerfiles()
|
|
.then(function (readDockerfilesArrayArg) {
|
|
readDockerfilesArrayArg[1].version.should.equal("sometag1");
|
|
sortableArray = readDockerfilesArrayArg;
|
|
done();
|
|
});
|
|
});
|
|
it("should sort an array of Dockerfiles", function (done) {
|
|
NpmciBuildDocker.sortDockerfiles(sortableArray)
|
|
.then(function (sortedArrayArg) {
|
|
beautylog.success("final result");
|
|
console.log(sortedArrayArg);
|
|
done();
|
|
});
|
|
});
|
|
it("should correctly chain Dockerfile handling", function (done) {
|
|
NpmciBuildDocker.build()
|
|
.then(function () {
|
|
done();
|
|
});
|
|
});
|
|
});
|
|
describe(".publish.docker", function () {
|
|
it("should publish all built Dockerfiles", function (done) {
|
|
NpmciPublish.publish("docker")
|
|
.then(function () {
|
|
done();
|
|
});
|
|
;
|
|
});
|
|
});
|
|
describe(".test.npm", function () {
|
|
it("should source nvm using bash and install a specific node version, then test it", function (done) {
|
|
NpmciTest.test("legacy")
|
|
.then(function () {
|
|
return NpmciTest.test("lts");
|
|
})
|
|
.then(function () {
|
|
return NpmciTest.test("stable");
|
|
})
|
|
.then(function () {
|
|
done();
|
|
});
|
|
});
|
|
});
|
|
describe("test.docker", function () {
|
|
it("should test dockerfiles", function (done) {
|
|
NpmciTest.test("docker")
|
|
.then(function () {
|
|
done();
|
|
});
|
|
});
|
|
});
|
|
});
|
|
|
|
//# sourceMappingURL=data:application/json;charset=utf8;base64,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QUFFLENBQUM7WUFDWCxDQUFDLENBQUMsQ0FBQztZQUFBLENBQUM7UUFDWixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ0gsUUFBUSxDQUFDLFdBQVcsRUFBQztRQUNqQixFQUFFLENBQUMsZ0ZBQWdGLEVBQUMsVUFBUyxJQUFJO1lBQzdGLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO2lCQUNuQixJQUFJLENBQUM7Z0JBQ0YsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakMsQ0FBQyxDQUFDO2lCQUNELElBQUksQ0FBQztnQkFDRixNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNwQyxDQUFDLENBQUM7aUJBQ0QsSUFBSSxDQUFDO2dCQUNGLElBQUksRUFBRSxDQUFDO1lBQ1gsQ0FBQyxDQUFDLENBQUM7UUFDWCxDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUMsQ0FBQyxDQUFDO0lBQ0gsUUFBUSxDQUFDLGFBQWEsRUFBQztRQUNuQixFQUFFLENBQUMseUJBQXlCLEVBQUMsVUFBUyxJQUFJO1lBQ3RDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO2lCQUNuQixJQUFJLENBQUM7Z0JBQ0YsSUFBSSxFQUFFLENBQUM7WUFDWCxDQUFDLENBQUMsQ0FBQztRQUNYLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDLENBQUMsQ0FBQSIsImZpbGUiOiJ0ZXN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy10ZXN0XCI7XG5pbXBvcnQgXCJzaG91bGRcIjtcbmltcG9ydCBwYXRoID0gcmVxdWlyZShcInBhdGhcIik7XG5pbXBvcnQgKiBhcyBiZWF1dHlsb2cgZnJvbSBcImJlYXV0eWxvZ1wiXG4vL3NldCB1cCBlbnZpcm9ubWVudFxucHJvY2Vzcy5lbnYuQ0lfQlVJTERfUkVQTyA9IFwiaHR0cHM6Ly95eXl5eXk6eHh4eHh4eHhAZ2l0bGFiLmNvbS9teWdyb3VwL215cmVwby5naXRcIjtcbnByb2Nlc3MuZW52Lk5QTVRTX1RFU1QgPSBcInRydWVcIjtcbnByb2Nlc3MuY3dkID0gKCkgPT4ge1xuICAgIHJldHVybiBwYXRoLmpvaW4oX19kaXJuYW1lLFwiYXNzZXRzL1wiKTtcbn07XG5cbi8vcmVxdWlyZSBOUE1DSSBmaWxlc1xuaW1wb3J0IG5wbWNpID0gcmVxdWlyZShcIi4uL2Rpc3QvaW5kZXhcIik7XG5pbXBvcnQgTnBtY2lCdWlsZERvY2tlciA9IHJlcXVpcmUoXCIuLi9kaXN0L25wbWNpLmJ1aWxkLmRvY2tlclwiKTtcbmltcG9ydCBOcG1jaVB1Ymxpc2ggPSByZXF1aXJlKFwiLi4vZGlzdC9ucG1jaS5wdWJsaXNoXCIpO1xuaW1wb3J0IE5wbWNpVGVzdCA9IHJlcXVpcmUoXCIuLi9kaXN0L25wbWNpLnRlc3RcIik7XG5cblxubGV0IGRvY2tlcmZpbGUxOk5wbWNpQnVpbGREb2NrZXIuRG9ja2VyZmlsZTtcbmxldCBkb2NrZXJmaWxlMjpOcG1jaUJ1aWxkRG9ja2VyLkRvY2tlcmZpbGU7XG5sZXQgc29ydGFibGVBcnJheTpOcG1jaUJ1aWxkRG9ja2VyLkRvY2tlcmZpbGVbXTtcblxuZGVzY3JpYmUoXCJOUE1DSVwiLGZ1bmN0aW9uKCl7XG4gICAgZGVzY3JpYmUoXCJidWlsZC5kb2NrZXJcIixmdW5jdGlvbigpe1xuICAgICAgICBpdChcInNob3VsZCByZXR1cm4gdmFsaWQgRG9ja2VyZmlsZXNcIixmdW5jdGlvbigpe1xuICAgICAgICAgICAgZG9ja2VyZmlsZTEgPSBuZXcgTnBtY2lCdWlsZERvY2tlci5Eb2NrZXJmaWxlKHtmaWxlUGF0aDpcIi4vRG9ja2VyZmlsZVwiLHJlYWQ6dHJ1ZX0pO1xuICAgICAgICAgICAgZG9ja2VyZmlsZTIgPSBuZXcgTnBtY2lCdWlsZERvY2tlci5Eb2NrZXJmaWxlKHtmaWxlUGF0aDpcIi4vRG9ja2VyZmlsZV9zb21ldGFnMVwiLHJlYWQ6dHJ1ZX0pO1xuICAgICAgICAgICAgZG9ja2VyZmlsZTEudmVyc2lvbi5zaG91bGQuZXF1YWwoXCJsYXRlc3RcIik7XG4gICAgICAgICAgICBkb2NrZXJmaWxlMi52ZXJzaW9uLnNob3VsZC5lcXVhbChcInNvbWV0YWcxXCIpO1xuICAgICAgICB9KTtcbiAgICAgICAgaXQoXCJzaG91bGQgcmVhZCBhIGRpcmVjdG9yeSBvZiBEb2NrZXJmaWxlc1wiLGZ1bmN0aW9uKGRvbmUpe1xuICAgICAgICAgICAgTnBtY2lCdWlsZERvY2tlci5yZWFkRG9ja2VyZmlsZXMoKVxuICAgICAgICAgICAgICAgIC50aGVuKGZ1bmN0aW9uKHJlYWREb2NrZXJmaWxlc0FycmF5QXJnOk5wbWNpQnVpbGREb2NrZXIuRG9ja2VyZmlsZVtdKXtcbiAgICAgICAgICAgICAgICAgICAgcmVhZERvY2tlcmZpbGVzQXJyYXlBcmdbMV0udmVyc2lvbi5zaG91bGQuZXF1YWwoXCJzb21ldGFnMVwiKTtcbiAgICAgICAgICAgICAgICAgICAgc29ydGFibGVBcnJheSA9IHJlYWREb2NrZXJmaWxlc0FycmF5QXJnXG4gICAgICAgICAgICAgICAgICAgIGRvbmUoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfSlcbiAgICAgICAgaXQoXCJzaG91bGQgc29ydCBhbiBhcnJheSBvZiBEb2NrZXJmaWxlc1wiLGZ1bmN0aW9uKGRvbmUpe1xuICAgICAgICAgICAgTnBtY2lCdWlsZERvY2tlci5zb3J0RG9ja2VyZmlsZXMoc29ydGFibGVBcnJheSlcbiAgICAgICAgICAgICAgICAudGhlbihmdW5jdGlvbihzb3J0ZWRBcnJheUFyZzpOcG1jaUJ1aWxkRG9ja2VyLkRvY2tlcmZpbGVbXSl7XG4gICAgICAgICAgICAgICAgICAgIGJlYXV0eWxvZy5zdWNjZXNzKFwiZmluYWwgcmVzdWx0XCIpO1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhzb3J0ZWRBcnJheUFyZyk7XG4gICAgICAgICAgICAgICAgICAgIGRvbmUoKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICB9KTtcbiAgICAgICAgaXQoXCJzaG91bGQgY29ycmVjdGx5IGNoYWluIERvY2tlcmZpbGUgaGFuZGxpbmdcIixmdW5jdGlvbihkb25lKXtcbiAgICAgICAgICAgIE5wbWNpQnVpbGREb2NrZXIuYnVpbGQoKVxuICAgICAgICAgICAgICAgIC50aGVuKCgpPT57XG4gICAgICAgICAgICAgICAgICAgIGRvbmUoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfSlcbiAgICB9KTtcbiAgICBkZXNjcmliZShcIi5wdWJsaXNoLmRvY2tlclwiLGZ1bmN0aW9uKCl7XG4gICAgICAgIGl0KFwic2hvdWxkIHB1Ymxpc2ggYWxsIGJ1aWx0IERvY2tlcmZpbGVzXCIsZnVuY3Rpb24oZG9uZSl7XG4gICAgICAgICAgICBOcG1jaVB1Ymxpc2gucHVibGlzaChcImRvY2tlclwiKVxuICAgICAgICAgICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZG9uZSgpO1xuICAgICAgICAgICAgICAgIH0pOztcbiAgICAgICAgfSk7XG4gICAgfSk7XG4gICAgZGVzY3JpYmUoXCIudGVzdC5ucG1cIixmdW5jdGlvbigpe1xuICAgICAgICBpdChcInNob3VsZCBzb3VyY2UgbnZtIHVzaW5nIGJhc2ggYW5kIGluc3RhbGwgYSBzcGVjaWZpYyBub2RlIHZlcnNpb24sIHRoZW4gdGVzdCBpdFwiLGZ1bmN0aW9uKGRvbmUpe1xuICAgICAgICAgICAgTnBtY2lUZXN0LnRlc3QoXCJsZWdhY3lcIilcbiAgICAgICAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBOcG1jaVRlc3QudGVzdChcImx0c1wiKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE5wbWNpVGVzdC50ZXN0KFwic3RhYmxlXCIpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBkb25lKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pXG4gICAgfSk7XG4gICAgZGVzY3JpYmUoXCJ0ZXN0LmRvY2tlclwiLGZ1bmN0aW9uKCl7XG4gICAgICAgIGl0KFwic2hvdWxkIHRlc3QgZG9ja2VyZmlsZXNcIixmdW5jdGlvbihkb25lKXtcbiAgICAgICAgICAgIE5wbWNpVGVzdC50ZXN0KFwiZG9ja2VyXCIpXG4gICAgICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBkb25lKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pXG4gICAgfSk7XG59KSJdfQ==
|