Blame view
sources/3rdparty/sabre/dav/tests/Sabre/DAV/HttpDeleteTest.php
3.35 KB
|
6d9380f96
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 |
<?php
namespace Sabre\DAV;
use Sabre\DAVServerTest;
use Sabre\HTTP;
/**
* Tests related to the PUT request.
*
* @copyright Copyright (C) 2007-2014 fruux GmbH. All rights reserved.
* @author Evert Pot (http://evertpot.com/)
* @license http://sabre.io/license/ Modified BSD License
*/
class HttpDeleteTest extends DAVServerTest {
/**
* Sets up the DAV tree.
*
* @return void
*/
public function setUpTree() {
$this->tree = new Mock\Collection('root', array(
'file1' => 'foo',
'dir' => array(
'subfile' => 'bar',
'subfile2' => 'baz',
),
));
}
/**
* A successful DELETE
*/
public function testDelete() {
$request = new HTTP\Request(array(
'REQUEST_URI' => '/file1',
'REQUEST_METHOD' => 'DELETE',
));
$response = $this->request($request);
$this->assertEquals(
'HTTP/1.1 204 No Content',
$response->status,
"Incorrect status code. Response body: " . $response->body
);
$this->assertEquals(
array(
'Content-Length' => '0',
),
$response->headers
);
}
/**
* Deleting a Directory
*/
public function testDeleteDirectory() {
$request = new HTTP\Request(array(
'REQUEST_URI' => '/dir',
'REQUEST_METHOD' => 'DELETE',
));
$response = $this->request($request);
$this->assertEquals(
'HTTP/1.1 204 No Content',
$response->status,
"Incorrect status code. Response body: " . $response->body
);
$this->assertEquals(
array(
'Content-Length' => '0',
),
$response->headers
);
}
/**
* DELETE on a node that does not exist
*/
public function testDeleteNotFound() {
$request = new HTTP\Request(array(
'REQUEST_URI' => '/file2',
'REQUEST_METHOD' => 'DELETE',
));
$response = $this->request($request);
$this->assertEquals(
'HTTP/1.1 404 Not Found',
$response->status,
"Incorrect status code. Response body: " . $response->body
);
}
/**
* DELETE with preconditions
*/
public function testDeletePreconditions() {
$request = new HTTP\Request(array(
'REQUEST_URI' => '/file1',
'REQUEST_METHOD' => 'DELETE',
'HTTP_IF_MATCH' => '"' . md5('foo') . '"',
));
$response = $this->request($request);
$this->assertEquals(
'HTTP/1.1 204 No Content',
$response->status,
"Incorrect status code. Response body: " . $response->body
);
}
/**
* DELETE with incorrect preconditions
*/
public function testDeletePreconditionsFailed() {
$request = new HTTP\Request(array(
'REQUEST_URI' => '/file1',
'REQUEST_METHOD' => 'DELETE',
'HTTP_IF_MATCH' => '"' . md5('bar') . '"',
));
$response = $this->request($request);
$this->assertEquals(
'HTTP/1.1 412 Precondition failed',
$response->status,
"Incorrect status code. Response body: " . $response->body
);
}
}
|