Skip to content

Commit 5254efd

Browse files
committed
Allow to add or remove server params
1 parent 7c511ce commit 5254efd

File tree

3 files changed

+49
-1
lines changed

3 files changed

+49
-1
lines changed

src/Codeception/Lib/InnerBrowser.php

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2034,4 +2034,29 @@ protected function getNormalizedResponseContent()
20342034

20352035
return $content;
20362036
}
2037+
2038+
/**
2039+
* Sets SERVER parameters valid for all next requests.
2040+
* this will remove old ones.
2041+
*
2042+
* ```php
2043+
* $I->setServerParameters([]);
2044+
* ```
2045+
*/
2046+
public function setServerParameters(array $params)
2047+
{
2048+
$this->client->setServerParameters($params);
2049+
}
2050+
2051+
/**
2052+
* Sets SERVER parameter valid for all next requests.
2053+
*
2054+
* ```php
2055+
* $I->haveServerParameter('name', 'value');
2056+
* ```
2057+
*/
2058+
public function haveServerParameter($name, $value)
2059+
{
2060+
$this->client->setServerParameter($name, $value);
2061+
}
20372062
}

tests/data/app/db

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
a:0:{}
1+
a:0:{}

tests/unit/Codeception/Module/TestsForWeb.php

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1746,4 +1746,27 @@ public function testPasswordArgument()
17461746
$data = data::get('form');
17471747
$this->assertEquals('thisissecret', $data['password']);
17481748
}
1749+
1750+
1751+
public function testCanResetHTTPAuthenticated()
1752+
{
1753+
$this->module->amHttpAuthenticated('user', 'pass');
1754+
$this->module->amOnPage('/');
1755+
$server = $this->module->client->getRequest()->getServer();
1756+
$this->assertArrayHasKey('PHP_AUTH_USER', $server);
1757+
$this->assertArrayHasKey('PHP_AUTH_PW', $server);
1758+
$this->module->setServerParameters([]);
1759+
$this->module->amOnPage('/');
1760+
$server = $this->module->client->getRequest()->getServer();
1761+
$this->assertArrayNotHasKey('PHP_AUTH_USER', $server);
1762+
$this->assertArrayNotHasKey('PHP_AUTH_PW', $server);
1763+
}
1764+
1765+
public function testHaveServerParameter()
1766+
{
1767+
$this->module->haveServerParameter('my', 'param');
1768+
$this->module->amOnPage('/');
1769+
$server = $this->module->client->getRequest()->getServer();
1770+
$this->assertArrayHasKey('my', $server);
1771+
}
17491772
}

0 commit comments

Comments
 (0)