Chris@17
|
1 <?php
|
Chris@17
|
2 // @codingStandardsIgnoreFile
|
Chris@17
|
3
|
Chris@17
|
4 use Drupal\Core\Database\Database;
|
Chris@17
|
5
|
Chris@17
|
6 $connection = Database::getConnection();
|
Chris@17
|
7
|
Chris@17
|
8 // Manually configure the test mail collector implementation to prevent
|
Chris@17
|
9 // tests from sending out emails and collect them in state instead.
|
Chris@17
|
10 // While this should be enforced via settings.php prior to installation,
|
Chris@17
|
11 // some tests expect to be able to test mail system implementations.
|
Chris@17
|
12 $config = $connection->select('config')
|
Chris@17
|
13 ->fields('config', ['data'])
|
Chris@17
|
14 ->condition('collection', '')
|
Chris@17
|
15 ->condition('name', 'system.mail')
|
Chris@17
|
16 ->execute()
|
Chris@17
|
17 ->fetchField();
|
Chris@17
|
18 $config = unserialize($config);
|
Chris@17
|
19 $config['interface']['default'] = 'test_mail_collector';
|
Chris@17
|
20 $connection->update('config')
|
Chris@17
|
21 ->fields([
|
Chris@17
|
22 'data' => serialize($config),
|
Chris@17
|
23 'collection' => '',
|
Chris@17
|
24 'name' => 'system.mail',
|
Chris@17
|
25 ])
|
Chris@17
|
26 ->condition('collection', '')
|
Chris@17
|
27 ->condition('name', 'system.mail')
|
Chris@17
|
28 ->execute();
|
Chris@17
|
29
|
Chris@17
|
30 // By default, verbosely display all errors and disable all production
|
Chris@17
|
31 // environment optimizations for all tests to avoid needless overhead and
|
Chris@17
|
32 // ensure a sane default experience for test authors.
|
Chris@17
|
33 // @see https://www.drupal.org/node/2259167
|
Chris@17
|
34 $config = $connection->select('config')
|
Chris@17
|
35 ->fields('config', ['data'])
|
Chris@17
|
36 ->condition('collection', '')
|
Chris@17
|
37 ->condition('name', 'system.logging')
|
Chris@17
|
38 ->execute()
|
Chris@17
|
39 ->fetchField();
|
Chris@17
|
40 $config = unserialize($config);
|
Chris@17
|
41 $config['error_level'] = 'verbose';
|
Chris@17
|
42 $connection->update('config')
|
Chris@17
|
43 ->fields([
|
Chris@17
|
44 'data' => serialize($config),
|
Chris@17
|
45 'collection' => '',
|
Chris@17
|
46 'name' => 'system.logging',
|
Chris@17
|
47 ])
|
Chris@17
|
48 ->condition('collection', '')
|
Chris@17
|
49 ->condition('name', 'system.logging')
|
Chris@17
|
50 ->execute();
|
Chris@17
|
51
|
Chris@17
|
52 $config = $connection->select('config')
|
Chris@17
|
53 ->fields('config', ['data'])
|
Chris@17
|
54 ->condition('collection', '')
|
Chris@17
|
55 ->condition('name', 'system.performance')
|
Chris@17
|
56 ->execute()
|
Chris@17
|
57 ->fetchField();
|
Chris@17
|
58 $config = unserialize($config);
|
Chris@17
|
59 $config['css']['preprocess'] = FALSE;
|
Chris@17
|
60 $config['js']['preprocess'] = FALSE;
|
Chris@17
|
61 $connection->update('config')
|
Chris@17
|
62 ->fields([
|
Chris@17
|
63 'data' => serialize($config),
|
Chris@17
|
64 'collection' => '',
|
Chris@17
|
65 'name' => 'system.performance',
|
Chris@17
|
66 ])
|
Chris@17
|
67 ->condition('collection', '')
|
Chris@17
|
68 ->condition('name', 'system.performance')
|
Chris@17
|
69 ->execute();
|
Chris@17
|
70
|
Chris@17
|
71 // Set an explicit time zone to not rely on the system one, which may vary
|
Chris@17
|
72 // from setup to setup. The Australia/Sydney time zone is chosen so all
|
Chris@17
|
73 // tests are run using an edge case scenario (UTC10 and DST). This choice
|
Chris@17
|
74 // is made to prevent time zone related regressions and reduce the
|
Chris@17
|
75 // fragility of the testing system in general.
|
Chris@17
|
76 $config = $connection->select('config')
|
Chris@17
|
77 ->fields('config', ['data'])
|
Chris@17
|
78 ->condition('collection', '')
|
Chris@17
|
79 ->condition('name', 'system.date')
|
Chris@17
|
80 ->execute()
|
Chris@17
|
81 ->fetchField();
|
Chris@17
|
82 $config = unserialize($config);
|
Chris@17
|
83 $config['timezone']['default'] = 'Australia/Sydney';
|
Chris@17
|
84 $connection->update('config')
|
Chris@17
|
85 ->fields([
|
Chris@17
|
86 'data' => serialize($config),
|
Chris@17
|
87 'collection' => '',
|
Chris@17
|
88 'name' => 'system.date',
|
Chris@17
|
89 ])
|
Chris@17
|
90 ->condition('collection', '')
|
Chris@17
|
91 ->condition('name', 'system.date')
|
Chris@17
|
92 ->execute();
|