status; $GLOBALS["EZC_WEBDAV_TRANSPORT_TEST_RESPONSE_HEADERS"] = $output->headers; $GLOBALS["EZC_WEBDAV_TRANSPORT_TEST_RESPONSE_BODY"] = $output->body; } } '; abstract public function performSetup( ezcWebdavClientTest $test, $testSetId ); public function adjustRequest( array &$request ) { $serverBase = array( 'DOCUMENT_ROOT' => '/var/www/localhost/htdocs', 'HTTP_USER_AGENT' => 'RFC compliant', 'SCRIPT_FILENAME' => '/var/www/localhost/htdocs', 'SERVER_NAME' => 'webdav', ); $request['server'] = array_merge( $serverBase, $request['server'] ); } public function adjustResponse( array &$actualResponse, array &$expectedResponse ) { // Unify server generated nounce if ( isset( $expectedResponse['headers']['WWW-Authenticate']['digest'] ) && isset( $actualResponse['headers']['WWW-Authenticate']['digest'] ) ) { preg_match( '(nonce="[a-zA-Z0-9]+")', $actualResponse['headers']['WWW-Authenticate']['digest'], $matches ); $expectedResponse['headers']['WWW-Authenticate']['digest'] = preg_replace( '(nonce="([a-zA-Z0-9]+)")', $matches[0], $expectedResponse['headers']['WWW-Authenticate']['digest'] ); } } public function assertCustomAssertions( ezcWebdavClientTest $testCase ) { } protected function getServer( ezcWebdavPathFactory $pathFactory ) { $server = ezcWebdavServer::getInstance(); $server->reset(); foreach ( $server->configurations as $id => $cfg ) { // Prepare mock classes, if not done, yet if ( !class_exists( ( $mockClass = "{$cfg->transportClass}Mock" ) ) ) { eval( sprintf( $this->mockClassSource, $cfg->transportClass, $cfg->transportClass ) ); } // Mock all transports $server->configurations[$id]->transportClass = "{$cfg->transportClass}Mock"; $server->configurations[$id]->pathFactory = $pathFactory; } $server->auth = new ezcWebdavTestAuth(); return $server; } } ?>