149 lines
3.4 KiB
PHP
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'));
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
}
|