From f58ffadb347c5ab1baed016f922d3b382e2e5173 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Wed, 4 Nov 2020 16:02:58 +0100 Subject: [PATCH] Use a different column for the primary key as we can not insert it on oracle Signed-off-by: Joas Schilling --- tests/lib/DB/MDB2SchemaReaderTest.php | 30 +++++++++++++++++---------- tests/lib/DB/testschema.xml | 18 +++++++++++++++- 2 files changed, 36 insertions(+), 12 deletions(-) diff --git a/tests/lib/DB/MDB2SchemaReaderTest.php b/tests/lib/DB/MDB2SchemaReaderTest.php index c57b0f22b6..b3dd98fd6b 100644 --- a/tests/lib/DB/MDB2SchemaReaderTest.php +++ b/tests/lib/DB/MDB2SchemaReaderTest.php @@ -14,6 +14,10 @@ use Doctrine\DBAL\Schema\Schema; use OC\DB\MDB2SchemaReader; use OCP\IConfig; use Test\TestCase; +use Doctrine\DBAL\Types\IntegerType; +use Doctrine\DBAL\Types\TextType; +use Doctrine\DBAL\Types\StringType; +use Doctrine\DBAL\Types\BooleanType; /** * Class MDB2SchemaReaderTest @@ -51,13 +55,13 @@ class MDB2SchemaReaderTest extends TestCase { $this->assertCount(1, $schema->getTables()); $table = $schema->getTable('test_table'); - $this->assertCount(8, $table->getColumns()); + $this->assertCount(9, $table->getColumns()); - $this->assertEquals(4, $table->getColumn('integerfield')->getLength()); - $this->assertTrue($table->getColumn('integerfield')->getAutoincrement()); - $this->assertEquals(0, $table->getColumn('integerfield')->getDefault()); - $this->assertTrue($table->getColumn('integerfield')->getNotnull()); - $this->assertInstanceOf('Doctrine\DBAL\Types\IntegerType', $table->getColumn('integerfield')->getType()); + $this->assertEquals(4, $table->getColumn('id')->getLength()); + $this->assertTrue($table->getColumn('id')->getAutoincrement()); + $this->assertEquals(0, $table->getColumn('id')->getDefault()); + $this->assertTrue($table->getColumn('id')->getNotnull()); + $this->assertInstanceOf(IntegerType::class, $table->getColumn('id')->getType()); $this->assertSame(10, $table->getColumn('integerfield_default')->getDefault()); @@ -65,18 +69,19 @@ class MDB2SchemaReaderTest extends TestCase { $this->assertFalse($table->getColumn('textfield')->getAutoincrement()); $this->assertSame('foo', $table->getColumn('textfield')->getDefault()); $this->assertTrue($table->getColumn('textfield')->getNotnull()); - $this->assertInstanceOf('Doctrine\DBAL\Types\StringType', $table->getColumn('textfield')->getType()); + $this->assertInstanceOf(StringType::class, $table->getColumn('textfield')->getType()); $this->assertNull($table->getColumn('clobfield')->getLength()); $this->assertFalse($table->getColumn('clobfield')->getAutoincrement()); $this->assertNull($table->getColumn('clobfield')->getDefault()); $this->assertFalse($table->getColumn('clobfield')->getNotnull()); - $this->assertInstanceOf('Doctrine\DBAL\Types\TextType', $table->getColumn('clobfield')->getType()); + $this->assertInstanceOf(StringType::class, $table->getColumn('clobfield')->getType()); +// $this->assertInstanceOf(TextType::class, $table->getColumn('clobfield')->getType()); $this->assertNull($table->getColumn('booleanfield')->getLength()); $this->assertFalse($table->getColumn('booleanfield')->getAutoincrement()); $this->assertNull($table->getColumn('booleanfield')->getDefault()); - $this->assertInstanceOf('Doctrine\DBAL\Types\BooleanType', $table->getColumn('booleanfield')->getType()); + $this->assertInstanceOf(BooleanType::class, $table->getColumn('booleanfield')->getType()); $this->assertTrue($table->getColumn('booleanfield_true')->getDefault()); $this->assertFalse($table->getColumn('booleanfield_false')->getDefault()); @@ -84,10 +89,13 @@ class MDB2SchemaReaderTest extends TestCase { $this->assertEquals(12, $table->getColumn('decimalfield_precision_scale')->getPrecision()); $this->assertEquals(2, $table->getColumn('decimalfield_precision_scale')->getScale()); - $this->assertCount(2, $table->getIndexes()); - $this->assertEquals(['integerfield'], $table->getIndex('primary')->getUnquotedColumns()); + $this->assertCount(3, $table->getIndexes()); + $this->assertEquals(['id'], $table->getIndex('primary')->getUnquotedColumns()); $this->assertTrue($table->getIndex('primary')->isPrimary()); $this->assertTrue($table->getIndex('primary')->isUnique()); + $this->assertEquals(['integerfield'], $table->getIndex('index_integerfield')->getUnquotedColumns()); + $this->assertFalse($table->getIndex('index_integerfield')->isPrimary()); + $this->assertTrue($table->getIndex('index_integerfield')->isUnique()); $this->assertEquals(['booleanfield'], $table->getIndex('index_boolean')->getUnquotedColumns()); $this->assertFalse($table->getIndex('index_boolean')->isPrimary()); $this->assertFalse($table->getIndex('index_boolean')->isUnique()); diff --git a/tests/lib/DB/testschema.xml b/tests/lib/DB/testschema.xml index d42dbe8d58..a2b01d8259 100644 --- a/tests/lib/DB/testschema.xml +++ b/tests/lib/DB/testschema.xml @@ -13,7 +13,7 @@ - integerfield + id integer 0 true @@ -21,6 +21,13 @@ 4 1 + + integerfield + integer + 0 + true + 4 + integerfield_default integer @@ -64,6 +71,15 @@ index_primary true true + + id + ascending + + + + + index_integerfield + true integerfield ascending