def zapier_subscription_pre_save(sender, instance, *args, **kwargs): """ Creates a repeater object corresponding to the type of trigger (form or case) """ if instance.pk: return if instance.event_name == EventTypes.NEW_FORM: repeater = FormRepeater(domain=instance.domain, url=instance.url, format='form_json', include_app_id_param=False, white_listed_form_xmlns=[instance.form_xmlns]) elif instance.event_name == EventTypes.NEW_CASE: repeater = CaseRepeater( domain=instance.domain, url=instance.url, format='case_json', white_listed_case_types=[instance.case_type], ) else: raise ImmediateHttpResponse( HttpBadRequest('The passed event type is not valid.')) repeater.save() instance.repeater_id = repeater.get_id
def setUpClass(cls): super(CaseRepeaterTest, cls).setUpClass() cls.domain_name = "test-domain" cls.domain = create_domain(cls.domain_name) cls.repeater = CaseRepeater( domain=cls.domain_name, url="case-repeater-url", ) cls.repeater.save()
def setUpClass(cls): repeater = CaseRepeater( domain=cls.domain, ) cls.repeaters = [ repeater ] for repeater in cls.repeaters: repeater.save()
def setUp(self): super(RepeaterFailureTest, self).setUp() self.domain_name = "test-domain" self.domain = create_domain(self.domain_name) self.repeater = CaseRepeater( domain=self.domain_name, url='case-repeater-url', ) self.repeater.save() self.post_xml(self.xform_xml, self.domain_name)
def setUp(self): super(TestRepeaterFormat, self).setUp() self.domain = "test-domain" create_domain(self.domain) self.post_xml(self.xform_xml, self.domain) self.repeater = CaseRepeater( domain=self.domain, url='case-repeater-url', format='new_format', ) self.repeater.save()
def setUp(self): super(RepeaterTest, self).setUp() self.domain = "test-domain" create_domain(self.domain) self.case_repeater = CaseRepeater( domain=self.domain, url='case-repeater-url', ) self.case_repeater.save() self.form_repeater = FormRepeater( domain=self.domain, url='form-repeater-url', ) self.form_repeater.save() self.log = [] self.post_xml(self.xform_xml, self.domain)
def test_clone_repeaters(self): from corehq.apps.repeaters.models import Repeater from corehq.apps.repeaters.models import CaseRepeater from corehq.apps.repeaters.models import FormRepeater from custom.enikshay.integrations.nikshay.repeaters import NikshayRegisterPatientRepeater self.assertEqual(0, len(Repeater.by_domain(self.new_domain))) self.assertEqual( 0, len(NikshayRegisterPatientRepeater.by_domain(self.new_domain))) case_repeater = CaseRepeater( domain=self.old_domain, url='case-repeater-url', ) case_repeater.save() self.addCleanup(case_repeater.delete) form_repeater = FormRepeater( domain=self.old_domain, url='form-repeater-url', ) form_repeater.save() self.addCleanup(form_repeater.delete) custom_repeater = NikshayRegisterPatientRepeater( domain=self.old_domain, url='99dots') custom_repeater.save() self.addCleanup(custom_repeater.delete) self.make_clone(include=['repeaters']) cloned_repeaters = Repeater.by_domain(self.new_domain) self.assertEqual(3, len(cloned_repeaters)) self.assertEqual( {'CaseRepeater', 'FormRepeater', 'NikshayRegisterPatientRepeater'}, {repeater.doc_type for repeater in cloned_repeaters}) # test cache clearing cloned_niksay_repeaters = NikshayRegisterPatientRepeater.by_domain( self.new_domain) self.assertEqual(1, len(cloned_niksay_repeaters))
def test_get_format_by_deprecated_name(self): self.assertIsInstance(CaseRepeater( domain=self.domain, url='case-repeater-url', format='new_format_alias', ).generator, self.new_generator)