Menu

CalDAV Tester

Adam Tauno Williams

[Clients] [Development] [CalDAV] [WebDAV]

CalDAV Tester

Most of the below was originally cut-n-pasted from the CalDAV Tester home page.

Configuring CalDAVTester

As provided, CalDAVTester is already setup to operate with a Calendar Server running on the localhost using the caldavd-test.plist configuration. No changes are needed to the configuration files to run.

CalDAVTester uses XML files for its configuration and tests, and a series of data files for data sent to the server.

  • The "serverinfo" configuration is stored in scripts/servers. That file defines details about the server being tested (its host name, port etc) as well as information about how the server is setup with user accounts for testing. CalDAVTester requires a certain number of user accounts to be present on the server being tested in order to perform the requird tests. The "serverinfo" configuration file allows you to specify the details for each account, including user name, password, path to calendars etc. These values are substituted into the tests via a string subtitution. The values can also be substituted into the data files as needed.
  • The "caldavtest" test files are stored in scripts/tests. There are multiple test scripts each of which defines a set of tests to be executed against the server. Each test has a <start> section where any required setup can be done (e.g. storing resources on the server needed for the test), and an <end> section where clean-up can occur (e.g., removal of resources added during <start>). Multiple <test-suites> can be specified. Each suite can contain multiple <tests>. Each test can include one or more <request>'s. A request carries out an HTTP transaction with the server and optionally verifies the result. </request></tests></test-suites></start></end></start>

Running CalDAVTester

First make sure your CalDAV server is up and running, then do the following:

cd into the CalendarServer directory

./testserver

This will run all CalDAV and CardDAV tests.

If you want explicit control of what tests are run, do the following:

cd into the CalDAVTester directory

export PYTHONPATH=`./run.py -p`
./testcaldav.py <<testscriptfile>>

where <<testscriptfile>> is one of the .xml files in the CalDAVTester/scripts/test directory. For example, to run the 'well-known.xml' test for CalDAV, you would execute:</testscriptfile>

./testcaldav.py CalDAV/well-known.xml

Related

Tickets: WebDAV
Wiki: CalDAV
Wiki: Clients
Wiki: Development

MongoDB Logo MongoDB