]> source.dussan.org Git - nextcloud-server.git/commitdiff
disable database migration unit tests for MSSQL
authorThomas Müller <thomas.mueller@tmit.eu>
Thu, 23 Oct 2014 12:32:37 +0000 (14:32 +0200)
committerThomas Müller <thomas.mueller@tmit.eu>
Thu, 23 Oct 2014 12:35:44 +0000 (14:35 +0200)
tests/lib/db/mdb2schemamanager.php
tests/lib/db/migrator.php
tests/lib/dbschema.php

index dd9ee3adb8eadb34406605ecaf73b5d4ec28a579..527b2cba6484390f5a3e8cd03d9db7877e78bca1 100644 (file)
@@ -9,6 +9,9 @@
 
 namespace Test\DB;
 
+use Doctrine\DBAL\Platforms\OraclePlatform;
+use Doctrine\DBAL\Platforms\SQLServerPlatform;
+
 class MDB2SchemaManager extends \PHPUnit_Framework_TestCase {
 
        public function tearDown() {
@@ -22,11 +25,14 @@ class MDB2SchemaManager extends \PHPUnit_Framework_TestCase {
 
        public function testAutoIncrement() {
 
-               if (\OC::$server->getConfig()->getSystemValue('dbtype', 'sqlite') === 'oci') {
+               $connection = \OC_DB::getConnection();
+               if ($connection->getDatabasePlatform() instanceof OraclePlatform) {
                        $this->markTestSkipped('Adding auto increment columns in Oracle is not supported.');
                }
+               if ($connection->getDatabasePlatform() instanceof SQLServerPlatform) {
+                       $this->markTestSkipped('DB migration tests are not supported on MSSQL');
+               }
 
-               $connection = \OC_DB::getConnection();
                $manager = new \OC\DB\MDB2SchemaManager($connection);
 
                $manager->createDbFromStructure(__DIR__ . '/ts-autoincrement-before.xml');
index 2e49086bd6334b946d69138cdf80dc0c905149ed..09742a53eb4688ab438217673e4e234101836ae6 100644 (file)
@@ -10,6 +10,8 @@
 namespace Test\DB;
 
 use \Doctrine\DBAL\DBALException;
+use Doctrine\DBAL\Platforms\OraclePlatform;
+use Doctrine\DBAL\Platforms\SQLServerPlatform;
 use \Doctrine\DBAL\Schema\Schema;
 use \Doctrine\DBAL\Schema\SchemaConfig;
 
@@ -28,8 +30,11 @@ class Migrator extends \PHPUnit_Framework_TestCase {
 
        public function setUp() {
                $this->connection = \OC_DB::getConnection();
-               if ($this->connection->getDriver() instanceof \Doctrine\DBAL\Driver\OCI8\Driver) {
-                       $this->markTestSkipped('DB migration tests arent supported on OCI');
+               if ($this->connection->getDatabasePlatform() instanceof OraclePlatform) {
+                       $this->markTestSkipped('DB migration tests are not supported on OCI');
+               }
+               if ($this->connection->getDatabasePlatform() instanceof SQLServerPlatform) {
+                       $this->markTestSkipped('DB migration tests are not supported on MSSQL');
                }
                $this->manager = new \OC\DB\MDB2SchemaManager($this->connection);
                $this->tableName = 'test_' . uniqid();
@@ -73,7 +78,7 @@ class Migrator extends \PHPUnit_Framework_TestCase {
         */
        public function testDuplicateKeyUpgrade() {
                if ($this->isSQLite()) {
-                       $this->markTestSkipped('sqlite doesnt throw errors when creating a new key on existing data');
+                       $this->markTestSkipped('sqlite does not throw errors when creating a new key on existing data');
                }
                list($startSchema, $endSchema) = $this->getDuplicateKeySchemas();
                $migrator = $this->manager->getMigrator();
index c07e32a404e3a40211eccc5bb82b9922fe41c435..d31bd34124e53b134ab957b148ffdc2fc188065e 100644 (file)
@@ -1,4 +1,5 @@
 <?php
+
 /**
  * Copyright (c) 2012 Bart Visscher <bartv@thisnet.nl>
  * This file is licensed under the Affero General Public License version 3 or
@@ -6,6 +7,8 @@
  * See the COPYING-README file.
  */
 
+use OCP\Security\ISecureRandom;
+
 class Test_DBSchema extends PHPUnit_Framework_TestCase {
        protected $schema_file = 'static://test_db_scheme';
        protected $schema_file2 = 'static://test_db_scheme2';
@@ -16,7 +19,8 @@ class Test_DBSchema extends PHPUnit_Framework_TestCase {
                $dbfile = OC::$SERVERROOT.'/tests/data/db_structure.xml';
                $dbfile2 = OC::$SERVERROOT.'/tests/data/db_structure2.xml';
 
-               $r = '_'.OC_Util::generateRandomBytes(4).'_';
+               $r = '_' . \OC::$server->getSecureRandom()->getMediumStrengthGenerator()->
+                       generate(4, ISecureRandom::CHAR_LOWER . ISecureRandom::CHAR_DIGITS) . '_';
                $content = file_get_contents( $dbfile );
                $content = str_replace( '*dbprefix*', '*dbprefix*'.$r, $content );
                file_put_contents( $this->schema_file, $content );
@@ -38,6 +42,10 @@ class Test_DBSchema extends PHPUnit_Framework_TestCase {
         * @medium
         */
        public function testSchema() {
+               $platform = \OC_DB::getConnection()->getDatabasePlatform();
+               if ($platform instanceof \Doctrine\DBAL\Platforms\SQLServerPlatform) {
+                       $this->markTestSkipped("Test not relevant on MSSQL");
+               }
                $this->doTestSchemaCreating();
                $this->doTestSchemaChanging();
                $this->doTestSchemaDumping();
@@ -80,8 +88,8 @@ class Test_DBSchema extends PHPUnit_Framework_TestCase {
         * @param string $table
         */
        public function assertTableNotExist($table) {
-               $type=OC_Config::getValue( "dbtype", "sqlite" );
-               if( $type == 'sqlite' || $type == 'sqlite3' ) {
+               $platform = \OC_DB::getConnection()->getDatabasePlatform();
+               if ($platform instanceof \Doctrine\DBAL\Platforms\SqlitePlatform) {
                        // sqlite removes the tables after closing the DB
                        $this->assertTrue(true);
                } else {