Fix test setup/teardown, fix first found bug.
authorJan Schneider <jan@horde.org>
Wed, 5 May 2010 15:53:43 +0000 (17:53 +0200)
committerJan Schneider <jan@horde.org>
Wed, 5 May 2010 16:43:45 +0000 (18:43 +0200)
framework/Alarm/lib/Horde/Alarm/Sql.php
framework/Alarm/test/Horde/Alarm/SqlTest.php

index 269b337..d32cd3e 100644 (file)
@@ -306,7 +306,7 @@ class Horde_Alarm_Sql extends Horde_Alarm
             throw new Horde_Alarm_Exception($result);
         }
 
-        return $result;
+        return $result == 1;
     }
 
     /**
index eb95f60..589fdfa 100644 (file)
@@ -9,7 +9,11 @@
 
 class Horde_Alarm_SqlTest extends PHPUnit_Framework_TestCase
 {
-    public function setUp()
+    protected static $db;
+    protected static $migrator;
+    protected static $alarm;
+
+    public static function setUpBeforeClass()
     {
         // @todo: remove when we no longer depend on DB.
         error_reporting(E_ALL);
@@ -31,18 +35,18 @@ class Horde_Alarm_SqlTest extends PHPUnit_Framework_TestCase
 
         $adapter = str_replace(' ', '_' , ucwords(str_replace('_', ' ', basename($conf['alarm']['test']['horde']['adapter']))));
         $class = 'Horde_Db_Adapter_' . $adapter;
-        $this->db = new $class($conf['alarm']['test']['horde']);
+        self::$db = new $class($conf['alarm']['test']['horde']);
 
-        $logger = new Horde_Log_Logger(new Horde_Log_Handler_Stream(STDOUT));
-        $this->migrator = new Horde_Db_Migration_Migrator($this->db, $logger, array('migrationsPath' => dirname(dirname(dirname(dirname(__FILE__)))) . '/migrations'));
-        $this->migrator->up();
+        $logger = new Horde_Log_Logger(new Horde_Log_Handler_Null());
+        self::$migrator = new Horde_Db_Migration_Migrator(self::$db, $logger, array('migrationsPath' => dirname(dirname(dirname(dirname(__FILE__)))) . '/migrations'));
+        self::$migrator->up();
 
-        $this->alarm = Horde_Alarm::factory('sql', $conf['alarm']['test']['pear']);
+        self::$alarm = Horde_Alarm::factory('sql', $conf['alarm']['test']['pear']);
     }
 
-    public function tearDown()
+    public static function tearDownAfterClass()
     {
-        $this->migrator->down();
+        self::$migrator->down();
     }
 
     public function testSet()
@@ -57,6 +61,14 @@ class Horde_Alarm_SqlTest extends PHPUnit_Framework_TestCase
                       'methods' => array(),
                       'params' => array(),
                       'title' => 'This is a personal alarm.');
-        $this->alarm->set($hash);
+        self::$alarm->set($hash);
+    }
+
+    /**
+     * @depends testSet
+     */
+    public function testExists()
+    {
+        $this->assertTrue(self::$alarm->exists('personalalarm', 'john'));
     }
 }