annotate core/modules/system/tests/fixtures/update/drupal-8.test-config-init.php @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents 129ea1e6d783
children
rev   line source
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();