Example #1
0
 function testDeleteNoResource()
 {
     $config = array('uri' => '/filesystem/one/tonicFilesystemTestDoesntExist', 'method' => 'DELETE');
     $request = new Request($config);
     $resource = $request->loadResource();
     $response = $resource->exec($request);
     $this->assertEqual($response->code, 404);
 }
Example #2
0
 function testMethodDoesNotReturnResponseObject()
 {
     $config = array('uri' => '/resourcetest/badmethodresponse');
     $this->expectException(new PatternExpectation('/Method GET of (.+\\\\)?TestBadMethodResponse did not return a Response object/'));
     $request = new Request($config);
     $resource = $request->loadResource();
     $response = $resource->exec($request);
 }
Example #3
0
 function testAddEtag()
 {
     $config = array('uri' => '/responsetest');
     $request = new Request($config);
     $resource = $request->loadResource();
     $response = $resource->exec($request);
     $response->addEtag("123123");
     $this->assertEqual($response->headers['Etag'], '"123123"');
 }
Example #4
0
 function testFunctioningResourceExec()
 {
     $config = array('uri' => '/resourcetest/one');
     $request = new Request($config);
     $resource = $request->loadResource();
     $response = $resource->exec($request);
     $this->assertEqual($response->code, '200');
     $this->assertEqual($response->body, 'test');
 }
 function testCreateCollectionItem()
 {
     $config = array('uri' => '/filesystemcollection/collectionIndex', 'method' => 'POST');
     $request = new Request($config);
     $resource = $request->loadResource();
     $response = $resource->exec($request);
     $this->assertEqual($response->code, 411);
     $config = array('uri' => '/filesystemcollection/collectionIndex', 'method' => 'POST', 'data' => 'three');
     $request = new Request($config);
     $resource = $request->loadResource();
     $response = $resource->exec($request);
     $this->assertEqual($response->code, 201);
     $this->assertEqual($response->headers['Location'], '/filesystemcollection/collection/3');
     $config = array('uri' => '/filesystemcollection/collectionIndex');
     $request = new Request($config);
     $resource = $request->loadResource();
     $response = $resource->exec($request);
     $this->assertEqual($response->code, 200);
     $this->assertEqual($response->body, '<ul><li><a href="/filesystemcollection/collection/1">1</a></li><li><a href="/filesystemcollection/collection/2">2</a></li><li><a href="/filesystemcollection/collection/3">3</a></li></ul>');
 }
Example #6
0
require_once 'resources/install.php';
require_once 'resources/contact.php';
require_once 'resources/downloadGctour.php';
//~ require_once 'resources/smarty.php';
// load Datebase wrapper and config
require_once 'conf/config.inc.php';
require_once 'lib/Database.singleton.php';
// create the $db object
$db = Database::obtain(DB_SERVER, DB_USER, DB_PASS, DB_DATABASE);
// connect to the server
$db->connect();
// support umlauts
$db->query("set names 'utf8';");
// handle request
$request = new Request(array());
try {
    $resource = $request->loadResource();
    $response = $resource->exec($request);
} catch (ResponseException $e) {
    switch ($e->getCode()) {
        case Response::UNAUTHORIZED:
            $response = $e->response($request);
            //        $response->addHeader('WWW-Authenticate', 'Basic realm="GCTour Admin"');
            break;
        default:
            $response = $e->response($request);
    }
}
$response->output();
// and when finished, remember to close connection
$db->close();
Example #7
0
 function testURIPriority()
 {
     // with same @uri
     $config = array('uri' => '/requesttest/priority');
     $request = new Request($config);
     $resource = $request->loadResource();
     $this->assertEqual(get_class($resource), 'PriorityTestMoreImportantResource');
     // with different @uri
     $config = array('uri' => '/requesttest/differenturipriority');
     $request = new Request($config);
     $resource = $request->loadResource();
     $this->assertEqual(get_class($resource), 'PriorityTestDifferntURIMoreImportantResource');
 }
Example #8
0
 function testAutoloadingOfResouces()
 {
     $config = array('uri' => '/requesttest/autoload', 'autoload' => array('/requesttest/autoload' => 'def/Autoload.php'));
     $request = new Request($config);
     $resource = $request->loadResource();
     $this->assertEqual(get_class($resource), 'Autoload');
     $this->assertPattern('/Class: Autoload/', $request);
     $this->assertPattern('|File: ' . dirname(__FILE__) . DIRECTORY_SEPARATOR . 'def/Autoload.php|', $request);
     $config = array('uri' => '/requesttest/autoload2', 'autoload' => array('/requesttest/autoload2' => 'def\\Autoload.php'));
     $request = new Request($config);
     $resource = $request->loadResource();
     $this->assertEqual(get_class($resource), 'Autoload');
     $this->assertPattern('/Class: Autoload/', $request);
     $this->assertPattern('|File: ' . dirname(__FILE__) . DIRECTORY_SEPARATOR . 'def/Autoload.php|', $request);
 }