Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F1821590
InboxTest.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Size
5 KB
Subscribers
None
InboxTest.php
View Options
<?php
namespace
Sabre\CalDAV\Schedule
;
use
Sabre\CalDAV
;
use
Sabre\DAV
;
class
InboxTest
extends
\PHPUnit_Framework_TestCase
{
function
testSetup
()
{
$inbox
=
new
Inbox
(
new
CalDAV\Backend\MockScheduling
(),
'principals/user1'
);
$this
->
assertEquals
(
'inbox'
,
$inbox
->
getName
());
$this
->
assertEquals
(
array
(),
$inbox
->
getChildren
());
$this
->
assertEquals
(
'principals/user1'
,
$inbox
->
getOwner
());
$this
->
assertEquals
(
null
,
$inbox
->
getGroup
());
$this
->
assertEquals
(
array
(
array
(
'privilege'
=>
'{DAV:}read'
,
'principal'
=>
'principals/user1'
,
'protected'
=>
true
,
),
array
(
'privilege'
=>
'{DAV:}write-properties'
,
'principal'
=>
'principals/user1'
,
'protected'
=>
true
,
),
array
(
'privilege'
=>
'{DAV:}unbind'
,
'principal'
=>
'principals/user1'
,
'protected'
=>
true
,
),
array
(
'privilege'
=>
'{DAV:}read'
,
'principal'
=>
'principals/user1/calendar-proxy-read'
,
'protected'
=>
true
,
),
array
(
'privilege'
=>
'{DAV:}read'
,
'principal'
=>
'principals/user1/calendar-proxy-write'
,
'protected'
=>
true
,
),
array
(
'privilege'
=>
'{DAV:}unbind'
,
'principal'
=>
'principals/user1/calendar-proxy-write'
,
'protected'
=>
true
,
),
array
(
'privilege'
=>
'{urn:ietf:params:xml:ns:caldav}schedule-deliver-invite'
,
'principal'
=>
'{DAV:}authenticated'
,
'protected'
=>
true
,
),
array
(
'privilege'
=>
'{urn:ietf:params:xml:ns:caldav}schedule-deliver-reply'
,
'principal'
=>
'{DAV:}authenticated'
,
'protected'
=>
true
,
),
),
$inbox
->
getACL
());
$ok
=
false
;
try
{
$inbox
->
setACL
(
array
());
}
catch
(
DAV\Exception\MethodNotAllowed
$e
)
{
$ok
=
true
;
}
if
(!
$ok
)
{
$this
->
fail
(
'Exception was not emitted'
);
}
}
function
testGetSupportedPrivilegeSet
()
{
$inbox
=
new
Inbox
(
new
CalDAV\Backend\MockScheduling
(),
'principals/user1'
);
$r
=
$inbox
->
getSupportedPrivilegeSet
();
$ok
=
0
;
foreach
(
$r
[
'aggregates'
]
as
$priv
)
{
if
(
$priv
[
'privilege'
]
==
'{'
.
CalDAV\Plugin
::
NS_CALDAV
.
'}schedule-deliver'
)
{
$ok
++;
foreach
(
$priv
[
'aggregates'
]
as
$subpriv
)
{
if
(
$subpriv
[
'privilege'
]
==
'{'
.
CalDAV\Plugin
::
NS_CALDAV
.
'}schedule-deliver-invite'
)
{
$ok
++;
}
if
(
$subpriv
[
'privilege'
]
==
'{'
.
CalDAV\Plugin
::
NS_CALDAV
.
'}schedule-deliver-reply'
)
{
$ok
++;
}
}
}
}
$this
->
assertEquals
(
3
,
$ok
,
"We're missing one or more privileges"
);
}
/**
* @depends testSetup
*/
function
testGetChildren
()
{
$backend
=
new
CalDAV\Backend\MockScheduling
();
$inbox
=
new
Inbox
(
$backend
,
'principals/user1'
);
$this
->
assertEquals
(
0
,
count
(
$inbox
->
getChildren
())
);
$backend
->
createSchedulingObject
(
'principals/user1'
,
'schedule1.ics'
,
"BEGIN:VCALENDAR
\r\n
END:VCALENDAR"
);
$this
->
assertEquals
(
1
,
count
(
$inbox
->
getChildren
())
);
$this
->
assertInstanceOf
(
'Sabre
\C
alDAV
\S
chedule
\S
chedulingObject'
,
$inbox
->
getChildren
()[
0
]);
$this
->
assertEquals
(
'schedule1.ics'
,
$inbox
->
getChildren
()[
0
]->
getName
()
);
}
/**
* @depends testGetChildren
*/
function
testCreateFile
()
{
$backend
=
new
CalDAV\Backend\MockScheduling
();
$inbox
=
new
Inbox
(
$backend
,
'principals/user1'
);
$this
->
assertEquals
(
0
,
count
(
$inbox
->
getChildren
())
);
$inbox
->
createFile
(
'schedule1.ics'
,
"BEGIN:VCALENDAR
\r\n
END:VCALENDAR"
);
$this
->
assertEquals
(
1
,
count
(
$inbox
->
getChildren
())
);
$this
->
assertInstanceOf
(
'Sabre
\C
alDAV
\S
chedule
\S
chedulingObject'
,
$inbox
->
getChildren
()[
0
]);
$this
->
assertEquals
(
'schedule1.ics'
,
$inbox
->
getChildren
()[
0
]->
getName
()
);
}
/**
* @depends testSetup
*/
function
testCalendarQuery
()
{
$backend
=
new
CalDAV\Backend\MockScheduling
();
$inbox
=
new
Inbox
(
$backend
,
'principals/user1'
);
$this
->
assertEquals
(
0
,
count
(
$inbox
->
getChildren
())
);
$backend
->
createSchedulingObject
(
'principals/user1'
,
'schedule1.ics'
,
"BEGIN:VCALENDAR
\r\n
END:VCALENDAR"
);
$this
->
assertEquals
(
[
'schedule1.ics'
],
$inbox
->
calendarQuery
([
'name'
=>
'VCALENDAR'
,
'comp-filters'
=>
[],
'prop-filters'
=>
[],
'is-not-defined'
=>
false
])
);
}
}
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Tue, Dec 24, 5:37 AM (1 d, 13 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
914156
Default Alt Text
InboxTest.php (5 KB)
Attached To
rDAVCAL DokuWiki DAVCal PlugIn
Event Timeline
Log In to Comment