|
|
|
@ -16,6 +16,7 @@ use Doctrine\DBAL\Schema\Column;
|
|
|
|
|
use Doctrine\DBAL\Schema\ForeignKeyConstraint;
|
|
|
|
|
use Doctrine\DBAL\Schema\Index;
|
|
|
|
|
use Doctrine\DBAL\Schema\Schema;
|
|
|
|
|
use Doctrine\DBAL\Schema\SchemaException;
|
|
|
|
|
use Doctrine\DBAL\Schema\Sequence;
|
|
|
|
|
use Doctrine\DBAL\Schema\Table;
|
|
|
|
|
use OC\DB\Connection;
|
|
|
|
@ -102,13 +103,12 @@ class MigrationsTest extends \Test\TestCase {
|
|
|
|
|
->method('migrateToSchema');
|
|
|
|
|
|
|
|
|
|
$wrappedSchema = $this->createMock(Schema::class);
|
|
|
|
|
// TODO re-enable once stable14 is branched of: https://github.com/nextcloud/server/issues/10518
|
|
|
|
|
/*$wrappedSchema->expects($this->once())
|
|
|
|
|
$wrappedSchema->expects($this->once())
|
|
|
|
|
->method('getTables')
|
|
|
|
|
->willReturn([]);
|
|
|
|
|
$wrappedSchema->expects($this->once())
|
|
|
|
|
->method('getSequences')
|
|
|
|
|
->willReturn([]);*/
|
|
|
|
|
->willReturn([]);
|
|
|
|
|
|
|
|
|
|
$schemaResult = $this->createMock(SchemaWrapper::class);
|
|
|
|
|
$schemaResult->expects($this->once())
|
|
|
|
@ -239,12 +239,12 @@ class MigrationsTest extends \Test\TestCase {
|
|
|
|
|
->willReturn(\str_repeat('a', 30));
|
|
|
|
|
|
|
|
|
|
$table = $this->createMock(Table::class);
|
|
|
|
|
$table->expects($this->once())
|
|
|
|
|
$table->expects($this->atLeastOnce())
|
|
|
|
|
->method('getName')
|
|
|
|
|
->willReturn(\str_repeat('a', 30));
|
|
|
|
|
|
|
|
|
|
$sequence = $this->createMock(Sequence::class);
|
|
|
|
|
$sequence->expects($this->once())
|
|
|
|
|
$sequence->expects($this->atLeastOnce())
|
|
|
|
|
->method('getName')
|
|
|
|
|
->willReturn(\str_repeat('a', 30));
|
|
|
|
|
|
|
|
|
@ -269,7 +269,15 @@ class MigrationsTest extends \Test\TestCase {
|
|
|
|
|
->method('getSequences')
|
|
|
|
|
->willReturn([$sequence]);
|
|
|
|
|
|
|
|
|
|
self::invokePrivate($this->migrationService, 'ensureOracleIdentifierLengthLimit', [$schema, 3]);
|
|
|
|
|
$sourceSchema = $this->createMock(Schema::class);
|
|
|
|
|
$sourceSchema->expects($this->any())
|
|
|
|
|
->method('getTable')
|
|
|
|
|
->willThrowException(new SchemaException());
|
|
|
|
|
$sourceSchema->expects($this->any())
|
|
|
|
|
->method('hasSequence')
|
|
|
|
|
->willReturn(false);
|
|
|
|
|
|
|
|
|
|
self::invokePrivate($this->migrationService, 'ensureOracleIdentifierLengthLimit', [$sourceSchema, $schema, 3]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testEnsureOracleIdentifierLengthLimitValidWithPrimaryKey() {
|
|
|
|
@ -304,7 +312,15 @@ class MigrationsTest extends \Test\TestCase {
|
|
|
|
|
->method('getSequences')
|
|
|
|
|
->willReturn([]);
|
|
|
|
|
|
|
|
|
|
self::invokePrivate($this->migrationService, 'ensureOracleIdentifierLengthLimit', [$schema, 3]);
|
|
|
|
|
$sourceSchema = $this->createMock(Schema::class);
|
|
|
|
|
$sourceSchema->expects($this->any())
|
|
|
|
|
->method('getTable')
|
|
|
|
|
->willThrowException(new SchemaException());
|
|
|
|
|
$sourceSchema->expects($this->any())
|
|
|
|
|
->method('hasSequence')
|
|
|
|
|
->willReturn(false);
|
|
|
|
|
|
|
|
|
|
self::invokePrivate($this->migrationService, 'ensureOracleIdentifierLengthLimit', [$sourceSchema, $schema, 3]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testEnsureOracleIdentifierLengthLimitValidWithPrimaryKeyDefault() {
|
|
|
|
@ -349,7 +365,15 @@ class MigrationsTest extends \Test\TestCase {
|
|
|
|
|
->method('getSequences')
|
|
|
|
|
->willReturn([]);
|
|
|
|
|
|
|
|
|
|
self::invokePrivate($this->migrationService, 'ensureOracleIdentifierLengthLimit', [$schema, 3]);
|
|
|
|
|
$sourceSchema = $this->createMock(Schema::class);
|
|
|
|
|
$sourceSchema->expects($this->any())
|
|
|
|
|
->method('getTable')
|
|
|
|
|
->willThrowException(new SchemaException());
|
|
|
|
|
$sourceSchema->expects($this->any())
|
|
|
|
|
->method('hasSequence')
|
|
|
|
|
->willReturn(false);
|
|
|
|
|
|
|
|
|
|
self::invokePrivate($this->migrationService, 'ensureOracleIdentifierLengthLimit', [$sourceSchema, $schema, 3]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
@ -366,7 +390,15 @@ class MigrationsTest extends \Test\TestCase {
|
|
|
|
|
->method('getTables')
|
|
|
|
|
->willReturn([$table]);
|
|
|
|
|
|
|
|
|
|
self::invokePrivate($this->migrationService, 'ensureOracleIdentifierLengthLimit', [$schema, 3]);
|
|
|
|
|
$sourceSchema = $this->createMock(Schema::class);
|
|
|
|
|
$sourceSchema->expects($this->any())
|
|
|
|
|
->method('getTable')
|
|
|
|
|
->willThrowException(new SchemaException());
|
|
|
|
|
$sourceSchema->expects($this->any())
|
|
|
|
|
->method('hasSequence')
|
|
|
|
|
->willReturn(false);
|
|
|
|
|
|
|
|
|
|
self::invokePrivate($this->migrationService, 'ensureOracleIdentifierLengthLimit', [$sourceSchema, $schema, 3]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
@ -411,7 +443,15 @@ class MigrationsTest extends \Test\TestCase {
|
|
|
|
|
->method('getTables')
|
|
|
|
|
->willReturn([$table]);
|
|
|
|
|
|
|
|
|
|
self::invokePrivate($this->migrationService, 'ensureOracleIdentifierLengthLimit', [$schema, 3]);
|
|
|
|
|
$sourceSchema = $this->createMock(Schema::class);
|
|
|
|
|
$sourceSchema->expects($this->any())
|
|
|
|
|
->method('getTable')
|
|
|
|
|
->willThrowException(new SchemaException());
|
|
|
|
|
$sourceSchema->expects($this->any())
|
|
|
|
|
->method('hasSequence')
|
|
|
|
|
->willReturn(false);
|
|
|
|
|
|
|
|
|
|
self::invokePrivate($this->migrationService, 'ensureOracleIdentifierLengthLimit', [$sourceSchema, $schema, 3]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
@ -446,7 +486,15 @@ class MigrationsTest extends \Test\TestCase {
|
|
|
|
|
->method('getTables')
|
|
|
|
|
->willReturn([$table]);
|
|
|
|
|
|
|
|
|
|
self::invokePrivate($this->migrationService, 'ensureOracleIdentifierLengthLimit', [$schema, 3]);
|
|
|
|
|
$sourceSchema = $this->createMock(Schema::class);
|
|
|
|
|
$sourceSchema->expects($this->any())
|
|
|
|
|
->method('getTable')
|
|
|
|
|
->willThrowException(new SchemaException());
|
|
|
|
|
$sourceSchema->expects($this->any())
|
|
|
|
|
->method('hasSequence')
|
|
|
|
|
->willReturn(false);
|
|
|
|
|
|
|
|
|
|
self::invokePrivate($this->migrationService, 'ensureOracleIdentifierLengthLimit', [$sourceSchema, $schema, 3]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
@ -472,7 +520,15 @@ class MigrationsTest extends \Test\TestCase {
|
|
|
|
|
->method('getTables')
|
|
|
|
|
->willReturn([$table]);
|
|
|
|
|
|
|
|
|
|
self::invokePrivate($this->migrationService, 'ensureOracleIdentifierLengthLimit', [$schema, 3]);
|
|
|
|
|
$sourceSchema = $this->createMock(Schema::class);
|
|
|
|
|
$sourceSchema->expects($this->any())
|
|
|
|
|
->method('getTable')
|
|
|
|
|
->willThrowException(new SchemaException());
|
|
|
|
|
$sourceSchema->expects($this->any())
|
|
|
|
|
->method('hasSequence')
|
|
|
|
|
->willReturn(false);
|
|
|
|
|
|
|
|
|
|
self::invokePrivate($this->migrationService, 'ensureOracleIdentifierLengthLimit', [$sourceSchema, $schema, 3]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
@ -501,7 +557,15 @@ class MigrationsTest extends \Test\TestCase {
|
|
|
|
|
->method('getTables')
|
|
|
|
|
->willReturn([$table]);
|
|
|
|
|
|
|
|
|
|
self::invokePrivate($this->migrationService, 'ensureOracleIdentifierLengthLimit', [$schema, 3]);
|
|
|
|
|
$sourceSchema = $this->createMock(Schema::class);
|
|
|
|
|
$sourceSchema->expects($this->any())
|
|
|
|
|
->method('getTable')
|
|
|
|
|
->willThrowException(new SchemaException());
|
|
|
|
|
$sourceSchema->expects($this->any())
|
|
|
|
|
->method('hasSequence')
|
|
|
|
|
->willReturn(false);
|
|
|
|
|
|
|
|
|
|
self::invokePrivate($this->migrationService, 'ensureOracleIdentifierLengthLimit', [$sourceSchema, $schema, 3]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
@ -533,7 +597,15 @@ class MigrationsTest extends \Test\TestCase {
|
|
|
|
|
->method('getTables')
|
|
|
|
|
->willReturn([$table]);
|
|
|
|
|
|
|
|
|
|
self::invokePrivate($this->migrationService, 'ensureOracleIdentifierLengthLimit', [$schema, 3]);
|
|
|
|
|
$sourceSchema = $this->createMock(Schema::class);
|
|
|
|
|
$sourceSchema->expects($this->any())
|
|
|
|
|
->method('getTable')
|
|
|
|
|
->willThrowException(new SchemaException());
|
|
|
|
|
$sourceSchema->expects($this->any())
|
|
|
|
|
->method('hasSequence')
|
|
|
|
|
->willReturn(false);
|
|
|
|
|
|
|
|
|
|
self::invokePrivate($this->migrationService, 'ensureOracleIdentifierLengthLimit', [$sourceSchema, $schema, 3]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
@ -553,6 +625,14 @@ class MigrationsTest extends \Test\TestCase {
|
|
|
|
|
->method('getSequences')
|
|
|
|
|
->willReturn([$sequence]);
|
|
|
|
|
|
|
|
|
|
self::invokePrivate($this->migrationService, 'ensureOracleIdentifierLengthLimit', [$schema, 3]);
|
|
|
|
|
$sourceSchema = $this->createMock(Schema::class);
|
|
|
|
|
$sourceSchema->expects($this->any())
|
|
|
|
|
->method('getTable')
|
|
|
|
|
->willThrowException(new SchemaException());
|
|
|
|
|
$sourceSchema->expects($this->any())
|
|
|
|
|
->method('hasSequence')
|
|
|
|
|
->willReturn(false);
|
|
|
|
|
|
|
|
|
|
self::invokePrivate($this->migrationService, 'ensureOracleIdentifierLengthLimit', [$sourceSchema, $schema, 3]);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|