Skip to content
Extraits de code Groupes Projets
Valider 548a33d3 rédigé par diosmosis's avatar diosmosis
Parcourir les fichiers

Allow UI tests to delete archiving tables.

parent 7bf5c796
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -11,6 +11,7 @@ namespace Piwik;
use Exception;
use Piwik\Db\Adapter;
use Piwik\Db\Schema;
use Piwik\DataAccess\ArchiveTableCreator;
/**
* Contains database related helper functions.
......@@ -173,4 +174,17 @@ class DbHelper
return Schema::getInstance()->getTableCreateSql($tableName);
}
}
/**
* Deletes archive tables. For use in tests.
*/
public static function deleteArchiveTables()
{
foreach (ArchiveTableCreator::getTablesArchivesInstalled() as $table) {
Log::debug("Dropping table $table");
Db::query("DROP TABLE IF EXISTS `$table`");
}
ArchiveTableCreator::refreshTableList($forceReload = true);
}
}
\ No newline at end of file
......@@ -21,6 +21,7 @@ use Piwik\Plugins\UsersManager\API as UsersManagerAPI;
use Piwik\Plugins\SitesManager\API as SitesManagerAPI;
use Piwik\WidgetsList;
use Piwik\Tests\Framework\OverrideLogin;
use Piwik\Tests\Framework\TestCase\SystemTestCase;
/**
* Fixture for UI tests.
......
......@@ -569,13 +569,7 @@ abstract class SystemTestCase extends PHPUnit_Framework_TestCase
*/
public static function deleteArchiveTables()
{
foreach (ArchiveTableCreator::getTablesArchivesInstalled() as $table) {
Log::debug("Dropping table $table");
Db::query("DROP TABLE IF EXISTS `$table`");
}
ArchiveTableCreator::refreshTableList($forceReload = true);
DbHelper::deleteArchiveTables();
}
protected function skipWhenPhp53()
......
......@@ -5,6 +5,7 @@ use Piwik\Config;
use Piwik\Piwik;
use Piwik\Option;
use Piwik\Plugin\Manager as PluginManager;
use Piwik\DbHelper;
require_once PIWIK_INCLUDE_PATH . "/core/Config.php";
......@@ -217,6 +218,16 @@ class Piwik_TestingEnvironment
// pass
}
});
Piwik::addAction('Platform.initialized', function () use ($testingEnvironment) {
static $archivingTablesDeleted = false;
if ($testingEnvironment->deleteArchiveTables
&& !$archivingTablesDeleted
) {
$archivingTablesDeleted = true;
DbHelper::deleteArchiveTables();
}
});
$testingEnvironment->logVariables();
$testingEnvironment->executeSetupTestEnvHook();
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter