tree = new Mock\Collection('root', [ 'file1' => 'foo', 'dir' => [ 'subfile' => 'bar', 'subfile2' => 'baz', ], ]); } /** * A successful DELETE */ public function testDelete() { $request = new HTTP\Request('DELETE', '/file1'); $response = $this->request($request); $this->assertEquals( 204, $response->getStatus(), "Incorrect status code. Response body: " . $response->getBodyAsString() ); $this->assertEquals( [ 'X-Sabre-Version' => [Version::VERSION], 'Content-Length' => ['0'], ], $response->getHeaders() ); } /** * Deleting a Directory */ public function testDeleteDirectory() { $request = new HTTP\Request('DELETE', '/dir'); $response = $this->request($request); $this->assertEquals( 204, $response->getStatus(), "Incorrect status code. Response body: " . $response->getBodyAsString() ); $this->assertEquals( [ 'X-Sabre-Version' => [Version::VERSION], 'Content-Length' => ['0'], ], $response->getHeaders() ); } /** * DELETE on a node that does not exist */ public function testDeleteNotFound() { $request = new HTTP\Request('DELETE', '/file2'); $response = $this->request($request); $this->assertEquals( 404, $response->getStatus(), "Incorrect status code. Response body: " . $response->getBodyAsString() ); } /** * DELETE with preconditions */ public function testDeletePreconditions() { $request = new HTTP\Request('DELETE', '/file1', [ 'If-Match' => '"' . md5('foo') . '"', ]); $response = $this->request($request); $this->assertEquals( 204, $response->getStatus(), "Incorrect status code. Response body: " . $response->getBodyAsString() ); } /** * DELETE with incorrect preconditions */ public function testDeletePreconditionsFailed() { $request = new HTTP\Request('DELETE', '/file1', [ 'If-Match' => '"' . md5('bar') . '"', ]); $response = $this->request($request); $this->assertEquals( 412, $response->getStatus(), "Incorrect status code. Response body: " . $response->getBodyAsString() ); } }