tests: add tests for anonymise and remove items

This commit is contained in:
Frédéric Péters 2014-12-31 14:18:20 +01:00
parent 9b4ed2819c
commit cf2ade70c6
1 changed files with 47 additions and 2 deletions

View File

@ -5,21 +5,26 @@ from quixote import cleanup
from quixote.http_request import HTTPRequest
from wcs.formdef import FormDef
from wcs.qommon import sessions
from wcs.roles import Role
from wcs.workflows import WorkflowStatusItem
from wcs.wf.anonymise import AnonymiseWorkflowStatusItem
from wcs.wf.dispatch import DispatchWorkflowStatusItem
from wcs.wf.jump import JumpWorkflowStatusItem
from wcs.wf.remove import RemoveWorkflowStatusItem
from wcs.wf.roles import AddRoleWorkflowStatusItem, RemoveRoleWorkflowStatusItem
from utilities import create_temporary_pub
def setup_module(module):
cleanup()
global pub
global pub, req
pub = create_temporary_pub()
req = HTTPRequest(None, {})
req = HTTPRequest(None, {'SERVER_NAME': 'example.net', 'SCRIPT_NAME': ''})
req.response.filter = {}
req.user = None
pub._set_request(req)
req.session = sessions.Session(id=1)
def teardown_module(module):
global pub
@ -156,3 +161,43 @@ def test_roles():
user.store()
item.perform(formdata)
assert pub.user_class.get(user.id).roles == ['2']
def test_anonymise():
formdef = FormDef()
formdef.name = 'baz'
formdef.fields = []
formdef.store()
formdata = formdef.data_class()()
formdata.just_created()
formdata.user_id = '1'
formdata.store()
item = AnonymiseWorkflowStatusItem()
item.perform(formdata)
assert formdef.data_class().get(formdata.id).user_id is None
assert formdef.data_class().get(formdata.id).anonymised
def test_remove():
formdef = FormDef()
formdef.name = 'baz'
formdef.store()
formdata = formdef.data_class()()
formdata.store()
item = RemoveWorkflowStatusItem()
assert formdef.data_class().has_key(formdata.id)
assert item.perform(formdata) == 'http://example.net'
assert not formdef.data_class().has_key(formdata.id)
formdata = formdef.data_class()()
formdata.store()
item = RemoveWorkflowStatusItem()
req.response.filter['in_backoffice'] = True
assert formdef.data_class().has_key(formdata.id)
assert item.perform(formdata) == '..'
assert not formdef.data_class().has_key(formdata.id)
req.response.filter = {}
assert req.session.message