diff options
author | Angie Byron <webchick@24967.no-reply.drupal.org> | 2008-09-26 19:10:32 +0000 |
---|---|---|
committer | Angie Byron <webchick@24967.no-reply.drupal.org> | 2008-09-26 19:10:32 +0000 |
commit | 40e2b5211621ea73cd1ff27d50c5cc2124f15342 (patch) | |
tree | 6d41ff336d8421f6b4047fb719867590216b685a /modules/simpletest/tests/database_test.test | |
parent | d02d89985a4acc8339c4a134b7a16eab8564bbf9 (diff) | |
download | brdo-40e2b5211621ea73cd1ff27d50c5cc2124f15342.tar.gz brdo-40e2b5211621ea73cd1ff27d50c5cc2124f15342.tar.bz2 |
#302300 by Crell: Support adding and ignoring database targets, for better replication support.
Diffstat (limited to 'modules/simpletest/tests/database_test.test')
-rw-r--r-- | modules/simpletest/tests/database_test.test | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/modules/simpletest/tests/database_test.test b/modules/simpletest/tests/database_test.test index c7b4f69d6..124d18ef1 100644 --- a/modules/simpletest/tests/database_test.test +++ b/modules/simpletest/tests/database_test.test @@ -104,6 +104,56 @@ class DatabaseTestCase extends DrupalWebTestCase { ':priority' => 3, )); } +} + +/** + * Test connection management. + */ +class DatabaseConnectionTestCase extends DatabaseTestCase { + + function getInfo() { + return array( + 'name' => t('Connection tests'), + 'description' => t('Tests of the core database system.'), + 'group' => t('Database'), + ); + } + + /** + * Test that connections return appropriate connection objects. + */ + function testConnectionRouting() { + + // Clone the master credentials to a slave connection. + // Note this will result in two independent connection objects that happen + // to point to the same place. + $connection_info = Database::getConnectionInfo(); + Database::addConnectionInfo('default', 'slave', $connection_info['default']['default']); + + $db1 = Database::getConnection('default', 'default'); + $db2 = Database::getConnection('default', 'slave'); + + $this->assertFalse($db1 === $db2, t('Each target refers to a different connection.')); + } + + /** + * Test that connections return appropriate connection objects. + */ + function testConnectionRoutingOverride() { + + // Clone the master credentials to a slave connection. + // Note this will result in two independent connection objects that happen + // to point to the same place. + $connection_info = Database::getConnectionInfo('default'); + Database::addConnectionInfo('default', 'slave', $connection_info['default']); + + Database::ignoreTarget('default', 'slave'); + + $db1 = Database::getConnection('default', 'default'); + $db2 = Database::getConnection('default', 'slave'); + + $this->assertTrue($db1 === $db2, t('Both targets refer to the same connection.')); + } } |