def test_repeater_auth_manager(self): # Mimics the way Repeaters are made; similarly, it turns out, to # laws and sausages. self.client.login( username='******', password='******', ) url = reverse(AddFormRepeaterView.urlname, kwargs={ 'domain': self.domain.name, }) repeater_data = { 'domain': DOMAIN, 'url': URL, 'auth_type': BASIC_AUTH, 'username': USERNAME, 'password': PASSWORD, 'notify_addresses_str': ADMIN, 'format': FormRepeaterXMLPayloadGenerator.format_name, } self.client.post(url, repeater_data, follow=True) repeater = FormRepeater.by_domain(DOMAIN)[0] try: auth_manager = repeater.get_auth_manager() self.assertIsInstance(auth_manager, BasicAuthManager) self.assertEqual(auth_manager.username, USERNAME) self.assertEqual(auth_manager.password, PASSWORD) self.assertNotEqual(auth_manager.password, repeater.password) self.assertTrue(repeater.password.startswith(f'${ALGO_AES}$')) finally: for repeater in FormRepeater.by_domain(DOMAIN): repeater.delete()
def test_unsubscribe_form(self): ZapierSubscription.objects.create( url=ZAPIER_URL, user_id=self.web_user.get_id, domain=TEST_DOMAIN, event_name=EventTypes.NEW_FORM, application_id=self.application.get_id, form_xmlns=FORM_XMLNS) self.assertNotEqual(len(FormRepeater.by_domain(TEST_DOMAIN)), 0) data = {"target_url": ZAPIER_URL} response = self.client.post( reverse(UnsubscribeView.urlname, kwargs={'domain': self.domain}), data=json.dumps(data), content_type='application/json; charset=utf-8', HTTP_AUTHORIZATION='ApiKey test:{}'.format(self.api_key)) self.assertEqual(response.status_code, 200) self.assertEqual(ZapierSubscription.objects.all().count(), 0) self.assertEqual(len(FormRepeater.by_domain(TEST_DOMAIN)), 0)
def test_unsubscribe_form(self): ZapierSubscription.objects.create( url=ZAPIER_URL, user_id=self.web_user.get_id, domain=TEST_DOMAIN, event_name=EventTypes.NEW_FORM, application_id=self.application.get_id, form_xmlns=FORM_XMLNS ) self.assertNotEqual(len(FormRepeater.by_domain(TEST_DOMAIN)), 0) data = { "target_url": ZAPIER_URL } response = self.client.post(reverse(UnsubscribeView.urlname, kwargs={'domain': self.domain}), data=json.dumps(data), content_type='application/json; charset=utf-8', HTTP_AUTHORIZATION='ApiKey test:{}'.format(self.api_key)) self.assertEqual(response.status_code, 200) self.assertEqual(ZapierSubscription.objects.all().count(), 0) self.assertEqual(len(FormRepeater.by_domain(TEST_DOMAIN)), 0)
def cleanup_repeaters_for_domain(domain): for repeater in FormRepeater.by_domain(domain): repeater.delete() for case_repeater_class in CASE_TYPE_REPEATER_CLASS_MAP.values(): for repeater in case_repeater_class.by_domain(domain): repeater.delete()