friendica-addons/dav/SabreDAV/tests/Sabre/HTTP/RequestTest.php
2012-06-03 18:19:28 +00:00

149 lines
3.4 KiB
PHP

<?php
/**
* @covers Sabre_HTTP_Request
*/
class Sabre_HTTP_RequestTest extends PHPUnit_Framework_TestCase {
/**
* @var Sabre_HTTP_Request
*/
private $request;
function setUp() {
$server = array(
'HTTP_HOST' => 'www.example.org',
'REQUEST_METHOD' => 'PUT',
'REQUEST_URI' => '/testuri/',
'CONTENT_TYPE' => 'text/xml',
);
$this->request = new Sabre_HTTP_Request($server);
}
function testGetHeader() {
$this->assertEquals('www.example.org', $this->request->getHeader('Host'));
$this->assertEquals('text/xml', $this->request->getHeader('Content-Type'));
}
function testGetNonExistantHeader() {
$this->assertNull($this->request->getHeader('doesntexist'));
$this->assertNull($this->request->getHeader('Content-Length'));
}
function testGetHeaders() {
$expected = array(
'host' => 'www.example.org',
'content-type' => 'text/xml',
);
$this->assertEquals($expected, $this->request->getHeaders());
}
function testGetMethod() {
$this->assertEquals('PUT', $this->request->getMethod(), 'It seems as if we didn\'t get a valid HTTP Request method back');
}
function testGetUri() {
$this->assertEquals('/testuri/', $this->request->getUri(), 'We got an invalid uri back');
}
function testSetGetBody() {
$h = fopen('php://memory','r+');
fwrite($h,'testing');
rewind($h);
$this->request->setBody($h);
$this->assertEquals('testing',$this->request->getBody(true),'We didn\'t get our testbody back');
}
function testSetGetBodyStream() {
$h = fopen('php://memory','r+');
fwrite($h,'testing');
rewind($h);
$this->request->setBody($h);
$this->assertEquals('testing',stream_get_contents($this->request->getBody()),'We didn\'t get our testbody back');
}
function testDefaultInputStream() {
$h = fopen('php://memory','r+');
fwrite($h,'testing');
rewind($h);
$previousValue = Sabre_HTTP_Request::$defaultInputStream;
Sabre_HTTP_Request::$defaultInputStream = $h;
$this->assertEquals('testing',$this->request->getBody(true),'We didn\'t get our testbody back');
Sabre_HTTP_Request::$defaultInputStream = $previousValue;
}
function testGetAbsoluteUri() {
$s = array(
'HTTP_HOST' => 'sabredav.org',
'REQUEST_URI' => '/foo'
);
$r = new Sabre_HTTP_Request($s);
$this->assertEquals('http://sabredav.org/foo', $r->getAbsoluteUri());
$s = array(
'HTTP_HOST' => 'sabredav.org',
'REQUEST_URI' => '/foo',
'HTTPS' => 'on',
);
$r = new Sabre_HTTP_Request($s);
$this->assertEquals('https://sabredav.org/foo', $r->getAbsoluteUri());
}
function testGetQueryString() {
$s = array(
'QUERY_STRING' => 'bla',
);
$r = new Sabre_HTTP_Request($s);
$this->assertEquals('bla', $r->getQueryString());
$s = array();
$r = new Sabre_HTTP_Request($s);
$this->assertEquals('', $r->getQueryString());
}
function testGetPostVars() {
$post = array(
'bla' => 'foo',
);
$r = new Sabre_HTTP_Request(array(),$post);
$this->assertEquals($post, $r->getPostVars('bla'));
}
}