FauxRequest: Add unit tests to expand code coverage
* Remove @covers for methods that don't exist (parent class). * Fix coverage for initHeaders() and setHeaders(). * Add tests and coverage for all other methods. Change-Id: Id9b6de31843d2e87c54f485beb4fbcbe6f4bf8f6
This commit is contained in:
parent
79c90907d6
commit
d18d030d57
2 changed files with 165 additions and 11 deletions
|
|
@ -226,6 +226,7 @@ class FauxRequest extends WebRequest {
|
|||
}
|
||||
|
||||
/**
|
||||
* @codeCoverageIgnore
|
||||
* @param array $extWhitelist
|
||||
* @return bool
|
||||
*/
|
||||
|
|
@ -234,6 +235,7 @@ class FauxRequest extends WebRequest {
|
|||
}
|
||||
|
||||
/**
|
||||
* @codeCoverageIgnore
|
||||
* @return string
|
||||
*/
|
||||
protected function getRawIP() {
|
||||
|
|
|
|||
|
|
@ -1,8 +1,143 @@
|
|||
<?php
|
||||
|
||||
class FauxRequestTest extends MediaWikiTestCase {
|
||||
class FauxRequestTest extends PHPUnit_Framework_TestCase {
|
||||
/**
|
||||
* @covers FauxRequest::__construct
|
||||
*/
|
||||
public function testConstructInvalidData() {
|
||||
$this->setExpectedException( MWException::class, 'bogus data' );
|
||||
$req = new FauxRequest( 'x' );
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers FauxRequest::__construct
|
||||
*/
|
||||
public function testConstructInvalidSession() {
|
||||
$this->setExpectedException( MWException::class, 'bogus session' );
|
||||
$req = new FauxRequest( [], false, 'x' );
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers FauxRequest::getText
|
||||
*/
|
||||
public function testGetText() {
|
||||
$req = new FauxRequest( [ 'x' => 'Value' ] );
|
||||
$this->assertEquals( 'Value', $req->getText( 'x' ) );
|
||||
$this->assertEquals( '', $req->getText( 'z' ) );
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers FauxRequest::getValues
|
||||
*/
|
||||
public function testGetValues() {
|
||||
$values = [ 'x' => 'Value', 'y' => '' ];
|
||||
$req = new FauxRequest( $values );
|
||||
$this->assertEquals( $values, $req->getValues() );
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers FauxRequest::getQueryValues
|
||||
*/
|
||||
public function testGetQueryValues() {
|
||||
$values = [ 'x' => 'Value', 'y' => '' ];
|
||||
|
||||
$req = new FauxRequest( $values );
|
||||
$this->assertEquals( $values, $req->getQueryValues() );
|
||||
$req = new FauxRequest( $values, /*wasPosted*/ true );
|
||||
$this->assertEquals( [], $req->getQueryValues() );
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers FauxRequest::getMethod
|
||||
*/
|
||||
public function testGetMethod() {
|
||||
$req = new FauxRequest( [] );
|
||||
$this->assertEquals( 'GET', $req->getMethod() );
|
||||
$req = new FauxRequest( [], /*wasPosted*/ true );
|
||||
$this->assertEquals( 'POST', $req->getMethod() );
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers FauxRequest::wasPosted
|
||||
*/
|
||||
public function testWasPosted() {
|
||||
$req = new FauxRequest( [] );
|
||||
$this->assertFalse( $req->wasPosted() );
|
||||
$req = new FauxRequest( [], /*wasPosted*/ true );
|
||||
$this->assertTrue( $req->wasPosted() );
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers FauxRequest::getCookie
|
||||
* @covers FauxRequest::setCookie
|
||||
* @covers FauxRequest::setCookies
|
||||
*/
|
||||
public function testCookies() {
|
||||
$req = new FauxRequest();
|
||||
$this->assertSame( null, $req->getCookie( 'z', '' ) );
|
||||
|
||||
$req->setCookie( 'x', 'Value', '' );
|
||||
$this->assertEquals( 'Value', $req->getCookie( 'x', '' ) );
|
||||
|
||||
$req->setCookies( [ 'x' => 'One', 'y' => 'Two' ], '' );
|
||||
$this->assertEquals( 'One', $req->getCookie( 'x', '' ) );
|
||||
$this->assertEquals( 'Two', $req->getCookie( 'y', '' ) );
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers FauxRequest::getCookie
|
||||
* @covers FauxRequest::setCookie
|
||||
* @covers FauxRequest::setCookies
|
||||
*/
|
||||
public function testCookiesDefaultPrefix() {
|
||||
global $wgCookiePrefix;
|
||||
$oldPrefix = $wgCookiePrefix;
|
||||
$wgCookiePrefix = '_';
|
||||
|
||||
$req = new FauxRequest();
|
||||
$this->assertSame( null, $req->getCookie( 'z' ) );
|
||||
|
||||
$req->setCookie( 'x', 'Value' );
|
||||
$this->assertEquals( 'Value', $req->getCookie( 'x' ) );
|
||||
|
||||
$wgCookiePrefix = $oldPrefix;
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers FauxRequest::getRequestURL
|
||||
*/
|
||||
public function testGetRequestURL() {
|
||||
$req = new FauxRequest();
|
||||
$this->setExpectedException( MWException::class );
|
||||
$req->getRequestURL();
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers FauxRequest::setRequestURL
|
||||
* @covers FauxRequest::getRequestURL
|
||||
*/
|
||||
public function testSetRequestURL() {
|
||||
$req = new FauxRequest();
|
||||
$req->setRequestURL( 'https://example.org' );
|
||||
$this->assertEquals( 'https://example.org', $req->getRequestURL() );
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers FauxRequest::__construct
|
||||
* @covers FauxRequest::getProtocol
|
||||
*/
|
||||
public function testProtocol() {
|
||||
$req = new FauxRequest();
|
||||
$this->assertEquals( 'http', $req->getProtocol() );
|
||||
$req = new FauxRequest( [], false, null, 'http' );
|
||||
$this->assertEquals( 'http', $req->getProtocol() );
|
||||
$req = new FauxRequest( [], false, null, 'https' );
|
||||
$this->assertEquals( 'https', $req->getProtocol() );
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers FauxRequest::setHeader
|
||||
* @covers FauxRequest::setHeaders
|
||||
* @covers FauxRequest::getHeader
|
||||
*/
|
||||
public function testGetSetHeader() {
|
||||
|
|
@ -22,7 +157,7 @@ class FauxRequestTest extends MediaWikiTestCase {
|
|||
}
|
||||
|
||||
/**
|
||||
* @covers FauxRequest::getAllHeaders
|
||||
* @covers FauxRequest::initHeaders
|
||||
*/
|
||||
public function testGetAllHeaders() {
|
||||
$_SERVER['HTTP_TEST'] = 'Example';
|
||||
|
|
@ -33,19 +168,36 @@ class FauxRequestTest extends MediaWikiTestCase {
|
|||
[],
|
||||
$request->getAllHeaders()
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers FauxRequest::getHeader
|
||||
*/
|
||||
public function testGetHeader() {
|
||||
$_SERVER['HTTP_TEST'] = 'Example';
|
||||
|
||||
$request = new FauxRequest();
|
||||
|
||||
$this->assertEquals(
|
||||
false,
|
||||
$request->getHeader( 'test' )
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers FauxRequest::__construct
|
||||
* @covers FauxRequest::getSessionArray
|
||||
*/
|
||||
public function testSessionData() {
|
||||
$values = [ 'x' => 'Value', 'y' => '' ];
|
||||
|
||||
$req = new FauxRequest( [], false, /*session*/ $values );
|
||||
$this->assertEquals( $values, $req->getSessionArray() );
|
||||
|
||||
$req = new FauxRequest();
|
||||
$this->assertSame( null, $req->getSessionArray() );
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers FauxRequest::getRawQueryString
|
||||
* @covers FauxRequest::getRawPostString
|
||||
* @covers FauxRequest::getRawInput
|
||||
*/
|
||||
public function testDummies() {
|
||||
$req = new FauxRequest();
|
||||
$this->assertEquals( '', $req->getRawQueryString() );
|
||||
$this->assertEquals( '', $req->getRawPostString() );
|
||||
$this->assertEquals( '', $req->getRawInput() );
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue