From 89d6b036b4ef7e2f59fd21a7a29664eda94e8176 Mon Sep 17 00:00:00 2001 From: Sam Minnee Date: Fri, 7 Jun 2013 11:22:18 +1200 Subject: [PATCH] NEW: Add status code comment to testsession/start output. testsession/start now includes a comment of the form , which can be used by behat and other consumers to validate that the tesession was actually started. It's included the database name in its output, which is a small piece of information disclosure, but not a big deal compared to the generally dev-only nature of this module. It requires a fix to Cookie::set(), to ensure that set cookies also apperar immediately in $_COOKIE. Otherwise the call to DB::get_alternative_database_name() after it is set won't return a value. --- code/TestSessionController.php | 9 +++++++++ templates/TestSession_start.ss | 1 + 2 files changed, 10 insertions(+) diff --git a/code/TestSessionController.php b/code/TestSessionController.php index 71135cc..09576cc 100644 --- a/code/TestSessionController.php +++ b/code/TestSessionController.php @@ -44,6 +44,15 @@ class TestSessionController extends Controller { return $this->renderWith('TestSession_start'); } + public function DatabaseName() { + if($dbname = DB::get_alternative_database_name()) { + return $dbname; + } else { + $db = DB::getConn(); + if(method_exists($db, 'currentDatabase')) return $db->currentDatabase(); + } + } + public function set($request) { if(!SapphireTest::using_temp_db()) { throw new LogicException( diff --git a/templates/TestSession_start.ss b/templates/TestSession_start.ss index f7ffdf2..35f49f4 100644 --- a/templates/TestSession_start.ss +++ b/templates/TestSession_start.ss @@ -1,3 +1,4 @@ +

Started testing session. <% if Fixture %>Loaded fixture "$Fixture" into database.<% end_if %>