Esempio n. 1
0
 def setUp(self):
     super(Receiver99DotsTests, self).setUp()
     self.fake_api_spec_patch = mock.patch('custom.enikshay.integrations.ninetyninedots.utils.load_api_spec')
     fake_api_spec = self.fake_api_spec_patch.start()
     fake_api_spec.return_value = load_api_spec(
         os.path.join(os.path.dirname(os.path.abspath(__file__)), 'test_api_spec.yaml')
     )
     self.spec = fake_api_spec()
     self.create_case_structure()
Esempio n. 2
0
        try:
            if case.type == CASE_TYPE_PERSON:
                person_case = case
                episode_case = get_open_episode_case_from_person(person_case.domain, person_case.case_id)
                registered_episode = episode_registered_with_99dots(episode_case)
            elif case.type == CASE_TYPE_EPISODE:
                episode_case = case
                registered_episode = (episode_registered_with_99dots(episode_case)
                                      and not case_properties_changed(episode_case, 'dots_99_registered'))
            else:
                return False
        except ENikshayCaseNotFound:
            return False

        sector = get_sector(episode_case)
        api_spec = load_api_spec()
        properties_to_check = api_spec.case_properties_by_case_type(sector, case.type, DIRECTION_OUTBOUND)
        props_changed = case_properties_changed(case, properties_to_check)

        return (
            registered_episode
            and props_changed
            and (
                (case.type == CASE_TYPE_EPISODE and is_valid_episode_submission(episode_case))
                or (case.type == CASE_TYPE_PERSON and is_valid_person_submission(person_case))
            )
        )


class NinetyNineDotsAdherenceRepeater(Base99DOTSRepeater):
    """Send Adherence datapoints to 99DOTS
Esempio n. 3
0
 def test_loading_spec(self):
     # if the yaml spec file is unable to be loaded, this will throw an error
     load_api_spec()
Esempio n. 4
0
 def __init__(self, domain, request_json):
     super(PatientDetailsUpdater, self).__init__(domain)
     self.api_spec = load_api_spec()
     self.request_json = request_json
     self._validate_request()