2013-10-21 22:46:31 +00:00
< ? php
namespace Sabre\DAV\Mount ;
use Sabre\DAV ;
use Sabre\HTTP ;
require_once 'Sabre/DAV/AbstractServer.php' ;
class PluginTest extends DAV\AbstractServer {
function setUp () {
parent :: setUp ();
$this -> server -> addPlugin ( new Plugin ());
}
function testPassThrough () {
$serverVars = array (
'REQUEST_URI' => '/' ,
'REQUEST_METHOD' => 'GET' ,
);
2016-05-11 00:26:44 +00:00
$request = HTTP\Sapi :: createFromServerArray ( $serverVars );
2013-10-21 22:46:31 +00:00
$this -> server -> httpRequest = ( $request );
$this -> server -> exec ();
2016-05-11 00:26:44 +00:00
$this -> assertEquals ( 501 , $this -> response -> status , 'We expected GET to not be implemented for Directories. Response body: ' . $this -> response -> body );
2013-10-21 22:46:31 +00:00
}
function testMountResponse () {
$serverVars = array (
'REQUEST_URI' => '/?mount' ,
'REQUEST_METHOD' => 'GET' ,
'QUERY_STRING' => 'mount' ,
'HTTP_HOST' => 'example.org' ,
);
2016-05-11 00:26:44 +00:00
$request = HTTP\Sapi :: createFromServerArray ( $serverVars );
2013-10-21 22:46:31 +00:00
$this -> server -> httpRequest = ( $request );
$this -> server -> exec ();
2016-05-11 00:26:44 +00:00
$this -> assertEquals ( 200 , $this -> response -> status );
2013-10-21 22:46:31 +00:00
$xml = simplexml_load_string ( $this -> response -> body );
2016-05-11 00:26:44 +00:00
$this -> assertInstanceOf ( 'SimpleXMLElement' , $xml , 'Response was not a valid xml document. The list of errors:' . print_r ( libxml_get_errors (), true ) . '. xml body: ' . $this -> response -> body . '. What type we got: ' . gettype ( $xml ) . ' class, if object: ' . get_class ( $xml ));
2013-10-21 22:46:31 +00:00
$xml -> registerXPathNamespace ( 'dm' , 'http://purl.org/NET/webdav/mount' );
$url = $xml -> xpath ( '//dm:url' );
$this -> assertEquals ( 'http://example.org/' ,( string ) $url [ 0 ]);
}
}