def test_create_case(self, testapp, client): user_id = str(uuid4()) form_id = str(uuid4()) case_id = str(uuid4()) synclog_id = create_synclog(self._get_backend(), DOMAIN, user_id) with testapp.app_context(): factory = CaseFactory( self._get_backend(), client, domain=DOMAIN, case_defaults={ 'user_id': user_id, 'owner_id': user_id, 'case_type': 'duck', 'update': {'identity': 'mallard'} }, form_extras={ 'headers': { 'last_sync_token': synclog_id } } ) factory.create_or_update_cases([ CaseStructure(case_id, attrs={'create': True}), ], form_extras={ 'form_id': form_id, 'user_id': user_id, }) self._assert_form(form_id, user_id, synclog_id) self._assert_case(case_id, user_id) self._assert_synclog(synclog_id, case_ids=[case_id]) assert get_dao(self._get_backend()).case_exists(case_id) is True
def test_update_case(self, testapp, client): user_id = str(uuid4()) case_id = str(uuid4()) synclog_id = create_synclog(self._get_backend(), DOMAIN, user_id) with testapp.app_context(): factory = CaseFactory( self._get_backend(), client, domain=DOMAIN, case_defaults={ 'user_id': user_id, 'owner_id': user_id, 'case_type': 'duck', }, form_extras={ 'headers': { 'last_sync_token': synclog_id } } ) factory.create_or_update_cases([ CaseStructure(case_id, attrs={'create': True}), ]) self._assert_case(case_id, user_id) self._assert_synclog(synclog_id, case_ids=[case_id]) updated_case, = factory.create_or_update_case( CaseStructure(case_id, attrs={'update': {'identity': 'mallard'}, 'close': True}) ) assert updated_case.identity == 'mallard' assert updated_case.closed is True self._assert_case(case_id, user_id, num_forms=2, closed=True) self._assert_synclog(synclog_id, case_ids=[])
def test_initial_restore(self, config): user_id = str(uuid4()) case_attrs = { 'create': True, 'user_id': user_id, 'owner_id': user_id, 'case_type': 'duck', 'update': {'identity': 'mallard'} } factory = CaseFactory( config.receiver_url, domain=config.domain, form_extras={ 'user_id': user_id, } ) [case_block] = factory.create_or_update_cases([ CaseStructure(attrs=case_attrs), ]) restore_payload = get_restore_payload(config.restore_url, config.domain, dummy_user(user_id)) synclog_id = synclog_id_from_restore_payload(restore_payload) case_xml = case_block.as_string() check_xml_line_by_line( dummy_restore_xml(dummy_user(user_id), synclog_id, case_xml=case_xml, items=4), restore_payload, )