| 
									
										
										
										
											2016-06-05 13:01:45 +02:00
										 |  |  | "use strict"; | 
					
						
							|  |  |  | require("typings-test"); | 
					
						
							|  |  |  | require("should"); | 
					
						
							| 
									
										
										
										
											2016-07-18 16:56:53 +02:00
										 |  |  | const path = require("path"); | 
					
						
							|  |  |  | const beautylog = require("beautylog"); | 
					
						
							| 
									
										
										
										
											2016-06-05 13:01:45 +02:00
										 |  |  | //set up environment
 | 
					
						
							|  |  |  | process.env.CI_BUILD_REPO = "https://yyyyyy:xxxxxxxx@gitlab.com/mygroup/myrepo.git"; | 
					
						
							| 
									
										
										
										
											2016-06-26 02:17:17 +02:00
										 |  |  | process.env.NPMCI_SSHKEY_1 = "hostString|somePrivKey|##"; | 
					
						
							| 
									
										
										
										
											2016-06-05 14:55:08 +02:00
										 |  |  | process.env.NPMTS_TEST = "true"; | 
					
						
							| 
									
										
										
										
											2016-07-18 16:56:53 +02:00
										 |  |  | process.cwd = () => { | 
					
						
							| 
									
										
										
										
											2016-06-05 13:01:45 +02:00
										 |  |  |     return path.join(__dirname, "assets/"); | 
					
						
							|  |  |  | }; | 
					
						
							| 
									
										
										
										
											2016-07-18 16:56:53 +02:00
										 |  |  | const NpmciBuildDocker = require("../dist/npmci.build.docker"); | 
					
						
							|  |  |  | const NpmciPublish = require("../dist/npmci.publish"); | 
					
						
							|  |  |  | const NpmciTest = require("../dist/npmci.test"); | 
					
						
							|  |  |  | const NpmciSsh = require("../dist/npmci.ssh"); | 
					
						
							|  |  |  | let dockerfile1; | 
					
						
							|  |  |  | let dockerfile2; | 
					
						
							|  |  |  | let sortableArray; | 
					
						
							| 
									
										
										
										
											2016-06-05 13:01:45 +02:00
										 |  |  | 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) { | 
					
						
							| 
									
										
										
										
											2016-06-05 13:50:45 +02:00
										 |  |  |                 beautylog.success("final result"); | 
					
						
							| 
									
										
										
										
											2016-06-05 13:01:45 +02:00
										 |  |  |                 console.log(sortedArrayArg); | 
					
						
							|  |  |  |                 done(); | 
					
						
							|  |  |  |             }); | 
					
						
							|  |  |  |         }); | 
					
						
							| 
									
										
										
										
											2016-06-05 14:55:08 +02:00
										 |  |  |         it("should correctly chain Dockerfile handling", function (done) { | 
					
						
							|  |  |  |             NpmciBuildDocker.build() | 
					
						
							| 
									
										
										
										
											2016-07-18 16:56:53 +02:00
										 |  |  |                 .then(() => { | 
					
						
							| 
									
										
										
										
											2016-06-05 14:55:08 +02:00
										 |  |  |                 done(); | 
					
						
							|  |  |  |             }); | 
					
						
							|  |  |  |         }); | 
					
						
							| 
									
										
										
										
											2016-06-05 13:01:45 +02:00
										 |  |  |     }); | 
					
						
							| 
									
										
										
										
											2016-06-05 17:17:15 +02:00
										 |  |  |     describe(".publish.docker", function () { | 
					
						
							|  |  |  |         it("should publish all built Dockerfiles", function (done) { | 
					
						
							|  |  |  |             NpmciPublish.publish("docker") | 
					
						
							| 
									
										
										
										
											2016-07-18 16:56:53 +02:00
										 |  |  |                 .then(() => { | 
					
						
							| 
									
										
										
										
											2016-06-05 17:17:15 +02:00
										 |  |  |                 done(); | 
					
						
							|  |  |  |             }); | 
					
						
							|  |  |  |             ; | 
					
						
							|  |  |  |         }); | 
					
						
							|  |  |  |     }); | 
					
						
							| 
									
										
										
										
											2016-06-05 16:56:07 +02:00
										 |  |  |     describe(".test.npm", function () { | 
					
						
							| 
									
										
										
										
											2016-06-07 04:31:25 +02:00
										 |  |  |         it("should source nvm using bash and install a specific node version, then test it", function (done) { | 
					
						
							| 
									
										
										
										
											2016-06-05 16:56:07 +02:00
										 |  |  |             NpmciTest.test("legacy") | 
					
						
							| 
									
										
										
										
											2016-07-18 16:56:53 +02:00
										 |  |  |                 .then(() => { | 
					
						
							| 
									
										
										
										
											2016-06-05 16:56:07 +02:00
										 |  |  |                 return NpmciTest.test("lts"); | 
					
						
							|  |  |  |             }) | 
					
						
							| 
									
										
										
										
											2016-07-18 16:56:53 +02:00
										 |  |  |                 .then(() => { | 
					
						
							| 
									
										
										
										
											2016-06-05 16:56:07 +02:00
										 |  |  |                 return NpmciTest.test("stable"); | 
					
						
							|  |  |  |             }) | 
					
						
							| 
									
										
										
										
											2016-07-18 16:56:53 +02:00
										 |  |  |                 .then(() => { | 
					
						
							| 
									
										
										
										
											2016-06-07 04:31:25 +02:00
										 |  |  |                 done(); | 
					
						
							|  |  |  |             }); | 
					
						
							|  |  |  |         }); | 
					
						
							|  |  |  |     }); | 
					
						
							|  |  |  |     describe("test.docker", function () { | 
					
						
							|  |  |  |         it("should test dockerfiles", function (done) { | 
					
						
							|  |  |  |             NpmciTest.test("docker") | 
					
						
							| 
									
										
										
										
											2016-07-18 16:56:53 +02:00
										 |  |  |                 .then(() => { | 
					
						
							| 
									
										
										
										
											2016-06-05 16:56:07 +02:00
										 |  |  |                 done(); | 
					
						
							|  |  |  |             }); | 
					
						
							|  |  |  |         }); | 
					
						
							|  |  |  |     }); | 
					
						
							| 
									
										
										
										
											2016-06-26 02:17:17 +02:00
										 |  |  |     describe("npmci prepare ssh", function () { | 
					
						
							|  |  |  |         it("should pick up SSH keys", function (done) { | 
					
						
							|  |  |  |             NpmciSsh.ssh() | 
					
						
							| 
									
										
										
										
											2016-07-18 16:56:53 +02:00
										 |  |  |                 .then(() => { | 
					
						
							| 
									
										
										
										
											2016-06-26 02:17:17 +02:00
										 |  |  |                 done(); | 
					
						
							|  |  |  |             }); | 
					
						
							|  |  |  |         }); | 
					
						
							|  |  |  |     }); | 
					
						
							| 
									
										
										
										
											2016-06-05 13:01:45 +02:00
										 |  |  | }); | 
					
						
							| 
									
										
										
										
											2016-07-18 16:56:53 +02:00
										 |  |  | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sY0FBYyxDQUFDLENBQUE7QUFDdEIsUUFBTyxRQUFRLENBQUMsQ0FBQTtBQUNoQixNQUFPLElBQUksV0FBVyxNQUFNLENBQUMsQ0FBQztBQUM5QixNQUFZLFNBQVMsV0FBTSxXQUUzQixDQUFDLENBRnFDO0FBQ3RDLG9CQUFvQjtBQUNwQixPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsR0FBRyx1REFBdUQsQ0FBQztBQUNwRixPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsR0FBRywyQkFBMkIsQ0FBQTtBQUN4RCxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUM7QUFDaEMsT0FBTyxDQUFDLEdBQUcsR0FBRztJQUNWLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBQyxTQUFTLENBQUMsQ0FBQztBQUMxQyxDQUFDLENBQUM7QUFJRixNQUFPLGdCQUFnQixXQUFXLDRCQUE0QixDQUFDLENBQUM7QUFDaEUsTUFBTyxZQUFZLFdBQVcsdUJBQXVCLENBQUMsQ0FBQztBQUN2RCxNQUFPLFNBQVMsV0FBVyxvQkFBb0IsQ0FBQyxDQUFDO0FBQ2pELE1BQU8sUUFBUSxXQUFXLG1CQUFtQixDQUFDLENBQUE7QUFHOUMsSUFBSSxXQUF1QyxDQUFDO0FBQzVDLElBQUksV0FBdUMsQ0FBQztBQUM1QyxJQUFJLGFBQTJDLENBQUM7QUFFaEQsUUFBUSxDQUFDLE9BQU8sRUFBQztJQUNiLFFBQVEsQ0FBQyxjQUFjLEVBQUM7UUFDcEIsRUFBRSxDQUFDLGlDQUFpQyxFQUFDO1lBQ2pDLFdBQVcsR0FBRyxJQUFJLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxFQUFDLFFBQVEsRUFBQyxjQUFjLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxDQUFDLENBQUM7WUFDbkYsV0FBVyxHQUFHLElBQUksZ0JBQWdCLENB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
 |