From c0b5aa962d6ae603997876014ee7f7db1d43bc20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jannis=20Mo=C3=9Fhammer?= Date: Tue, 16 Jul 2013 16:37:16 +0200 Subject: [PATCH] Add optional datetime format for fixtures This allows to use the same insertionStrategy class for MySQL and PgSQL, as they only differ in the datetime format. refs #4417 --- .../test/php/testlib/datasource/DataSourceTestSetup.php | 1 + .../monitoring/test/php/testlib/datasource/TestFixture.php | 2 +- .../testlib/datasource/strategies/PDOInsertionStrategy.php | 6 ++++-- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/modules/monitoring/test/php/testlib/datasource/DataSourceTestSetup.php b/modules/monitoring/test/php/testlib/datasource/DataSourceTestSetup.php index da390294f..4249af36c 100644 --- a/modules/monitoring/test/php/testlib/datasource/DataSourceTestSetup.php +++ b/modules/monitoring/test/php/testlib/datasource/DataSourceTestSetup.php @@ -30,6 +30,7 @@ class DataSourceTestSetup implements SetupStrategy, InsertionStrategy } elseif ($type == 'pgsql') { $this->setupStrategy = new PgSQLSetupStrategy(); $this->insertionStrategy = new PDOInsertionStrategy(); + $this->insertionStrategy->datetimeFormat = "Y-m-d H:i:s"; } else { throw new \Exception('Unsupported backend '.$type); } diff --git a/modules/monitoring/test/php/testlib/datasource/TestFixture.php b/modules/monitoring/test/php/testlib/datasource/TestFixture.php index 1a4e0a859..34475f5ed 100644 --- a/modules/monitoring/test/php/testlib/datasource/TestFixture.php +++ b/modules/monitoring/test/php/testlib/datasource/TestFixture.php @@ -10,7 +10,7 @@ class ObjectFlags { public $in_downtime = 0; public $time = 0; - public function ObjectFlags($ageInSeconds = null) { + public function __construct($ageInSeconds = null) { if(!is_int($ageInSeconds)) $ageInSeconds = 0; $this->time = time()-$ageInSeconds; diff --git a/modules/monitoring/test/php/testlib/datasource/strategies/PDOInsertionStrategy.php b/modules/monitoring/test/php/testlib/datasource/strategies/PDOInsertionStrategy.php index 72615f5e1..76567ed8a 100644 --- a/modules/monitoring/test/php/testlib/datasource/strategies/PDOInsertionStrategy.php +++ b/modules/monitoring/test/php/testlib/datasource/strategies/PDOInsertionStrategy.php @@ -8,6 +8,8 @@ class PDOInsertionStrategy { private $fixture; private $connection; + public $datetimeFormat = "U"; + public function setConnection($connection) { $this->connection = $connection; } @@ -62,7 +64,7 @@ class PDOInsertionStrategy { $host["icon_image"], $host["notes_url"], $host["action_url"] )); $insertHostStatusQuery->execute(array( - $this->objectId, $host["state"], $flags->time, $flags->notifications, + $this->objectId, $host["state"], date($this->datetimeFormat, $flags->time), $flags->notifications, $flags->active_checks, $flags->passive_checks, $flags->flapping, $flags->in_downtime)); foreach($host["contacts"] as $contact) { @@ -112,7 +114,7 @@ class PDOInsertionStrategy { $service["notes_url"], $service["action_url"], $service["icon_image"] )); $insertServiceStatusQuery->execute(array( - $this->objectId, $service["state"], $flags->time, $flags->notifications, + $this->objectId, $service["state"], date($this->datetimeFormat, $flags->time), $flags->notifications, $flags->active_checks, $flags->passive_checks, $flags->flapping, $flags->in_downtime)); foreach($service["contacts"] as $contact) {