コード例 #1
0
    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
コード例 #2
0
    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=[])
コード例 #3
0
ファイル: test_receiver.py プロジェクト: dimagi/ota-tests
    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,
        )