mirror of
https://github.com/strapi/strapi.git
synced 2025-07-21 07:57:45 +00:00
81 lines
1.6 KiB
JavaScript
81 lines
1.6 KiB
JavaScript
'use strict';
|
|
|
|
process.env.NODE_ENV = 'test';
|
|
|
|
const yargs = require('yargs');
|
|
const { cleanTestApp, generateTestApp } = require('./test-app-generator');
|
|
|
|
const appName = 'testApp';
|
|
|
|
const databases = {
|
|
postgres: {
|
|
client: 'postgres',
|
|
connection: {
|
|
host: '127.0.0.1',
|
|
port: 5432,
|
|
database: 'strapi_test',
|
|
username: 'strapi',
|
|
password: 'strapi',
|
|
schema: 'myschema',
|
|
},
|
|
},
|
|
mysql: {
|
|
client: 'mysql',
|
|
connection: {
|
|
host: '127.0.0.1',
|
|
port: 3306,
|
|
database: 'strapi-test',
|
|
username: 'root',
|
|
password: 'root',
|
|
},
|
|
},
|
|
sqlite: {
|
|
client: 'sqlite',
|
|
connection: {
|
|
filename: './tmp/data.db',
|
|
},
|
|
useNullAsDefault: true,
|
|
},
|
|
};
|
|
|
|
const main = async (database) => {
|
|
try {
|
|
await cleanTestApp(appName);
|
|
await generateTestApp({ appName, database });
|
|
} catch (error) {
|
|
console.error(error);
|
|
process.exit(1);
|
|
}
|
|
};
|
|
|
|
// eslint-disable-next-line no-unused-expressions
|
|
yargs
|
|
.command(
|
|
'$0 [databaseName]',
|
|
'Create test app',
|
|
(yarg) => {
|
|
yarg.positional('databaseName', {
|
|
choices: Object.keys(databases),
|
|
});
|
|
},
|
|
(argv) => {
|
|
const { databaseName } = argv;
|
|
if (databaseName) {
|
|
return main(databases[databaseName]);
|
|
}
|
|
|
|
return main({
|
|
client: argv.dbclient,
|
|
connection: {
|
|
host: argv.dbhost,
|
|
port: argv.dbport,
|
|
database: argv.dbname,
|
|
username: argv.dbusername,
|
|
password: argv.dbpassword,
|
|
filename: argv.dbfile,
|
|
},
|
|
});
|
|
}
|
|
)
|
|
.help().argv;
|