mirror of
https://git.friendi.ca/friendica/friendica-addons.git
synced 2025-07-08 09:28:49 +00:00
Initial Release of the calendar plugin
This commit is contained in:
parent
45cc9885fc
commit
7115197a33
561 changed files with 189494 additions and 0 deletions
791
dav/SabreDAV/tests/Sabre/DAV/ClientTest.php
Normal file
791
dav/SabreDAV/tests/Sabre/DAV/ClientTest.php
Normal file
|
@ -0,0 +1,791 @@
|
|||
<?php
|
||||
|
||||
require_once 'Sabre/DAV/ClientMock.php';
|
||||
|
||||
class Sabre_DAV_ClientTest extends PHPUnit_Framework_TestCase {
|
||||
|
||||
function testConstruct() {
|
||||
|
||||
$client = new Sabre_DAV_ClientMock(array(
|
||||
'baseUri' => '/',
|
||||
));
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException InvalidArgumentException
|
||||
*/
|
||||
function testConstructNoBaseUri() {
|
||||
|
||||
$client = new Sabre_DAV_ClientMock(array());
|
||||
|
||||
}
|
||||
|
||||
function testRequest() {
|
||||
|
||||
$client = new Sabre_DAV_ClientMock(array(
|
||||
'baseUri' => 'http://example.org/foo/bar/',
|
||||
));
|
||||
|
||||
$responseBlob = array(
|
||||
"HTTP/1.1 200 OK",
|
||||
"Content-Type: text/plain",
|
||||
"",
|
||||
"Hello there!"
|
||||
);
|
||||
|
||||
$client->response = array(
|
||||
implode("\r\n", $responseBlob),
|
||||
array(
|
||||
'header_size' => 45,
|
||||
'http_code' => 200,
|
||||
),
|
||||
0,
|
||||
""
|
||||
);
|
||||
|
||||
$result = $client->request('POST', 'baz', 'sillybody', array('Content-Type' => 'text/plain'));
|
||||
|
||||
$this->assertEquals('http://example.org/foo/bar/baz', $client->url);
|
||||
$this->assertEquals(array(
|
||||
CURLOPT_RETURNTRANSFER => true,
|
||||
CURLOPT_FOLLOWLOCATION => true,
|
||||
CURLOPT_MAXREDIRS => 5,
|
||||
CURLOPT_CUSTOMREQUEST => 'POST',
|
||||
CURLOPT_POSTFIELDS => 'sillybody',
|
||||
CURLOPT_HEADER => true,
|
||||
CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),
|
||||
), $client->curlSettings);
|
||||
|
||||
$this->assertEquals(array(
|
||||
'statusCode' => 200,
|
||||
'headers' => array(
|
||||
'content-type' => 'text/plain',
|
||||
),
|
||||
'body' => 'Hello there!'
|
||||
), $result);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
function testRequestProxy() {
|
||||
|
||||
$client = new Sabre_DAV_ClientMock(array(
|
||||
'baseUri' => 'http://example.org/foo/bar/',
|
||||
'proxy' => 'http://localhost:8000/',
|
||||
));
|
||||
|
||||
$responseBlob = array(
|
||||
"HTTP/1.1 200 OK",
|
||||
"Content-Type: text/plain",
|
||||
"",
|
||||
"Hello there!"
|
||||
);
|
||||
|
||||
$client->response = array(
|
||||
implode("\r\n", $responseBlob),
|
||||
array(
|
||||
'header_size' => 45,
|
||||
'http_code' => 200,
|
||||
),
|
||||
0,
|
||||
""
|
||||
);
|
||||
|
||||
$result = $client->request('POST', 'baz', 'sillybody', array('Content-Type' => 'text/plain'));
|
||||
|
||||
$this->assertEquals('http://example.org/foo/bar/baz', $client->url);
|
||||
$this->assertEquals(array(
|
||||
CURLOPT_RETURNTRANSFER => true,
|
||||
CURLOPT_FOLLOWLOCATION => true,
|
||||
CURLOPT_MAXREDIRS => 5,
|
||||
CURLOPT_CUSTOMREQUEST => 'POST',
|
||||
CURLOPT_POSTFIELDS => 'sillybody',
|
||||
CURLOPT_HEADER => true,
|
||||
CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),
|
||||
CURLOPT_PROXY => 'http://localhost:8000/',
|
||||
), $client->curlSettings);
|
||||
|
||||
$this->assertEquals(array(
|
||||
'statusCode' => 200,
|
||||
'headers' => array(
|
||||
'content-type' => 'text/plain',
|
||||
),
|
||||
'body' => 'Hello there!'
|
||||
), $result);
|
||||
|
||||
}
|
||||
|
||||
|
||||
function testRequestAuth() {
|
||||
|
||||
$client = new Sabre_DAV_ClientMock(array(
|
||||
'baseUri' => 'http://example.org/foo/bar/',
|
||||
'userName' => 'user',
|
||||
'password' => 'password',
|
||||
));
|
||||
|
||||
$responseBlob = array(
|
||||
"HTTP/1.1 200 OK",
|
||||
"Content-Type: text/plain",
|
||||
"",
|
||||
"Hello there!"
|
||||
);
|
||||
|
||||
$client->response = array(
|
||||
implode("\r\n", $responseBlob),
|
||||
array(
|
||||
'header_size' => 45,
|
||||
'http_code' => 200,
|
||||
),
|
||||
0,
|
||||
""
|
||||
);
|
||||
|
||||
$result = $client->request('POST', 'baz', 'sillybody', array('Content-Type' => 'text/plain'));
|
||||
|
||||
$this->assertEquals('http://example.org/foo/bar/baz', $client->url);
|
||||
$this->assertEquals(array(
|
||||
CURLOPT_RETURNTRANSFER => true,
|
||||
CURLOPT_FOLLOWLOCATION => true,
|
||||
CURLOPT_MAXREDIRS => 5,
|
||||
CURLOPT_CUSTOMREQUEST => 'POST',
|
||||
CURLOPT_POSTFIELDS => 'sillybody',
|
||||
CURLOPT_HEADER => true,
|
||||
CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),
|
||||
CURLOPT_HTTPAUTH => CURLAUTH_BASIC | CURLAUTH_DIGEST,
|
||||
CURLOPT_USERPWD => 'user:password'
|
||||
), $client->curlSettings);
|
||||
|
||||
$this->assertEquals(array(
|
||||
'statusCode' => 200,
|
||||
'headers' => array(
|
||||
'content-type' => 'text/plain',
|
||||
),
|
||||
'body' => 'Hello there!'
|
||||
), $result);
|
||||
|
||||
}
|
||||
|
||||
function testRequestAuthBasic() {
|
||||
|
||||
$client = new Sabre_DAV_ClientMock(array(
|
||||
'baseUri' => 'http://example.org/foo/bar/',
|
||||
'userName' => 'user',
|
||||
'password' => 'password',
|
||||
'authType' => Sabre_DAV_Client::AUTH_BASIC,
|
||||
));
|
||||
|
||||
$responseBlob = array(
|
||||
"HTTP/1.1 200 OK",
|
||||
"Content-Type: text/plain",
|
||||
"",
|
||||
"Hello there!"
|
||||
);
|
||||
|
||||
$client->response = array(
|
||||
implode("\r\n", $responseBlob),
|
||||
array(
|
||||
'header_size' => 45,
|
||||
'http_code' => 200,
|
||||
),
|
||||
0,
|
||||
""
|
||||
);
|
||||
|
||||
$result = $client->request('POST', 'baz', 'sillybody', array('Content-Type' => 'text/plain'));
|
||||
|
||||
$this->assertEquals('http://example.org/foo/bar/baz', $client->url);
|
||||
$this->assertEquals(array(
|
||||
CURLOPT_RETURNTRANSFER => true,
|
||||
CURLOPT_FOLLOWLOCATION => true,
|
||||
CURLOPT_MAXREDIRS => 5,
|
||||
CURLOPT_CUSTOMREQUEST => 'POST',
|
||||
CURLOPT_POSTFIELDS => 'sillybody',
|
||||
CURLOPT_HEADER => true,
|
||||
CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),
|
||||
CURLOPT_HTTPAUTH => CURLAUTH_BASIC,
|
||||
CURLOPT_USERPWD => 'user:password'
|
||||
), $client->curlSettings);
|
||||
|
||||
$this->assertEquals(array(
|
||||
'statusCode' => 200,
|
||||
'headers' => array(
|
||||
'content-type' => 'text/plain',
|
||||
),
|
||||
'body' => 'Hello there!'
|
||||
), $result);
|
||||
|
||||
}
|
||||
|
||||
function testRequestAuthDigest() {
|
||||
|
||||
$client = new Sabre_DAV_ClientMock(array(
|
||||
'baseUri' => 'http://example.org/foo/bar/',
|
||||
'userName' => 'user',
|
||||
'password' => 'password',
|
||||
'authType' => Sabre_DAV_Client::AUTH_DIGEST,
|
||||
));
|
||||
|
||||
$responseBlob = array(
|
||||
"HTTP/1.1 200 OK",
|
||||
"Content-Type: text/plain",
|
||||
"",
|
||||
"Hello there!"
|
||||
);
|
||||
|
||||
$client->response = array(
|
||||
implode("\r\n", $responseBlob),
|
||||
array(
|
||||
'header_size' => 45,
|
||||
'http_code' => 200,
|
||||
),
|
||||
0,
|
||||
""
|
||||
);
|
||||
|
||||
$result = $client->request('POST', 'baz', 'sillybody', array('Content-Type' => 'text/plain'));
|
||||
|
||||
$this->assertEquals('http://example.org/foo/bar/baz', $client->url);
|
||||
$this->assertEquals(array(
|
||||
CURLOPT_RETURNTRANSFER => true,
|
||||
CURLOPT_FOLLOWLOCATION => true,
|
||||
CURLOPT_MAXREDIRS => 5,
|
||||
CURLOPT_CUSTOMREQUEST => 'POST',
|
||||
CURLOPT_POSTFIELDS => 'sillybody',
|
||||
CURLOPT_HEADER => true,
|
||||
CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),
|
||||
CURLOPT_HTTPAUTH => CURLAUTH_DIGEST,
|
||||
CURLOPT_USERPWD => 'user:password'
|
||||
), $client->curlSettings);
|
||||
|
||||
$this->assertEquals(array(
|
||||
'statusCode' => 200,
|
||||
'headers' => array(
|
||||
'content-type' => 'text/plain',
|
||||
),
|
||||
'body' => 'Hello there!'
|
||||
), $result);
|
||||
|
||||
}
|
||||
function testRequestError() {
|
||||
|
||||
$client = new Sabre_DAV_ClientMock(array(
|
||||
'baseUri' => 'http://example.org/foo/bar/',
|
||||
));
|
||||
|
||||
$responseBlob = array(
|
||||
"HTTP/1.1 200 OK",
|
||||
"Content-Type: text/plain",
|
||||
"",
|
||||
"Hello there!"
|
||||
);
|
||||
|
||||
$client->response = array(
|
||||
implode("\r\n", $responseBlob),
|
||||
array(
|
||||
'header_size' => 45,
|
||||
'http_code' => 200,
|
||||
),
|
||||
CURLE_COULDNT_CONNECT,
|
||||
"Could not connect, or something"
|
||||
);
|
||||
|
||||
$caught = false;
|
||||
try {
|
||||
$client->request('POST', 'baz', 'sillybody', array('Content-Type' => 'text/plain'));
|
||||
} catch (Sabre_DAV_Exception $e) {
|
||||
$caught = true;
|
||||
}
|
||||
if (!$caught) {
|
||||
$this->markTestFailed('Exception was not thrown');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function testRequestHTTPError() {
|
||||
|
||||
$client = new Sabre_DAV_ClientMock(array(
|
||||
'baseUri' => 'http://example.org/foo/bar/',
|
||||
));
|
||||
|
||||
$responseBlob = array(
|
||||
"HTTP/1.1 400 Bad Request",
|
||||
"Content-Type: text/plain",
|
||||
"",
|
||||
"Hello there!"
|
||||
);
|
||||
|
||||
$client->response = array(
|
||||
implode("\r\n", $responseBlob),
|
||||
array(
|
||||
'header_size' => 45,
|
||||
'http_code' => 400,
|
||||
),
|
||||
0,
|
||||
""
|
||||
);
|
||||
|
||||
$caught = false;
|
||||
try {
|
||||
$client->request('POST', 'baz', 'sillybody', array('Content-Type' => 'text/plain'));
|
||||
} catch (Sabre_DAV_Exception $e) {
|
||||
$caught = true;
|
||||
}
|
||||
if (!$caught) {
|
||||
$this->fail('Exception was not thrown');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function testRequestHTTP404() {
|
||||
|
||||
$client = new Sabre_DAV_ClientMock(array(
|
||||
'baseUri' => 'http://example.org/foo/bar/',
|
||||
));
|
||||
|
||||
$responseBlob = array(
|
||||
"HTTP/1.1 404 Not Found",
|
||||
"Content-Type: text/plain",
|
||||
"",
|
||||
"Hello there!"
|
||||
);
|
||||
|
||||
$client->response = array(
|
||||
implode("\r\n", $responseBlob),
|
||||
array(
|
||||
'header_size' => 45,
|
||||
'http_code' => 404,
|
||||
),
|
||||
0,
|
||||
""
|
||||
);
|
||||
|
||||
$caught = false;
|
||||
try {
|
||||
$client->request('POST', 'baz', 'sillybody', array('Content-Type' => 'text/plain'));
|
||||
} catch (Sabre_DAV_Exception_NotFound $e) {
|
||||
$caught = true;
|
||||
}
|
||||
if (!$caught) {
|
||||
$this->fail('Exception was not thrown');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider supportedHTTPCodes
|
||||
*/
|
||||
function testSpecificHTTPErrors($error) {
|
||||
|
||||
$client = new Sabre_DAV_ClientMock(array(
|
||||
'baseUri' => 'http://example.org/foo/bar/',
|
||||
));
|
||||
|
||||
$responseBlob = array(
|
||||
"HTTP/1.1 $error blabla",
|
||||
"Content-Type: text/plain",
|
||||
"",
|
||||
"Hello there!"
|
||||
);
|
||||
|
||||
$client->response = array(
|
||||
implode("\r\n", $responseBlob),
|
||||
array(
|
||||
'header_size' => 42,
|
||||
'http_code' => $error,
|
||||
),
|
||||
0,
|
||||
""
|
||||
);
|
||||
|
||||
$caught = false;
|
||||
try {
|
||||
$client->request('POST', 'baz', 'sillybody', array('Content-Type' => 'text/plain'));
|
||||
} catch (Sabre_DAV_Exception $e) {
|
||||
$caught = true;
|
||||
$this->assertEquals($e->getHTTPCode(), $error);
|
||||
}
|
||||
if (!$caught) {
|
||||
$this->fail('Exception was not thrown');
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
public function supportedHTTPCodes() {
|
||||
|
||||
return array(
|
||||
array(400),
|
||||
array(401),
|
||||
array(402),
|
||||
array(403),
|
||||
array(404),
|
||||
array(405),
|
||||
array(409),
|
||||
array(412),
|
||||
array(416),
|
||||
array(500),
|
||||
array(501),
|
||||
array(507),
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
function testGetAbsoluteUrl() {
|
||||
|
||||
$client = new Sabre_DAV_ClientMock(array(
|
||||
'baseUri' => 'http://example.org/foo/',
|
||||
));
|
||||
|
||||
$this->assertEquals(
|
||||
'http://example.org/foo/bar',
|
||||
$client->getAbsoluteUrl('bar')
|
||||
);
|
||||
|
||||
$this->assertEquals(
|
||||
'http://example.org/bar',
|
||||
$client->getAbsoluteUrl('/bar')
|
||||
);
|
||||
|
||||
$this->assertEquals(
|
||||
'http://example.com/bar',
|
||||
$client->getAbsoluteUrl('http://example.com/bar')
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
function testOptions() {
|
||||
|
||||
$client = new Sabre_DAV_ClientMock(array(
|
||||
'baseUri' => 'http://example.org/foo/bar/',
|
||||
));
|
||||
|
||||
$responseBlob = array(
|
||||
"HTTP/1.1 200 OK",
|
||||
"DAV: feature1, feature2",
|
||||
"",
|
||||
);
|
||||
|
||||
$client->response = array(
|
||||
implode("\r\n", $responseBlob),
|
||||
array(
|
||||
'header_size' => 40,
|
||||
'http_code' => 200,
|
||||
),
|
||||
0,
|
||||
""
|
||||
);
|
||||
|
||||
$result = $client->options();
|
||||
$this->assertEquals(
|
||||
array('feature1', 'feature2'),
|
||||
$result
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
function testOptionsNoDav() {
|
||||
|
||||
$client = new Sabre_DAV_ClientMock(array(
|
||||
'baseUri' => 'http://example.org/foo/bar/',
|
||||
));
|
||||
|
||||
$responseBlob = array(
|
||||
"HTTP/1.1 200 OK",
|
||||
"",
|
||||
);
|
||||
|
||||
$client->response = array(
|
||||
implode("\r\n", $responseBlob),
|
||||
array(
|
||||
'header_size' => 20,
|
||||
'http_code' => 200,
|
||||
),
|
||||
0,
|
||||
""
|
||||
);
|
||||
|
||||
$result = $client->options();
|
||||
$this->assertEquals(
|
||||
array(),
|
||||
$result
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException InvalidArgumentException
|
||||
*/
|
||||
function testPropFindNoXML() {
|
||||
|
||||
$client = new Sabre_DAV_ClientMock(array(
|
||||
'baseUri' => 'http://example.org/foo/bar/',
|
||||
));
|
||||
|
||||
$responseBlob = array(
|
||||
"HTTP/1.1 200 OK",
|
||||
"",
|
||||
);
|
||||
|
||||
$client->response = array(
|
||||
implode("\r\n", $responseBlob),
|
||||
array(
|
||||
'header_size' => 20,
|
||||
'http_code' => 200,
|
||||
),
|
||||
0,
|
||||
""
|
||||
);
|
||||
|
||||
$client->propfind('', array('{DAV:}foo','{DAV:}bar'));
|
||||
|
||||
}
|
||||
|
||||
function testPropFind() {
|
||||
|
||||
$client = new Sabre_DAV_ClientMock(array(
|
||||
'baseUri' => 'http://example.org/foo/bar/',
|
||||
));
|
||||
|
||||
$responseBlob = array(
|
||||
"HTTP/1.1 200 OK",
|
||||
"",
|
||||
"<?xml version=\"1.0\"?>",
|
||||
"<d:multistatus xmlns:d=\"DAV:\">",
|
||||
" <d:response>",
|
||||
" <d:href>/foo/bar/</d:href>",
|
||||
" <d:propstat>",
|
||||
" <d:prop>",
|
||||
" <d:foo>hello</d:foo>",
|
||||
" </d:prop>",
|
||||
" <d:status>HTTP/1.1 200 OK</d:status>",
|
||||
" </d:propstat>",
|
||||
" <d:propstat>",
|
||||
" <d:prop>",
|
||||
" <d:bar />",
|
||||
" </d:prop>",
|
||||
" <d:status>HTTP/1.1 404 Not Found</d:status>",
|
||||
" </d:propstat>",
|
||||
" </d:response>",
|
||||
"</d:multistatus>",
|
||||
);
|
||||
|
||||
$client->response = array(
|
||||
implode("\r\n", $responseBlob),
|
||||
array(
|
||||
'header_size' => 19,
|
||||
'http_code' => 200,
|
||||
),
|
||||
0,
|
||||
""
|
||||
);
|
||||
|
||||
$result = $client->propfind('', array('{DAV:}foo','{DAV:}bar'));
|
||||
|
||||
$this->assertEquals(array(
|
||||
'{DAV:}foo' => 'hello',
|
||||
), $result);
|
||||
|
||||
$requestBody = array(
|
||||
'<?xml version="1.0"?>',
|
||||
'<d:propfind xmlns:d="DAV:">',
|
||||
' <d:prop>',
|
||||
' <d:foo />',
|
||||
' <d:bar />',
|
||||
' </d:prop>',
|
||||
'</d:propfind>'
|
||||
);
|
||||
$requestBody = implode("\n", $requestBody);
|
||||
|
||||
$this->assertEquals($requestBody, $client->curlSettings[CURLOPT_POSTFIELDS]);
|
||||
|
||||
}
|
||||
|
||||
function testPropFindDepth1CustomProp() {
|
||||
|
||||
$client = new Sabre_DAV_ClientMock(array(
|
||||
'baseUri' => 'http://example.org/foo/bar/',
|
||||
));
|
||||
|
||||
$responseBlob = array(
|
||||
"HTTP/1.1 200 OK",
|
||||
"",
|
||||
"<?xml version=\"1.0\"?>",
|
||||
"<d:multistatus xmlns:d=\"DAV:\" xmlns:x=\"urn:custom\">",
|
||||
" <d:response>",
|
||||
" <d:href>/foo/bar/</d:href>",
|
||||
" <d:propstat>",
|
||||
" <d:prop>",
|
||||
" <d:foo>hello</d:foo>",
|
||||
" <x:bar>world</x:bar>",
|
||||
" </d:prop>",
|
||||
" <d:status>HTTP/1.1 200 OK</d:status>",
|
||||
" </d:propstat>",
|
||||
" </d:response>",
|
||||
"</d:multistatus>",
|
||||
);
|
||||
|
||||
$client->response = array(
|
||||
implode("\r\n", $responseBlob),
|
||||
array(
|
||||
'header_size' => 19,
|
||||
'http_code' => 200,
|
||||
),
|
||||
0,
|
||||
""
|
||||
);
|
||||
|
||||
$result = $client->propfind('', array('{DAV:}foo','{urn:custom}bar'),1);
|
||||
|
||||
$this->assertEquals(array(
|
||||
"/foo/bar/" => array(
|
||||
'{DAV:}foo' => 'hello',
|
||||
'{urn:custom}bar' => 'world',
|
||||
),
|
||||
), $result);
|
||||
|
||||
$requestBody = array(
|
||||
'<?xml version="1.0"?>',
|
||||
'<d:propfind xmlns:d="DAV:">',
|
||||
' <d:prop>',
|
||||
' <d:foo />',
|
||||
' <x:bar xmlns:x="urn:custom"/>',
|
||||
' </d:prop>',
|
||||
'</d:propfind>'
|
||||
);
|
||||
$requestBody = implode("\n", $requestBody);
|
||||
|
||||
$this->assertEquals($requestBody, $client->curlSettings[CURLOPT_POSTFIELDS]);
|
||||
|
||||
}
|
||||
|
||||
function testPropPatch() {
|
||||
|
||||
$client = new Sabre_DAV_ClientMock(array(
|
||||
'baseUri' => 'http://example.org/foo/bar/',
|
||||
));
|
||||
|
||||
$responseBlob = array(
|
||||
"HTTP/1.1 200 OK",
|
||||
"",
|
||||
);
|
||||
|
||||
$client->response = array(
|
||||
implode("\r\n", $responseBlob),
|
||||
array(
|
||||
'header_size' => 20,
|
||||
'http_code' => 200,
|
||||
),
|
||||
0,
|
||||
""
|
||||
);
|
||||
|
||||
$client->proppatch('', array(
|
||||
'{DAV:}foo' => 'newvalue',
|
||||
'{urn:custom}foo' => 'newvalue2',
|
||||
'{DAV:}bar' => null,
|
||||
'{urn:custom}bar' => null,
|
||||
));
|
||||
|
||||
$requestBody = array(
|
||||
'<?xml version="1.0"?>',
|
||||
'<d:propertyupdate xmlns:d="DAV:">',
|
||||
'<d:set><d:prop>',
|
||||
' <d:foo>newvalue</d:foo>',
|
||||
'</d:prop></d:set>',
|
||||
'<d:set><d:prop>',
|
||||
' <x:foo xmlns:x="urn:custom">newvalue2</x:foo>',
|
||||
'</d:prop></d:set>',
|
||||
'<d:remove><d:prop>',
|
||||
' <d:bar />',
|
||||
'</d:prop></d:remove>',
|
||||
'<d:remove><d:prop>',
|
||||
' <x:bar xmlns:x="urn:custom"/>',
|
||||
'</d:prop></d:remove>',
|
||||
'</d:propertyupdate>'
|
||||
);
|
||||
$requestBody = implode("\n", $requestBody);
|
||||
|
||||
$this->assertEquals($requestBody, $client->curlSettings[CURLOPT_POSTFIELDS]);
|
||||
|
||||
}
|
||||
|
||||
function testHEADRequest() {
|
||||
|
||||
$client = new Sabre_DAV_ClientMock(array(
|
||||
'baseUri' => 'http://example.org/foo/bar/',
|
||||
));
|
||||
|
||||
$responseBlob = array(
|
||||
"HTTP/1.1 200 OK",
|
||||
"Content-Type: text/plain",
|
||||
"",
|
||||
"Hello there!"
|
||||
);
|
||||
|
||||
$client->response = array(
|
||||
implode("\r\n", $responseBlob),
|
||||
array(
|
||||
'header_size' => 45,
|
||||
'http_code' => 200,
|
||||
),
|
||||
0,
|
||||
""
|
||||
);
|
||||
|
||||
$result = $client->request('HEAD', 'baz');
|
||||
|
||||
$this->assertEquals('http://example.org/foo/bar/baz', $client->url);
|
||||
$this->assertEquals(array(
|
||||
CURLOPT_RETURNTRANSFER => true,
|
||||
CURLOPT_FOLLOWLOCATION => true,
|
||||
CURLOPT_MAXREDIRS => 5,
|
||||
CURLOPT_CUSTOMREQUEST => 'HEAD',
|
||||
CURLOPT_NOBODY => true,
|
||||
CURLOPT_HEADER => true,
|
||||
CURLOPT_HTTPHEADER => array(),
|
||||
CURLOPT_POSTFIELDS => null,
|
||||
), $client->curlSettings);
|
||||
|
||||
}
|
||||
|
||||
function testPUTRequest() {
|
||||
|
||||
$client = new Sabre_DAV_ClientMock(array(
|
||||
'baseUri' => 'http://example.org/foo/bar/',
|
||||
));
|
||||
|
||||
$responseBlob = array(
|
||||
"HTTP/1.1 200 OK",
|
||||
"Content-Type: text/plain",
|
||||
"",
|
||||
"Hello there!"
|
||||
);
|
||||
|
||||
$client->response = array(
|
||||
implode("\r\n", $responseBlob),
|
||||
array(
|
||||
'header_size' => 45,
|
||||
'http_code' => 200,
|
||||
),
|
||||
0,
|
||||
""
|
||||
);
|
||||
|
||||
$result = $client->request('PUT', 'bar','newcontent');
|
||||
|
||||
$this->assertEquals('http://example.org/foo/bar/bar', $client->url);
|
||||
$this->assertEquals(array(
|
||||
CURLOPT_RETURNTRANSFER => true,
|
||||
CURLOPT_FOLLOWLOCATION => true,
|
||||
CURLOPT_MAXREDIRS => 5,
|
||||
CURLOPT_CUSTOMREQUEST => "PUT",
|
||||
CURLOPT_POSTFIELDS => 'newcontent',
|
||||
CURLOPT_HEADER => true,
|
||||
CURLOPT_HTTPHEADER => array(),
|
||||
), $client->curlSettings);
|
||||
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue