mirror of
https://github.com/silverstripe/silverstripe-testsession
synced 2024-10-22 14:06:00 +02:00
NEW: Add status code comment to testsession/start output.
testsession/start now includes a comment of the form <!-- SUCCESS: DBNAME=DatabaseName -->, 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.
This commit is contained in:
parent
9a8d24c116
commit
78062a093c
@ -44,6 +44,15 @@ class TestSessionController extends Controller {
|
|||||||
return $this->renderWith('TestSession_start');
|
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) {
|
public function set($request) {
|
||||||
if(!SapphireTest::using_temp_db()) {
|
if(!SapphireTest::using_temp_db()) {
|
||||||
throw new LogicException(
|
throw new LogicException(
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
<!-- SUCCESS: DBNAME=$DatabaseName -->
|
||||||
<p>
|
<p>
|
||||||
Started testing session.
|
Started testing session.
|
||||||
<% if Fixture %>Loaded fixture "$Fixture" into database.<% end_if %>
|
<% if Fixture %>Loaded fixture "$Fixture" into database.<% end_if %>
|
||||||
|
Loading…
Reference in New Issue
Block a user