2010-01-24 21:40:12 +01:00
|
|
|
setup
|
|
|
|
-----
|
|
|
|
|
2012-02-02 19:05:36 +01:00
|
|
|
(you need "python-simplejson", "python-xml", "python-vobject", "python-dateutil" and "python-m2crypto"
|
2010-01-24 21:40:12 +01:00
|
|
|
in order to run the scripts on Debian)
|
|
|
|
|
2014-09-17 15:36:35 +02:00
|
|
|
1) copy config.py.in to config.py (make sure to never EVER add it to git)
|
2010-01-24 21:40:12 +01:00
|
|
|
2) edit config.py to suit your environment
|
2010-08-19 15:48:53 +02:00
|
|
|
3) make sure that you use a fresh database, with no prior information in it
|
|
|
|
4) make sure that SOGoCalendarDefaultRoles and SOGoContactsDefaultRoles are empty or undefined
|
|
|
|
5) run the test scripts
|
2010-01-24 21:40:12 +01:00
|
|
|
|
|
|
|
runnable scripts
|
|
|
|
----------------
|
|
|
|
|
|
|
|
all.py - run all scripts below at once
|
|
|
|
test-webdavsync.py - explicit
|
|
|
|
test-davacl.py - dav acl tests for calendar and addressbook modules
|
|
|
|
|
|
|
|
other scripts
|
|
|
|
-------------
|
|
|
|
|
|
|
|
propfind.py - a sample implementation of a PROPFIND request using webdavlib
|
|
|
|
|
|
|
|
* developers
|
|
|
|
------------
|
|
|
|
|
|
|
|
- Test methods are always prefixed with "test". Sometimes, it's easier to
|
|
|
|
track down a problem by enabling only one test at a time. One possible method
|
|
|
|
is to replace "def test" with "def xtest" and replace it back when the
|
|
|
|
problems are solved.
|
|
|
|
|
|
|
|
- Test failures start with "FAIL:". Those are the ones that indicate possible
|
|
|
|
bugs in the application, if the test is itself known to work.
|
|
|
|
For example like this:
|
|
|
|
|
|
|
|
======================================================================
|
|
|
|
FAIL: 'modify' PUBLIC, 'view all' PRIVATE, 'view d&t' confidential
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Traceback (most recent call last):
|
|
|
|
File "./davacl.py", line 75, in testModifyPublicViewAllPrivateViewDConfidential
|
|
|
|
self._testRights({ "pu": "m", "pr": "v", "co": "d" })
|
|
|
|
File "./davacl.py", line 119, in _testRights
|
|
|
|
self._testCreate(rights)
|
|
|
|
File "./davacl.py", line 165, in _testCreate
|
|
|
|
exp_code)
|
|
|
|
File "./davacl.py", line 107, in _putEvent
|
|
|
|
% (exp_status, put.response["status"]))
|
|
|
|
AssertionError: event creation/modification: expected status code '403' (received '201')
|
|
|
|
|
|
|
|
- Test errors start with "ERRORS" and most likely indicate a bug in the test
|
|
|
|
code itself.
|
|
|
|
|
|
|
|
- Always set a doc string on the test methods, especially for complex test
|
|
|
|
cases.
|
|
|
|
|
2010-06-01 16:01:18 +02:00
|
|
|
- When writing tests, be aware that contrarily to unit tests, functional tests
|
2010-01-24 21:40:12 +01:00
|
|
|
often imply a logical order between the different steps.
|