Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
authordiosmosis <benaka@piwik.pro>2015-05-26 22:56:15 +0300
committerdiosmosis <benaka@piwik.pro>2015-06-02 01:05:28 +0300
commit5e8641bd3e2ef3901cb0e8ecf7a82db1b1352a25 (patch)
tree1ef3d4bc7701023c95e3ff049f6b050c758c54c2 /config
parentba2f86b2c7c20fa1f8994b5496cbed217ac0cc3f (diff)
Move DI config overrides in TestingEnvironment to test.php DI config.
Diffstat (limited to 'config')
-rw-r--r--config/environment/test.php108
1 files changed, 107 insertions, 1 deletions
diff --git a/config/environment/test.php b/config/environment/test.php
index 95200e0e97..6ff1e10982 100644
--- a/config/environment/test.php
+++ b/config/environment/test.php
@@ -1,5 +1,13 @@
<?php
+use Interop\Container\ContainerInterface;
+use Piwik\Common;
+use Piwik\DbHelper;
+use Piwik\Option;
+use Piwik\Tests\Framework\Mock\TestConfig;
+use Piwik\Tests\Framework\Piwik_MockAccess;
+use Piwik\Tests\Framework\TestingEnvironment;
+
return array(
// Disable logging
@@ -14,5 +22,103 @@ return array(
'Piwik\Translation\Translator' => DI\object()
->constructorParameter('directories', array()),
- 'Piwik\Config' => DI\object('Piwik\Tests\Framework\Mock\TestConfig'),
+ 'Piwik\Config' => DI\decorate(function ($previous, ContainerInterface $c) {
+ $testingEnvironment = $c->get('Piwik\Tests\Framework\TestingEnvironment');
+ if (!$testingEnvironment->dontUseTestConfig) {
+ $settingsProvider = $c->get('Piwik\Application\Kernel\GlobalSettingsProvider');
+ return new TestConfig($settingsProvider, $testingEnvironment, $allowSave = false, $doSetTestEnvironment = true);
+ } else {
+ return $previous;
+ }
+ }),
+
+ 'observers.global' => DI\add(array(
+
+ array('Access.createAccessSingleton', function ($access) {
+ $testingEnvironment = new TestingEnvironment();
+ if (!$testingEnvironment->testUseRegularAuth) {
+ $access = new Piwik_MockAccess($access);
+ \Piwik\Access::setSingletonInstance($access);
+ }
+ }),
+
+ array('Environment.bootstrapped', function () {
+ $testingEnvironment = new TestingEnvironment();
+ $testingEnvironment->logVariables();
+ $testingEnvironment->executeSetupTestEnvHook();
+ }),
+
+ array('Request.dispatch', function () {
+ if (empty($_GET['ignoreClearAllViewDataTableParameters'])) { // TODO: should use testingEnvironment variable, not query param
+ try {
+ \Piwik\ViewDataTable\Manager::clearAllViewDataTableParameters();
+ } catch (\Exception $ex) {
+ // ignore (in case DB is not setup)
+ }
+ }
+
+ $testingEnvironment = new TestingEnvironment();
+ if ($testingEnvironment->optionsOverride) {
+ try {
+ foreach ($testingEnvironment->optionsOverride as $name => $value) {
+ Option::set($name, $value);
+ }
+ } catch (\Exception $ex) {
+ // ignore (in case DB is not setup)
+ }
+ }
+
+ \Piwik\Plugins\CoreVisualizations\Visualizations\Cloud::$debugDisableShuffle = true;
+ \Piwik\Visualization\Sparkline::$enableSparklineImages = false;
+ \Piwik\Plugins\ExampleUI\API::$disableRandomness = true;
+ }),
+
+ array('AssetManager.getStylesheetFiles', function (&$stylesheets) {
+ $testingEnvironment = new TestingEnvironment();
+ if ($testingEnvironment->useOverrideCss) {
+ $stylesheets[] = 'tests/resources/screenshot-override/override.css';
+ }
+ }),
+
+ array('AssetManager.getJavaScriptFiles', function (&$jsFiles) {
+ $testingEnvironment = new TestingEnvironment();
+ if ($testingEnvironment->useOverrideJs) {
+ $jsFiles[] = 'tests/resources/screenshot-override/override.js';
+ }
+ }),
+
+ array('Updater.checkForUpdates', function () {
+ try {
+ @\Piwik\Filesystem::deleteAllCacheOnUpdate();
+ } catch (Exception $ex) {
+ // pass
+ }
+ }),
+
+ array('Test.Mail.send', function (\Zend_Mail $mail) {
+ $outputFile = PIWIK_INCLUDE_PATH . '/tmp/' . Common::getRequestVar('module', '') . '.' . Common::getRequestVar('action', '') . '.mail.json';
+ $outputContent = str_replace("=\n", "", $mail->getBodyText($textOnly = true));
+ $outputContent = str_replace("=0A", "\n", $outputContent);
+ $outputContent = str_replace("=3D", "=", $outputContent);
+ $outputContents = array(
+ 'from' => $mail->getFrom(),
+ 'to' => $mail->getRecipients(),
+ 'subject' => $mail->getSubject(),
+ 'contents' => $outputContent
+ );
+ file_put_contents($outputFile, json_encode($outputContents));
+ }),
+
+ array('Platform.initialized', function () {
+ static $archivingTablesDeleted = false;
+
+ $testingEnvironment = new TestingEnvironment();
+ if ($testingEnvironment->deleteArchiveTables
+ && !$archivingTablesDeleted
+ ) {
+ $archivingTablesDeleted = true;
+ DbHelper::deleteArchiveTables();
+ }
+ }),
+ )),
);