| 
									
										
										
										
											2020-10-27 11:27:17 +01:00
										 |  |  | 'use strict'; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-03-25 09:02:19 +01:00
										 |  |  | process.env.NODE_ENV = 'test'; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-05-06 19:48:49 +02:00
										 |  |  | const yargs = require('yargs'); | 
					
						
							| 
									
										
										
										
											2020-10-09 18:43:15 +02:00
										 |  |  | const { cleanTestApp, generateTestApp } = require('./helpers/test-app-generator'); | 
					
						
							| 
									
										
										
										
											2019-03-06 19:19:33 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | const appName = 'testApp'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | const databases = { | 
					
						
							| 
									
										
										
										
											2019-07-18 16:25:20 +02:00
										 |  |  |   postgres: { | 
					
						
							|  |  |  |     client: 'postgres', | 
					
						
							| 
									
										
										
										
											2021-06-29 16:27:35 +02:00
										 |  |  |     connection: { | 
					
						
							|  |  |  |       host: '127.0.0.1', | 
					
						
							|  |  |  |       port: 5432, | 
					
						
							|  |  |  |       database: 'strapi_test', | 
					
						
							|  |  |  |       username: 'strapi', | 
					
						
							|  |  |  |       password: 'strapi', | 
					
						
							|  |  |  |     }, | 
					
						
							| 
									
										
										
										
											2019-07-18 16:25:20 +02:00
										 |  |  |   }, | 
					
						
							|  |  |  |   mysql: { | 
					
						
							|  |  |  |     client: 'mysql', | 
					
						
							| 
									
										
										
										
											2021-06-29 16:27:35 +02:00
										 |  |  |     connection: { | 
					
						
							|  |  |  |       host: '127.0.0.1', | 
					
						
							|  |  |  |       port: 3306, | 
					
						
							|  |  |  |       database: 'strapi-test', | 
					
						
							|  |  |  |       username: 'root', | 
					
						
							|  |  |  |       password: 'root', | 
					
						
							|  |  |  |     }, | 
					
						
							| 
									
										
										
										
											2019-07-18 16:25:20 +02:00
										 |  |  |   }, | 
					
						
							|  |  |  |   sqlite: { | 
					
						
							|  |  |  |     client: 'sqlite', | 
					
						
							| 
									
										
										
										
											2021-06-29 16:27:35 +02:00
										 |  |  |     connection: { | 
					
						
							|  |  |  |       filename: './tmp/data.db', | 
					
						
							|  |  |  |     }, | 
					
						
							| 
									
										
										
										
											2019-07-18 16:25:20 +02:00
										 |  |  |   }, | 
					
						
							| 
									
										
										
										
											2019-03-06 19:19:33 +01:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-08 23:33:39 +02:00
										 |  |  | const main = async (database) => { | 
					
						
							| 
									
										
										
										
											2019-03-06 19:19:33 +01:00
										 |  |  |   try { | 
					
						
							|  |  |  |     await cleanTestApp(appName); | 
					
						
							|  |  |  |     await generateTestApp({ appName, database }); | 
					
						
							|  |  |  |   } catch (error) { | 
					
						
							|  |  |  |     console.error(error); | 
					
						
							|  |  |  |     process.exit(1); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-08 23:33:39 +02:00
										 |  |  | // eslint-disable-next-line no-unused-expressions
 | 
					
						
							| 
									
										
										
										
											2019-05-06 19:48:49 +02:00
										 |  |  | yargs | 
					
						
							|  |  |  |   .command( | 
					
						
							|  |  |  |     '$0 [databaseName]', | 
					
						
							|  |  |  |     'Create test app', | 
					
						
							| 
									
										
										
										
											2022-08-08 23:33:39 +02:00
										 |  |  |     (yarg) => { | 
					
						
							|  |  |  |       yarg.positional('databaseName', { | 
					
						
							| 
									
										
										
										
											2019-05-06 19:48:49 +02:00
										 |  |  |         choices: Object.keys(databases), | 
					
						
							|  |  |  |       }); | 
					
						
							|  |  |  |     }, | 
					
						
							| 
									
										
										
										
											2022-08-08 23:33:39 +02:00
										 |  |  |     (argv) => { | 
					
						
							| 
									
										
										
										
											2019-07-18 16:56:49 +02:00
										 |  |  |       const { databaseName } = argv; | 
					
						
							| 
									
										
										
										
											2019-05-07 16:40:10 +02:00
										 |  |  |       if (databaseName) { | 
					
						
							|  |  |  |         return main(databases[databaseName]); | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-07-18 16:56:49 +02:00
										 |  |  |       return main({ | 
					
						
							|  |  |  |         client: argv.dbclient, | 
					
						
							| 
									
										
										
										
											2021-08-10 19:06:33 +02:00
										 |  |  |         connection: { | 
					
						
							|  |  |  |           host: argv.dbhost, | 
					
						
							|  |  |  |           port: argv.dbport, | 
					
						
							|  |  |  |           database: argv.dbname, | 
					
						
							|  |  |  |           username: argv.dbusername, | 
					
						
							|  |  |  |           password: argv.dbpassword, | 
					
						
							|  |  |  |           filename: argv.dbfile, | 
					
						
							|  |  |  |         }, | 
					
						
							| 
									
										
										
										
											2019-07-18 16:56:49 +02:00
										 |  |  |       }); | 
					
						
							| 
									
										
										
										
											2019-05-07 16:40:10 +02:00
										 |  |  |     } | 
					
						
							| 
									
										
										
										
											2019-05-06 19:48:49 +02:00
										 |  |  |   ) | 
					
						
							|  |  |  |   .help().argv; |