diff options
author | Morris Jobke <hey@morrisjobke.de> | 2015-05-19 12:19:46 +0200 |
---|---|---|
committer | Morris Jobke <hey@morrisjobke.de> | 2015-05-19 12:19:46 +0200 |
commit | 5f4e0863f52631282176c0619b52e808408c4984 (patch) | |
tree | 8ffd4657e8d2b7c6c772c33512e98919ba1e012e /tests | |
parent | a52afb040a9bb64d782df7aabcfd0075fbfd4064 (diff) | |
parent | fabdc4ba9dd13491aeef5affb68326937e3483e5 (diff) | |
download | nextcloud-server-5f4e0863f52631282176c0619b52e808408c4984.tar.gz nextcloud-server-5f4e0863f52631282176c0619b52e808408c4984.zip |
Merge pull request #16420 from owncloud/update-useconfigtableprefix
Add unit test for migrator with different prefix
Diffstat (limited to 'tests')
-rw-r--r-- | tests/lib/db/migrator.php | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/tests/lib/db/migrator.php b/tests/lib/db/migrator.php index 54267740480..6bde68c2d20 100644 --- a/tests/lib/db/migrator.php +++ b/tests/lib/db/migrator.php @@ -26,11 +26,17 @@ class Migrator extends \Test\TestCase { */ private $manager; + /** + * @var IConfig + **/ + private $config; + private $tableName; protected function setUp() { parent::setUp(); + $this->config = \OC::$server->getConfig(); $this->connection = \OC_DB::getConnection(); if ($this->connection->getDatabasePlatform() instanceof OraclePlatform) { $this->markTestSkipped('DB migration tests are not supported on OCI'); @@ -39,7 +45,7 @@ class Migrator extends \Test\TestCase { $this->markTestSkipped('DB migration tests are not supported on MSSQL'); } $this->manager = new \OC\DB\MDB2SchemaManager($this->connection); - $this->tableName = strtolower($this->getUniqueID('oc_test_')); + $this->tableName = strtolower($this->getUniqueID($this->config->getSystemValue('dbtableprefix', 'oc_') . 'test_')); } protected function tearDown() { @@ -109,6 +115,27 @@ class Migrator extends \Test\TestCase { $this->assertTrue(true); } + public function testUpgradeDifferentPrefix() { + $oldTablePrefix = $this->config->getSystemValue('dbtableprefix', 'oc_'); + + $this->config->setSystemValue('dbtableprefix', 'ownc_'); + $this->tableName = strtolower($this->getUniqueID($this->config->getSystemValue('dbtableprefix') . 'test_')); + + list($startSchema, $endSchema) = $this->getDuplicateKeySchemas(); + $migrator = $this->manager->getMigrator(); + $migrator->migrate($startSchema); + + $this->connection->insert($this->tableName, array('id' => 1, 'name' => 'foo')); + $this->connection->insert($this->tableName, array('id' => 2, 'name' => 'bar')); + $this->connection->insert($this->tableName, array('id' => 3, 'name' => 'qwerty')); + + $migrator->checkMigrate($endSchema); + $migrator->migrate($endSchema); + $this->assertTrue(true); + + $this->config->setSystemValue('dbtableprefix', $oldTablePrefix); + } + public function testInsertAfterUpgrade() { list($startSchema, $endSchema) = $this->getDuplicateKeySchemas(); $migrator = $this->manager->getMigrator(); |