summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/lib/db/mdb2schemamanager.php10
-rw-r--r--tests/lib/db/migrator.php11
-rw-r--r--tests/lib/dbschema.php14
3 files changed, 27 insertions, 8 deletions
diff --git a/tests/lib/db/mdb2schemamanager.php b/tests/lib/db/mdb2schemamanager.php
index dd9ee3adb8e..527b2cba648 100644
--- a/tests/lib/db/mdb2schemamanager.php
+++ b/tests/lib/db/mdb2schemamanager.php
@@ -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');
diff --git a/tests/lib/db/migrator.php b/tests/lib/db/migrator.php
index 2e49086bd63..09742a53eb4 100644
--- a/tests/lib/db/migrator.php
+++ b/tests/lib/db/migrator.php
@@ -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();
diff --git a/tests/lib/dbschema.php b/tests/lib/dbschema.php
index c07e32a404e..d31bd34124e 100644
--- a/tests/lib/dbschema.php
+++ b/tests/lib/dbschema.php
@@ -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 {