PMC-761
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -41,3 +41,4 @@ node_modules
|
||||
test_shared/
|
||||
**/cache/
|
||||
storage/
|
||||
phpunit.xml
|
||||
|
||||
57
phpunit.xml
57
phpunit.xml
@@ -15,9 +15,9 @@
|
||||
<directory>./tests/workflow/engine/src/</directory>
|
||||
</testsuite>
|
||||
<testsuite name="Unit">
|
||||
<directory suffix="Test.php">./tests/Unit</directory>
|
||||
<directory suffix="Test.php">./tests/Unit</directory>
|
||||
</testsuite>
|
||||
</testsuites>
|
||||
</testsuites>
|
||||
|
||||
<filter>
|
||||
<whitelist addUncoveredFilesFromWhitelist="true" processUncoveredFilesFromWhitelist="false">
|
||||
@@ -33,31 +33,32 @@
|
||||
</filter>
|
||||
|
||||
<php>
|
||||
<var name="APP_ENV" value="testing" />
|
||||
<var name="SYS_SYS" value="test" />
|
||||
<var name="SYS_LANG" value="en" />
|
||||
<var name="SYS_SKIN" value="neoclassic" />
|
||||
<var name="DB_ADAPTER" value="mysql" />
|
||||
<var name="DB_HOST" value="processmaker3" />
|
||||
<var name="DB_NAME" value="wf_test" />
|
||||
<var name="DB_USER" value="root" />
|
||||
<var name="DB_PASS" value="" />
|
||||
<var name="PATH_DB" value="./shared/sites/" />
|
||||
<var name="PATH_DATA" value="./shared/" />
|
||||
<var name="APP_HOST" value="processmaker3.local" />
|
||||
<var name="HTTPS" value="off" />
|
||||
<var name="SERVER_PORT" value="8080" />
|
||||
|
||||
|
||||
<env name="DB_DATABASE" value="test" />
|
||||
<env name="DB_USERNAME" value="root" />
|
||||
<env name="DB_PASSWORD" value="" />
|
||||
|
||||
<env name="RUN_MSSQL_TESTS" value="true" />
|
||||
<env name="MSSQL_HOST" value="172.16.3.1" />
|
||||
<env name="MSSQL_PORT" value="1433" />
|
||||
<env name="MSSQL_DATABASE" value="testexternal" />
|
||||
<env name="MSSQL_USERNAME" value="test" />
|
||||
<env name="MSSQL_PASSWORD" value="test" />
|
||||
<!--Connection to database-->
|
||||
<env name="DB_HOST" value="127.0.0.1" />
|
||||
<env name="DB_DATABASE" value="test" />
|
||||
<env name="DB_USERNAME" value="root" />
|
||||
<env name="DB_PASSWORD" value="password" />
|
||||
<!--Connection to database SQLServer-->
|
||||
<env name="RUN_MSSQL_TESTS" value="false" />
|
||||
<env name="MSSQL_HOST" value="172.16.3.1" />
|
||||
<env name="MSSQL_PORT" value="1433" />
|
||||
<env name="MSSQL_DATABASE" value="testexternal" />
|
||||
<env name="MSSQL_USERNAME" value="test" />
|
||||
<env name="MSSQL_PASSWORD" value="test" />
|
||||
<!--Php variables-->
|
||||
<var name="APP_ENV" value="testing" />
|
||||
<var name="SYS_SYS" value="test" />
|
||||
<var name="SYS_LANG" value="en" />
|
||||
<var name="SYS_SKIN" value="neoclassic" />
|
||||
<var name="DB_ADAPTER" value="mysql" />
|
||||
<var name="DB_HOST" value="processmaker3" />
|
||||
<var name="DB_NAME" value="wf_test" />
|
||||
<var name="DB_USER" value="root" />
|
||||
<var name="DB_PASS" value="" />
|
||||
<var name="PATH_DB" value="./shared/sites/" />
|
||||
<var name="PATH_DATA" value="./shared/" />
|
||||
<var name="APP_HOST" value="processmaker3.local" />
|
||||
<var name="HTTPS" value="off" />
|
||||
<var name="SERVER_PORT" value="8080" />
|
||||
</php>
|
||||
</phpunit>
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Test harness bootstrap that sets up initial defines and builds up the initial database schema
|
||||
*/
|
||||
@@ -20,6 +21,7 @@ define('PATH_DB', 'shared/sites/');
|
||||
define('PATH_DATA', 'shared/rbac/');
|
||||
define('PATH_SEP', '/');
|
||||
define('PATH_METHODS', 'workflow/engine/methods/');
|
||||
define('SYS_LANG', 'en');
|
||||
|
||||
// Setup basic app services
|
||||
$app = require __DIR__ . '/../bootstrap/app.php';
|
||||
@@ -27,17 +29,17 @@ $app->make(Kernel::class)->bootstrap();
|
||||
|
||||
// Setup our testexternal database
|
||||
config(['database.connections.testexternal' => [
|
||||
'driver' => 'mysql',
|
||||
'host' => env('DB_HOST', '127.0.0.1'),
|
||||
'database' => env('DB_TESTEXTERNAL_DB', 'testexternal'),
|
||||
'username' => env('DB_USERNAME', 'root'),
|
||||
'password' => env('DB_PASSWORD', ''),
|
||||
'unix_socket' => env('DB_SOCKET', ''),
|
||||
'charset' => 'utf8mb4',
|
||||
'collation' => 'utf8mb4_unicode_ci',
|
||||
'prefix' => '',
|
||||
'strict' => true,
|
||||
'engine' => null,
|
||||
'driver' => 'mysql',
|
||||
'host' => env('DB_HOST', '127.0.0.1'),
|
||||
'database' => env('DB_DATABASE', 'testexternal'),
|
||||
'username' => env('DB_USERNAME', 'root'),
|
||||
'password' => env('DB_PASSWORD', 'password'),
|
||||
'unix_socket' => env('DB_SOCKET', ''),
|
||||
'charset' => 'utf8mb4',
|
||||
'collation' => 'utf8mb4_unicode_ci',
|
||||
'prefix' => '',
|
||||
'strict' => true,
|
||||
'engine' => null,
|
||||
]]);
|
||||
|
||||
// Now, drop all test tables and repopulate with schema
|
||||
@@ -52,13 +54,13 @@ DB::connection('testexternal')->table('test')->insert([
|
||||
]);
|
||||
|
||||
// Only do if we are supporting MSSql tests
|
||||
if(env('RUN_MSSQL_TESTS')) {
|
||||
if (env('RUN_MSSQL_TESTS')) {
|
||||
config(['database.connections.mssql' => [
|
||||
'driver' => 'sqlsrv',
|
||||
'host' => env('MSSQL_HOST', '127.0.0.1'),
|
||||
'database' => env('MSSQL_DATABASE', 'testexternal'),
|
||||
'username' => env('MSSQL_USERNAME', 'root'),
|
||||
'password' => env('MSSQL_PASSWORD', ''),
|
||||
'driver' => 'sqlsrv',
|
||||
'host' => env('MSSQL_HOST', '127.0.0.1'),
|
||||
'database' => env('MSSQL_DATABASE', 'testexternal'),
|
||||
'username' => env('MSSQL_USERNAME', 'root'),
|
||||
'password' => env('MSSQL_PASSWORD', 'password'),
|
||||
]]);
|
||||
|
||||
Schema::connection('mssql')->dropIfExists('test');
|
||||
@@ -73,26 +75,25 @@ if(env('RUN_MSSQL_TESTS')) {
|
||||
|
||||
|
||||
// THIS IS FOR STANDARD PROCESSMAKER TABLES
|
||||
|
||||
// Now, drop all test tables and repopulate with schema
|
||||
DB::unprepared('SET FOREIGN_KEY_CHECKS = 0');
|
||||
$colname = 'Tables_in_' . env('DB_DATABASE');
|
||||
$tables = DB::select('SHOW TABLES');
|
||||
$drop = [];
|
||||
foreach($tables as $table) {
|
||||
foreach ($tables as $table) {
|
||||
$drop[] = $table->$colname;
|
||||
}
|
||||
if(count($drop)) {
|
||||
if (count($drop)) {
|
||||
$drop = implode(',', $drop);
|
||||
DB::statement("DROP TABLE $drop");
|
||||
DB::unprepared('SET FOREIGN_KEY_CHECKS = 1');
|
||||
}
|
||||
|
||||
// Repopulate with schema and standard inserts
|
||||
DB::unprepared(file_get_contents(PATH_CORE.'data/mysql/schema.sql'));
|
||||
DB::unprepared(file_get_contents(PATH_RBAC_CORE.'data/mysql/schema.sql'));
|
||||
DB::unprepared(file_get_contents(PATH_CORE.'data/mysql/insert.sql'));
|
||||
DB::unprepared(file_get_contents(PATH_RBAC_CORE.'data/mysql/insert.sql'));
|
||||
DB::unprepared(file_get_contents(PATH_CORE . 'data/mysql/schema.sql'));
|
||||
DB::unprepared(file_get_contents(PATH_RBAC_CORE . 'data/mysql/schema.sql'));
|
||||
DB::unprepared(file_get_contents(PATH_CORE . 'data/mysql/insert.sql'));
|
||||
DB::unprepared(file_get_contents(PATH_RBAC_CORE . 'data/mysql/insert.sql'));
|
||||
|
||||
// Set our APP_SEQUENCE val
|
||||
DB::table('APP_SEQUENCE')->insert([
|
||||
@@ -106,7 +107,7 @@ DB::table('OAUTH_CLIENTS')->insert([
|
||||
'CLIENT_NAME' => 'PM Web Designer',
|
||||
'CLIENT_DESCRIPTION' => 'ProcessMaker Web Designer App',
|
||||
'CLIENT_WEBSITE' => 'www.processmaker.com',
|
||||
'REDIRECT_URI' => config('app.url') . '/sys' . config('system.workspace').'/en/neoclassic/oauth2/grant',
|
||||
'REDIRECT_URI' => config('app.url') . '/sys' . config('system.workspace') . '/en/neoclassic/oauth2/grant',
|
||||
'USR_UID' => '00000000000000000000000000000001'
|
||||
]);
|
||||
DB::table('OAUTH_ACCESS_TOKENS')->insert([
|
||||
|
||||
Reference in New Issue
Block a user