| 
									
										
										
										
											2016-11-24 23:21:40 +01:00
										 |  |  | import * as plugins from './npmci.plugins' | 
					
						
							|  |  |  | import {bash} from './npmci.bash' | 
					
						
							|  |  |  | import {install} from './npmci.install' | 
					
						
							|  |  |  | import * as env from './npmci.env' | 
					
						
							|  |  |  | import * as NpmciBuildDocker from './npmci.build.docker' | 
					
						
							| 
									
										
										
										
											2016-05-30 03:40:07 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-05-30 02:28:47 +02:00
										 |  |  | export let test = (versionArg) => { | 
					
						
							| 
									
										
										
										
											2016-11-24 23:21:40 +01:00
										 |  |  |     let done = plugins.q.defer() | 
					
						
							|  |  |  |     if (versionArg === 'docker') { | 
					
						
							| 
									
										
										
										
											2016-06-04 00:09:44 +02:00
										 |  |  |         testDocker() | 
					
						
							| 
									
										
										
										
											2016-11-24 23:21:40 +01:00
										 |  |  |             .then(() => { | 
					
						
							|  |  |  |                 done.resolve() | 
					
						
							|  |  |  |             }) | 
					
						
							| 
									
										
										
										
											2016-06-04 00:09:44 +02:00
										 |  |  |     } else { | 
					
						
							|  |  |  |         install(versionArg) | 
					
						
							|  |  |  |             .then(npmDependencies) | 
					
						
							| 
									
										
										
										
											2016-06-07 04:31:25 +02:00
										 |  |  |             .then(npmTest) | 
					
						
							| 
									
										
										
										
											2016-11-24 23:21:40 +01:00
										 |  |  |             .then(() => { | 
					
						
							|  |  |  |                 done.resolve() | 
					
						
							|  |  |  |             }) | 
					
						
							| 
									
										
										
										
											2016-06-04 00:09:44 +02:00
										 |  |  |     } | 
					
						
							| 
									
										
										
										
											2016-11-24 23:21:40 +01:00
										 |  |  |     return done.promise | 
					
						
							| 
									
										
										
										
											2016-06-04 00:09:44 +02:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | let npmDependencies = function(){ | 
					
						
							| 
									
										
										
										
											2016-11-24 23:21:40 +01:00
										 |  |  |     let done = plugins.q.defer() | 
					
						
							|  |  |  |     plugins.beautylog.info('now installing dependencies:') | 
					
						
							|  |  |  |     bash('npm install') | 
					
						
							|  |  |  |     done.resolve() | 
					
						
							|  |  |  |     return done.promise | 
					
						
							| 
									
										
										
										
											2016-06-04 00:09:44 +02:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-07 04:31:25 +02:00
										 |  |  | let npmTest = () => { | 
					
						
							| 
									
										
										
										
											2016-11-24 23:21:40 +01:00
										 |  |  |     let done = plugins.q.defer() | 
					
						
							|  |  |  |     plugins.beautylog.info('now starting tests:') | 
					
						
							|  |  |  |     bash('npm test') | 
					
						
							|  |  |  |     done.resolve() | 
					
						
							|  |  |  |     return done.promise | 
					
						
							| 
									
										
										
										
											2016-06-04 00:09:44 +02:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-07 04:31:25 +02:00
										 |  |  | let testDocker = function(){ | 
					
						
							| 
									
										
										
										
											2016-11-24 23:21:40 +01:00
										 |  |  |     let done = plugins.q.defer() | 
					
						
							| 
									
										
										
										
											2016-06-07 04:31:25 +02:00
										 |  |  |     NpmciBuildDocker.readDockerfiles() | 
					
						
							|  |  |  |         .then(NpmciBuildDocker.pullDockerfileImages) | 
					
						
							|  |  |  |         .then(NpmciBuildDocker.testDockerfiles) | 
					
						
							|  |  |  |         .then(done.resolve) | 
					
						
							| 
									
										
										
										
											2016-11-24 23:21:40 +01:00
										 |  |  |     return done.promise | 
					
						
							| 
									
										
										
										
											2016-06-07 04:31:25 +02:00
										 |  |  | } | 
					
						
							|  |  |  | 
 |