aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOleg Pudeyev <oleg@bsdpower.com>2012-12-04 16:29:37 -0500
committerOleg Pudeyev <oleg@bsdpower.com>2012-12-04 16:29:37 -0500
commitf3c043a5696610ed1312a734b3f3ed1b613fc4f4 (patch)
treefbaa13bb91342813d1ce33dece54a513e02e94c7
parentdc521692f3c6d65b842a42f68bc727c8a36c9042 (diff)
downloadforums-f3c043a5696610ed1312a734b3f3ed1b613fc4f4.tar
forums-f3c043a5696610ed1312a734b3f3ed1b613fc4f4.tar.gz
forums-f3c043a5696610ed1312a734b3f3ed1b613fc4f4.tar.bz2
forums-f3c043a5696610ed1312a734b3f3ed1b613fc4f4.tar.xz
forums-f3c043a5696610ed1312a734b3f3ed1b613fc4f4.zip
[ticket/10205] Test failed connection attempts.
PHPBB3-10205
-rw-r--r--tests/dbal/connect_test.php44
-rw-r--r--tests/fixtures/empty.xml5
2 files changed, 49 insertions, 0 deletions
diff --git a/tests/dbal/connect_test.php b/tests/dbal/connect_test.php
new file mode 100644
index 0000000000..4964f24ba2
--- /dev/null
+++ b/tests/dbal/connect_test.php
@@ -0,0 +1,44 @@
+<?php
+/**
+*
+* @package testing
+* @copyright (c) 2012 phpBB Group
+* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
+*
+*/
+
+require_once dirname(__FILE__) . '/../../phpBB/includes/functions.php';
+
+class phpbb_dbal_connect_test extends phpbb_database_test_case
+{
+ public function getDataSet()
+ {
+ return $this->createXMLDataSet(dirname(__FILE__) . '/../fixtures/empty.xml');
+ }
+
+ public function test_failing_connect()
+ {
+ global $phpbb_root_path, $phpEx;
+
+ $config = $this->get_database_config();
+
+ require_once dirname(__FILE__) . '/../../phpBB/includes/db/' . $config['dbms'] . '.php';
+ $dbal = 'dbal_' . $config['dbms'];
+ $db = new $dbal();
+
+ // Failure to connect results in a trigger_error call in dbal.
+ // phpunit converts triggered errors to exceptions.
+ // In particular there should be no fatals here.
+ try
+ {
+ $db->sql_connect($config['dbhost'], 'phpbbogus', 'phpbbogus', 'phpbbogus', $config['dbport']);
+ $this->assertFalse(true);
+ } catch (Exception $e)
+ {
+ // should have a legitimate message
+ $this->assertNotEmpty($e->getMessage());
+ }
+
+ return $db;
+ }
+}
diff --git a/tests/fixtures/empty.xml b/tests/fixtures/empty.xml
new file mode 100644
index 0000000000..96eb1ab483
--- /dev/null
+++ b/tests/fixtures/empty.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<dataset>
+ <table name="phpbb_posts">
+ </table>
+</dataset>