assertEquals("- 1 ['0' => 'mock output'] [] [idsubtable = ]
", $output); if (!empty($urlTmp)) { Option::set('piwikUrl', $urlTmp); } else { Option::delete('piwikUrl'); } } public function testWebArchiveScriptCanBeRunWithPhpCgiAndWithoutTokenAuth() { [$returnCode, $output] = $this->runArchivePhpScriptWithPhpCgi(); $this->assertEquals(0, $returnCode, "Output: " . $output); $this->assertStringStartsWith('mock output', $output); } private function runArchivePhpScriptWithPhpCgi() { $command = "php-cgi \"" . PIWIK_INCLUDE_PATH . "/tests/PHPUnit/proxy/archive.php" . "\""; exec($command, $output, $returnCode); $output = implode("\n", $output); return array($returnCode, $output); } public static function provideContainerConfigBeforeClass() { return array( LoggerInterface::class => \Piwik\DI::get(Logger::class), 'Tests.log.allowAllHandlers' => true, 'observers.global' => [ ['API.Request.intercept', \Piwik\DI::value(function (&$returnedValue, $finalParameters, $pluginName, $methodName, $parametersRequest) { if ($pluginName == 'CoreAdminHome' && $methodName == 'runCronArchiving') { $returnedValue = 'mock output'; } })], ['Console.doRun', \Piwik\DI::value(function (&$exitCode, $input, $output) { if ($input->getFirstArgument() == 'core:archive') { $output->writeln('mock output'); $exitCode = 0; } })], ], ); } }