Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F1822116
ServerMKCOLTest.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Size
9 KB
Subscribers
None
ServerMKCOLTest.php
View Options
<?php
namespace
Sabre\DAV
;
use
Sabre\HTTP
;
class
ServerMKCOLTest
extends
AbstractServer
{
function
testMkcol
()
{
$serverVars
=
array
(
'REQUEST_URI'
=>
'/testcol'
,
'REQUEST_METHOD'
=>
'MKCOL'
,
);
$request
=
HTTP\Sapi
::
createFromServerArray
(
$serverVars
);
$request
->
setBody
(
""
);
$this
->
server
->
httpRequest
=
(
$request
);
$this
->
server
->
exec
();
$this
->
assertEquals
(
array
(
'X-Sabre-Version'
=>
[
Version
::
VERSION
],
'Content-Length'
=>
[
'0'
],
),
$this
->
response
->
getHeaders
());
$this
->
assertEquals
(
201
,
$this
->
response
->
status
);
$this
->
assertEquals
(
''
,
$this
->
response
->
body
);
$this
->
assertTrue
(
is_dir
(
$this
->
tempDir
.
'/testcol'
));
}
/**
* @depends testMkcol
*/
function
testMKCOLUnknownBody
()
{
$serverVars
=
array
(
'REQUEST_URI'
=>
'/testcol'
,
'REQUEST_METHOD'
=>
'MKCOL'
,
);
$request
=
HTTP\Sapi
::
createFromServerArray
(
$serverVars
);
$request
->
setBody
(
"Hello"
);
$this
->
server
->
httpRequest
=
(
$request
);
$this
->
server
->
exec
();
$this
->
assertEquals
(
array
(
'X-Sabre-Version'
=>
[
Version
::
VERSION
],
'Content-Type'
=>
[
'application/xml; charset=utf-8'
],
),
$this
->
response
->
getHeaders
());
$this
->
assertEquals
(
415
,
$this
->
response
->
status
);
}
/**
* @depends testMkcol
*/
function
testMKCOLBrokenXML
()
{
$serverVars
=
array
(
'REQUEST_URI'
=>
'/testcol'
,
'REQUEST_METHOD'
=>
'MKCOL'
,
'HTTP_CONTENT_TYPE'
=>
'application/xml'
,
);
$request
=
HTTP\Sapi
::
createFromServerArray
(
$serverVars
);
$request
->
setBody
(
"Hello"
);
$this
->
server
->
httpRequest
=
(
$request
);
$this
->
server
->
exec
();
$this
->
assertEquals
(
array
(
'X-Sabre-Version'
=>
[
Version
::
VERSION
],
'Content-Type'
=>
[
'application/xml; charset=utf-8'
],
),
$this
->
response
->
getHeaders
());
$this
->
assertEquals
(
400
,
$this
->
response
->
getStatus
(),
$this
->
response
->
getBodyAsString
()
);
}
/**
* @depends testMkcol
*/
function
testMKCOLUnknownXML
()
{
$serverVars
=
array
(
'REQUEST_URI'
=>
'/testcol'
,
'REQUEST_METHOD'
=>
'MKCOL'
,
'HTTP_CONTENT_TYPE'
=>
'application/xml'
,
);
$request
=
HTTP\Sapi
::
createFromServerArray
(
$serverVars
);
$request
->
setBody
(
'<?xml version="1.0"?><html></html>'
);
$this
->
server
->
httpRequest
=
(
$request
);
$this
->
server
->
exec
();
$this
->
assertEquals
(
array
(
'X-Sabre-Version'
=>
[
Version
::
VERSION
],
'Content-Type'
=>
[
'application/xml; charset=utf-8'
],
),
$this
->
response
->
getHeaders
());
$this
->
assertEquals
(
400
,
$this
->
response
->
getStatus
());
}
/**
* @depends testMkcol
*/
function
testMKCOLNoResourceType
()
{
$serverVars
=
array
(
'REQUEST_URI'
=>
'/testcol'
,
'REQUEST_METHOD'
=>
'MKCOL'
,
'HTTP_CONTENT_TYPE'
=>
'application/xml'
,
);
$request
=
HTTP\Sapi
::
createFromServerArray
(
$serverVars
);
$request
->
setBody
(
'<?xml version="1.0"?>
<mkcol xmlns="DAV:">
<set>
<prop>
<displayname>Evert</displayname>
</prop>
</set>
</mkcol>'
);
$this
->
server
->
httpRequest
=
(
$request
);
$this
->
server
->
exec
();
$this
->
assertEquals
(
array
(
'X-Sabre-Version'
=>
[
Version
::
VERSION
],
'Content-Type'
=>
[
'application/xml; charset=utf-8'
],
),
$this
->
response
->
getHeaders
());
$this
->
assertEquals
(
400
,
$this
->
response
->
status
,
'Wrong statuscode received. Full response body: '
.
$this
->
response
->
body
);
}
/**
* @depends testMkcol
*/
function
testMKCOLIncorrectResourceType
()
{
$serverVars
=
array
(
'REQUEST_URI'
=>
'/testcol'
,
'REQUEST_METHOD'
=>
'MKCOL'
,
'HTTP_CONTENT_TYPE'
=>
'application/xml'
,
);
$request
=
HTTP\Sapi
::
createFromServerArray
(
$serverVars
);
$request
->
setBody
(
'<?xml version="1.0"?>
<mkcol xmlns="DAV:">
<set>
<prop>
<resourcetype><collection /><blabla /></resourcetype>
</prop>
</set>
</mkcol>'
);
$this
->
server
->
httpRequest
=
(
$request
);
$this
->
server
->
exec
();
$this
->
assertEquals
(
array
(
'X-Sabre-Version'
=>
[
Version
::
VERSION
],
'Content-Type'
=>
[
'application/xml; charset=utf-8'
],
),
$this
->
response
->
getHeaders
());
$this
->
assertEquals
(
403
,
$this
->
response
->
status
,
'Wrong statuscode received. Full response body: '
.
$this
->
response
->
body
);
}
/**
* @depends testMKCOLIncorrectResourceType
*/
function
testMKCOLSuccess
()
{
$serverVars
=
array
(
'REQUEST_URI'
=>
'/testcol'
,
'REQUEST_METHOD'
=>
'MKCOL'
,
'HTTP_CONTENT_TYPE'
=>
'application/xml'
,
);
$request
=
HTTP\Sapi
::
createFromServerArray
(
$serverVars
);
$request
->
setBody
(
'<?xml version="1.0"?>
<mkcol xmlns="DAV:">
<set>
<prop>
<resourcetype><collection /></resourcetype>
</prop>
</set>
</mkcol>'
);
$this
->
server
->
httpRequest
=
(
$request
);
$this
->
server
->
exec
();
$this
->
assertEquals
(
array
(
'X-Sabre-Version'
=>
[
Version
::
VERSION
],
'Content-Length'
=>
[
'0'
],
),
$this
->
response
->
getHeaders
());
$this
->
assertEquals
(
201
,
$this
->
response
->
status
,
'Wrong statuscode received. Full response body: '
.
$this
->
response
->
body
);
}
/**
* @depends testMKCOLIncorrectResourceType
*/
function
testMKCOLWhiteSpaceResourceType
()
{
$serverVars
=
array
(
'REQUEST_URI'
=>
'/testcol'
,
'REQUEST_METHOD'
=>
'MKCOL'
,
'HTTP_CONTENT_TYPE'
=>
'application/xml'
,
);
$request
=
HTTP\Sapi
::
createFromServerArray
(
$serverVars
);
$request
->
setBody
(
'<?xml version="1.0"?>
<mkcol xmlns="DAV:">
<set>
<prop>
<resourcetype>
<collection />
</resourcetype>
</prop>
</set>
</mkcol>'
);
$this
->
server
->
httpRequest
=
(
$request
);
$this
->
server
->
exec
();
$this
->
assertEquals
(
array
(
'X-Sabre-Version'
=>
[
Version
::
VERSION
],
'Content-Length'
=>
[
'0'
],
),
$this
->
response
->
getHeaders
());
$this
->
assertEquals
(
201
,
$this
->
response
->
status
,
'Wrong statuscode received. Full response body: '
.
$this
->
response
->
body
);
}
/**
* @depends testMKCOLIncorrectResourceType
*/
function
testMKCOLNoParent
()
{
$serverVars
=
array
(
'REQUEST_URI'
=>
'/testnoparent/409me'
,
'REQUEST_METHOD'
=>
'MKCOL'
,
);
$request
=
HTTP\Sapi
::
createFromServerArray
(
$serverVars
);
$request
->
setBody
(
''
);
$this
->
server
->
httpRequest
=
(
$request
);
$this
->
server
->
exec
();
$this
->
assertEquals
(
array
(
'X-Sabre-Version'
=>
[
Version
::
VERSION
],
'Content-Type'
=>
[
'application/xml; charset=utf-8'
],
),
$this
->
response
->
getHeaders
());
$this
->
assertEquals
(
409
,
$this
->
response
->
status
,
'Wrong statuscode received. Full response body: '
.
$this
->
response
->
body
);
}
/**
* @depends testMKCOLIncorrectResourceType
*/
function
testMKCOLParentIsNoCollection
()
{
$serverVars
=
array
(
'REQUEST_URI'
=>
'/test.txt/409me'
,
'REQUEST_METHOD'
=>
'MKCOL'
,
);
$request
=
HTTP\Sapi
::
createFromServerArray
(
$serverVars
);
$request
->
setBody
(
''
);
$this
->
server
->
httpRequest
=
(
$request
);
$this
->
server
->
exec
();
$this
->
assertEquals
(
array
(
'X-Sabre-Version'
=>
[
Version
::
VERSION
],
'Content-Type'
=>
[
'application/xml; charset=utf-8'
],
),
$this
->
response
->
getHeaders
());
$this
->
assertEquals
(
409
,
$this
->
response
->
status
,
'Wrong statuscode received. Full response body: '
.
$this
->
response
->
body
);
}
/**
* @depends testMKCOLIncorrectResourceType
*/
function
testMKCOLAlreadyExists
()
{
$serverVars
=
array
(
'REQUEST_URI'
=>
'/test.txt'
,
'REQUEST_METHOD'
=>
'MKCOL'
,
);
$request
=
HTTP\Sapi
::
createFromServerArray
(
$serverVars
);
$request
->
setBody
(
''
);
$this
->
server
->
httpRequest
=
(
$request
);
$this
->
server
->
exec
();
$this
->
assertEquals
(
array
(
'X-Sabre-Version'
=>
[
Version
::
VERSION
],
'Content-Type'
=>
[
'application/xml; charset=utf-8'
],
'Allow'
=>
[
'OPTIONS, GET, HEAD, DELETE, PROPFIND, PUT, PROPPATCH, COPY, MOVE, REPORT'
],
),
$this
->
response
->
getHeaders
());
$this
->
assertEquals
(
405
,
$this
->
response
->
status
,
'Wrong statuscode received. Full response body: '
.
$this
->
response
->
body
);
}
/**
* @depends testMKCOLSuccess
* @depends testMKCOLAlreadyExists
*/
function
testMKCOLAndProps
()
{
$serverVars
=
array
(
'REQUEST_URI'
=>
'/testcol'
,
'REQUEST_METHOD'
=>
'MKCOL'
,
'HTTP_CONTENT_TYPE'
=>
'application/xml'
,
);
$request
=
HTTP\Sapi
::
createFromServerArray
(
$serverVars
);
$request
->
setBody
(
'<?xml version="1.0"?>
<mkcol xmlns="DAV:">
<set>
<prop>
<resourcetype><collection /></resourcetype>
<displayname>my new collection</displayname>
</prop>
</set>
</mkcol>'
);
$this
->
server
->
httpRequest
=
(
$request
);
$this
->
server
->
exec
();
$this
->
assertEquals
(
207
,
$this
->
response
->
status
,
'Wrong statuscode received. Full response body: '
.
$this
->
response
->
body
);
$this
->
assertEquals
(
array
(
'X-Sabre-Version'
=>
[
Version
::
VERSION
],
'Content-Type'
=>
[
'application/xml; charset=utf-8'
],
),
$this
->
response
->
getHeaders
());
}
}
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Tue, Dec 24, 2:03 PM (10 m, 6 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
913734
Default Alt Text
ServerMKCOLTest.php (9 KB)
Attached To
rDAVCAL DokuWiki DAVCal PlugIn
Event Timeline
Log In to Comment