-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathbootstrap.php
More file actions
65 lines (50 loc) · 2.2 KB
/
bootstrap.php
File metadata and controls
65 lines (50 loc) · 2.2 KB
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
<?php
declare(strict_types=1);
use craft\test\TestSetup;
ini_set('date.timezone', 'UTC');
date_default_timezone_set('UTC');
// Use the current installation of Craft
define('CRAFT_TESTS_PATH', __DIR__);
define('CRAFT_STORAGE_PATH', __DIR__ . DIRECTORY_SEPARATOR . '_craft' . DIRECTORY_SEPARATOR . 'storage');
define('CRAFT_TEMPLATES_PATH', __DIR__ . DIRECTORY_SEPARATOR . '_craft' . DIRECTORY_SEPARATOR . 'templates');
define('CRAFT_CONFIG_PATH', __DIR__ . DIRECTORY_SEPARATOR . '_craft' . DIRECTORY_SEPARATOR . 'config');
define('CRAFT_MIGRATIONS_PATH', __DIR__ . DIRECTORY_SEPARATOR . '_craft' . DIRECTORY_SEPARATOR . 'migrations');
define('CRAFT_TRANSLATIONS_PATH', __DIR__ . DIRECTORY_SEPARATOR . '_craft' . DIRECTORY_SEPARATOR . 'translations');
define('CRAFT_VENDOR_PATH', realpath(__DIR__ . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'vendor'));
require_once __DIR__ . '/../vendor/autoload.php';
$devMode = true;
$environment = 'test';
TestSetup::configureCraft();
$configService = new \craft\services\Config();
$configService->env = $environment;
$configService->configDir = CRAFT_CONFIG_PATH;
$configService->appDefaultsDir = dirname(__DIR__) . DIRECTORY_SEPARATOR . 'src' . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'defaults';
$generalConfig = $configService->getConfigFromFile('general');
$config = \craft\helpers\ArrayHelper::merge(
[
'vendorPath' => CRAFT_VENDOR_PATH,
'env' => $environment,
'components' => [
'config' => $configService,
],
'id' => 'test',
'basePath' => __DIR__,
'class' => craft\console\Application::class,
],
require 'vendor/craftcms/cms/src/config/app.php',
require 'vendor/craftcms/cms/src/config/app.console.php',
$configService->getConfigFromFile('app'),
);
// Initialize the application
/** @var \craft\web\Application|craft\console\Application $app */
$app = Craft::createObject($config); /** @phpstan-ignore-line */
// Load and run Craft
/** @var craft\console\Application $app */
\Craft::$app = $app;
define('TEST_FILE', '/tmp/craft-async-queue.txt');
if (!defined('CRAFT_BASE_PATH')) {
define('CRAFT_BASE_PATH', __DIR__);
}
if (!defined('YII_DEBUG')) {
define('YII_DEBUG', true);
}