Exemplo n.º 1
0
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $this->recreateContainerWithWebEnvironment();
     $this->initHostAndQueryString($input);
     if ($this->isTestModeEnabled()) {
         $indexFile = '/tests/PHPUnit/proxy/';
         $this->resetDatabase();
     } else {
         $indexFile = '/';
     }
     $indexFile .= 'index.php';
     if (!empty($_GET['pid'])) {
         $process = new Process($_GET['pid']);
         if ($process->hasFinished()) {
             return;
         }
         $process->startProcess();
     }
     if ($input->getOption('superuser')) {
         StaticContainer::addDefinitions(array('observers.global' => \DI\add(array(array('Environment.bootstrapped', function () {
             Access::getInstance()->setSuperUserAccess(true);
         })))));
     }
     require_once PIWIK_INCLUDE_PATH . $indexFile;
     if (!empty($process)) {
         $process->finishProcess();
     }
 }
Exemplo n.º 2
0
 /**
  * @test
  */
 public function extensions_can_be_registered()
 {
     $container = $this->createContainer(['twig.extensions' => DI\add([DI\get(Twig_Extension_StringLoader::class)])]);
     /** @var Twig_Environment $twig */
     $twig = $container->get(Twig_Environment::class);
     $this->assertTrue($twig->hasExtension('string_loader'));
 }
Exemplo n.º 3
0
<?php

return array('Piwik\\Plugins\\CoreUpdater\\Updater' => DI\object()->constructorParameter('tmpPath', DI\get('path.tmp')), 'diagnostics.optional' => DI\add(array(DI\get('Piwik\\Plugins\\CoreUpdater\\Diagnostic\\HttpsUpdateCheck'))));
Exemplo n.º 4
0
<?php

return array('tracker.request.processors' => DI\add(array(DI\get('Piwik\\Plugins\\Actions\\Tracker\\ActionsRequestProcessor'))));
Exemplo n.º 5
0
<?php

return ['steps.after' => DI\add([DI\get('Couscous\\Module\\Core\\Step\\ClearTargetDirectory'), DI\get('Couscous\\Module\\Core\\Step\\WriteFiles')])];
Exemplo n.º 6
0
<?php

return array('tracker.request.processors' => DI\add(array(DI\get('Piwik\\Plugins\\Heartbeat\\Tracker\\PingRequestProcessor'))));
Exemplo n.º 7
0
<?php

return array('diagnostics.optional' => DI\add(array(DI\get('Piwik\\Plugins\\UserCountry\\Diagnostic\\GeolocationDiagnostic'))));
Exemplo n.º 8
0
<?php

return array('tracker.request.processors' => DI\add(array(DI\get('Piwik\\Plugins\\SitesManager\\Tracker\\SitesManagerRequestProcessor'))));
Exemplo n.º 9
0
use Piwik\Container\StaticContainer;
return array('tests.ui.url_normalizer_blacklist.api' => array(), 'tests.ui.url_normalizer_blacklist.controller' => array(), 'Piwik\\Config' => \DI\decorate(function (\Piwik\Config $config) {
    $config->General['cors_domains'][] = '*';
    $config->General['trusted_hosts'][] = $config->tests['http_host'];
    $config->General['trusted_hosts'][] = $config->tests['http_host'] . ':' . $config->tests['port'];
    return $config;
}), 'observers.global' => \DI\add(array(array('Request.dispatch.end', function (&$result) {
    $request = $_GET + $_POST;
    $apiblacklist = StaticContainer::get('tests.ui.url_normalizer_blacklist.api');
    if (!empty($request['method']) && in_array($request['method'], $apiblacklist)) {
        return;
    }
    $controllerActionblacklist = StaticContainer::get('tests.ui.url_normalizer_blacklist.controller');
    if (!empty($request['module']) && !empty($request['action'])) {
        $controllerAction = $request['module'] . '.' . $request['action'];
        if (in_array($controllerAction, $controllerActionblacklist)) {
            return;
        }
    }
    $config = \Piwik\Config::getInstance();
    $host = $config->tests['http_host'];
    $port = $config->tests['port'];
    if (!empty($port)) {
        // remove the port from URLs if any so UI tests won't fail if the port isn't 80
        $result = str_replace($host . ':' . $port, $host, $result);
    }
    // remove PIWIK_INCLUDE_PATH from result so tests don't change based on the machine used
    $result = str_replace(realpath(PIWIK_INCLUDE_PATH), '', $result);
}), array('Controller.RssWidget.rssPiwik.end', function (&$result, $parameters) {
    $result = "";
}))));
Exemplo n.º 10
0
<?php

return ['steps.preprocessing' => DI\add([DI\get('Couscous\\Module\\Markdown\\Step\\LoadMarkdownFiles'), DI\get('Couscous\\Module\\Markdown\\Step\\ParseMarkdownFrontMatter'), DI\get('Couscous\\Module\\Markdown\\Step\\ProcessMarkdownFileName'), DI\get('Couscous\\Module\\Markdown\\Step\\RewriteMarkdownLinks'), DI\get('Couscous\\Module\\Markdown\\Step\\RenderMarkdown'), DI\get('Couscous\\Module\\Markdown\\Step\\CreateHeadingIds')]), 'Mni\\FrontYAML\\Parser' => DI\object()->constructorParameter('markdownParser', DI\get('Mni\\FrontYAML\\Markdown\\MarkdownParser')), 'Mni\\FrontYAML\\Markdown\\MarkdownParser' => DI\object('Mni\\FrontYAML\\Bridge\\Parsedown\\ParsedownParser')->constructor(DI\get('ParsedownExtra'))];
Exemplo n.º 11
0
<?php

return array('diagnostics.optional' => DI\add(array(DI\get('Piwik\\Plugins\\CustomPiwikJs\\Diagnostic\\PiwikJsCheck'))));
Exemplo n.º 12
0
        $access = new FakeAccess();
        FakeAccess::$superUser = true;
        FakeAccess::$superUserLogin = '******';
        return $access;
    } else {
        return $previous;
    }
}), 'observers.global' => DI\add(array(array('AssetManager.getStylesheetFiles', function (&$stylesheets) {
    $useOverrideCss = \Piwik\Container\StaticContainer::get('test.vars.useOverrideCss');
    if ($useOverrideCss) {
        $stylesheets[] = 'tests/resources/screenshot-override/override.css';
    }
}), array('AssetManager.getJavaScriptFiles', function (&$jsFiles) {
    $useOverrideJs = \Piwik\Container\StaticContainer::get('test.vars.useOverrideJs');
    if ($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));
}))));
Exemplo n.º 13
0
<?php

return array('tests.ui.url_normalizer_blacklist.api' => DI\add(array('Overlay.getFollowingPages')), 'tests.ui.url_normalizer_blacklist.controller' => DI\add(array('Overlay.renderSidebar')));
Exemplo n.º 14
0
<?php

return ['steps.init' => DI\add([DI\get('Couscous\\Module\\Config\\Step\\SetDefaultConfig'), DI\get('Couscous\\Module\\Config\\Step\\LoadConfig'), DI\get('Couscous\\Module\\Config\\Step\\OverrideBaseUrlForPreview')])];
Exemplo n.º 15
0
<?php

return array('tracker.request.processors' => DI\add(array(DI\get('Piwik\\Plugins\\CustomVariables\\Tracker\\CustomVariablesRequestProcessor'))), 'CustomVariables.today' => 'today');
Exemplo n.º 16
0
<?php

return ['steps.before' => DI\add([DI\get('Couscous\\Module\\Template\\Step\\UseDefaultTemplate'), DI\get('Couscous\\Module\\Template\\Step\\FetchRemoteTemplate'), DI\get('Couscous\\Module\\Template\\Step\\ValidateTemplateDirectory')]), 'steps.postprocessing' => DI\add([DI\get('Couscous\\Module\\Template\\Step\\LoadAssets'), DI\get('Couscous\\Module\\Template\\Step\\AddPageListToLayoutVariables'), DI\get('Couscous\\Module\\Template\\Step\\ProcessTwigLayouts')])];
Exemplo n.º 17
0
<?php

return ['steps.preprocessing' => DI\add([DI\get('Couscous\\Module\\Bower\\Step\\RunBowerInstall')])];
 public static function provideContainerConfigBeforeClass()
 {
     $result = array();
     $testingEnvironment = new TestingEnvironmentVariables();
     if ($testingEnvironment->_triggerTrackerFailure) {
         $result['observers.global'] = \DI\add(array(array('Tracker.newHandler', function () {
             @http_response_code(500);
             throw new \Exception("injected exception");
         })));
     }
     return $result;
 }
Exemplo n.º 19
0
<?php

return array('Piwik\\Plugins\\CoreHome\\Tracker\\VisitRequestProcessor' => DI\object()->constructorParameter('visitStandardLength', DI\get('ini.Tracker.visit_standard_length')), 'tracker.request.processors' => DI\add(array(DI\get('Piwik\\Plugins\\CoreHome\\Tracker\\VisitRequestProcessor'))));
Exemplo n.º 20
0
 public static function provideContainerConfigBeforeClass()
 {
     $result = array();
     $observers = array();
     $testingEnvironment = new TestingEnvironmentVariables();
     if ($testingEnvironment->_triggerTrackerFailure) {
         $observers[] = array('Tracker.newHandler', function () {
             @http_response_code(500);
             throw new \Exception("injected exception");
         });
     }
     if ($testingEnvironment->_triggerInvalidRequests) {
         // we trigger an invalid request by checking for triggerInvalid=1 in a request, and if found replacing the
         // request w/ a request that has an nonexistent idsite
         $observers[] = array('Tracker.initRequestSet', function (RequestSet $requestSet) {
             $requests = $requestSet->getRequests();
             foreach ($requests as $index => $request) {
                 $url = $request->getParam('url');
                 if (strpos($url, 'triggerInvalid=1') !== false) {
                     $newParams = $request->getParams();
                     $newParams['idsite'] = 1000;
                     $requests[$index] = new Request($newParams);
                 }
             }
             $requestSet->setRequests($requests);
         });
     }
     if (!empty($observers)) {
         $result['observers.global'] = \DI\add($observers);
     }
     return $result;
 }
Exemplo n.º 21
0
<?php

return ['steps.before' => DI\add([DI\get('Couscous\\Module\\Scripts\\Step\\ExecuteBeforeScripts')]), 'steps.after' => DI\add([DI\get('Couscous\\Module\\Scripts\\Step\\ExecuteAfterScripts')])];
 public function getExtraDefinitions()
 {
     $testVarDefinitionSource = new TestingEnvironmentVariablesDefinitionSource($this->vars);
     $diConfigs = array($testVarDefinitionSource);
     if ($this->vars->testCaseClass) {
         $testCaseClass = $this->vars->testCaseClass;
         if (class_exists($testCaseClass)) {
             $testCase = new $testCaseClass();
             // Apply DI config from the fixture
             if (isset($testCaseClass::$fixture)) {
                 $diConfigs[] = $testCaseClass::$fixture->provideContainerConfig();
             }
             if (method_exists($testCaseClass, 'provideContainerConfigBeforeClass')) {
                 $diConfigs[] = $testCaseClass::provideContainerConfigBeforeClass();
             }
             if (method_exists($testCase, 'provideContainerConfig')) {
                 $diConfigs[] = $testCase->provideContainerConfig();
             }
         }
     } else {
         if ($this->vars->fixtureClass) {
             $fixtureClass = $this->vars->fixtureClass;
             if (class_exists($fixtureClass)) {
                 $fixture = new $fixtureClass();
                 if (method_exists($fixture, 'provideContainerConfig')) {
                     $diConfigs[] = $fixture->provideContainerConfig();
                 }
             }
         }
     }
     $plugins = $this->getPluginsToLoadDuringTest();
     $diConfigs[] = array('observers.global' => \DI\add($this->globalObservers), 'Piwik\\Config' => \DI\decorate(function (Config $config, ContainerInterface $c) use($plugins) {
         /** @var PluginList $pluginList */
         $pluginList = $c->get('Piwik\\Application\\Kernel\\PluginList');
         $plugins = $pluginList->sortPlugins($plugins);
         // set the plugins to load, has to be done to Config, since Config will reload files on construction.
         // TODO: probably shouldn't need to do this, will wait until 3.0 to remove.
         $config->Plugins['Plugins'] = $plugins;
         return $config;
     }));
     return $diConfigs;
 }
Exemplo n.º 23
0
<?php

return array('tracker.request.processors' => DI\add(array(DI\get('Piwik\\Plugins\\Ecommerce\\Tracker\\EcommerceRequestProcessor'))));