forked from strapi/strapi
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcreateTestApp.js
73 lines (68 loc) · 1.45 KB
/
createTestApp.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
const { cleanTestApp, generateTestApp } = require('./helpers/testAppGenerator');
const yargs = require('yargs');
const appName = 'testApp';
const databases = {
mongo: {
client: 'mongo',
host: '127.0.0.1',
port: 27017,
database: 'strapi_test',
username: 'root',
password: 'strapi',
},
postgres: {
client: 'postgres',
host: '127.0.0.1',
port: 5432,
database: 'strapi_test',
username: 'strapi',
password: 'strapi',
},
mysql: {
client: 'mysql',
host: '127.0.0.1',
port: 3306,
database: 'strapi-test',
username: 'root',
password: 'root',
},
sqlite: {
client: 'sqlite',
filename: './tmp/data.db',
},
};
const main = async database => {
try {
await cleanTestApp(appName);
await generateTestApp({ appName, database });
} catch (error) {
console.error(error);
process.exit(1);
}
};
yargs
.command(
'$0 [databaseName]',
'Create test app',
yargs => {
yargs.positional('databaseName', {
choices: Object.keys(databases),
});
},
argv => {
const { databaseName } = argv;
if (databaseName) {
return main(databases[databaseName]);
}
return main({
client: argv.dbclient,
host: argv.dbhost,
port: argv.dbport,
database: argv.dbname,
username: argv.dbusername,
password: argv.dbpassword,
filename: argv.dbfile,
});
}
)
.help().argv;