diff options
Diffstat (limited to 'tests/lib/dbschema.php')
-rw-r--r-- | tests/lib/dbschema.php | 105 |
1 files changed, 0 insertions, 105 deletions
diff --git a/tests/lib/dbschema.php b/tests/lib/dbschema.php deleted file mode 100644 index 11eacbf397f..00000000000 --- a/tests/lib/dbschema.php +++ /dev/null @@ -1,105 +0,0 @@ -<?php - -/** - * Copyright (c) 2012 Bart Visscher <bartv@thisnet.nl> - * This file is licensed under the Affero General Public License version 3 or - * later. - * See the COPYING-README file. - */ - -use OCP\Security\ISecureRandom; - -/** - * Class Test_DBSchema - * - * @group DB - */ -class Test_DBSchema extends \Test\TestCase { - protected $schema_file = 'static://test_db_scheme'; - protected $schema_file2 = 'static://test_db_scheme2'; - protected $table1; - protected $table2; - - protected function setUp() { - parent::setUp(); - - $dbfile = OC::$SERVERROOT.'/tests/data/db_structure.xml'; - $dbfile2 = OC::$SERVERROOT.'/tests/data/db_structure2.xml'; - - $r = '_' . \OC::$server->getSecureRandom()-> - 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 ); - $content = file_get_contents( $dbfile2 ); - $content = str_replace( '*dbprefix*', '*dbprefix*'.$r, $content ); - file_put_contents( $this->schema_file2, $content ); - - $this->table1 = $r.'cntcts_addrsbks'; - $this->table2 = $r.'cntcts_cards'; - } - - protected function tearDown() { - unlink($this->schema_file); - unlink($this->schema_file2); - - parent::tearDown(); - } - - // everything in one test, they depend on each other - /** - * @medium - */ - public function testSchema() { - $platform = \OC::$server->getDatabaseConnection()->getDatabasePlatform(); - $this->doTestSchemaCreating(); - $this->doTestSchemaChanging(); - $this->doTestSchemaDumping(); - $this->doTestSchemaRemoving(); - } - - public function doTestSchemaCreating() { - OC_DB::createDbFromStructure($this->schema_file); - $this->assertTableExist($this->table1); - $this->assertTableExist($this->table2); - } - - public function doTestSchemaChanging() { - OC_DB::updateDbFromStructure($this->schema_file2); - $this->assertTableExist($this->table2); - } - - public function doTestSchemaDumping() { - $outfile = 'static://db_out.xml'; - OC_DB::getDbStructure($outfile); - $content = file_get_contents($outfile); - $this->assertContains($this->table1, $content); - $this->assertContains($this->table2, $content); - } - - public function doTestSchemaRemoving() { - OC_DB::removeDBStructure($this->schema_file); - $this->assertTableNotExist($this->table1); - $this->assertTableNotExist($this->table2); - } - - /** - * @param string $table - */ - public function assertTableExist($table) { - $this->assertTrue(OC_DB::tableExists($table), 'Table ' . $table . ' does not exist'); - } - - /** - * @param string $table - */ - public function assertTableNotExist($table) { - $platform = \OC::$server->getDatabaseConnection()->getDatabasePlatform(); - if ($platform instanceof \Doctrine\DBAL\Platforms\SqlitePlatform) { - // sqlite removes the tables after closing the DB - $this->assertTrue(true); - } else { - $this->assertFalse(OC_DB::tableExists($table), 'Table ' . $table . ' exists.'); - } - } -} |