class StockReportDomainTest(TestCase): def _get_name_for_domain(self): return ''.join( random.choice(string.ascii_lowercase) for _ in range(DOMAIN_MAX_LENGTH)) def setUp(self): self.domain = self._get_name_for_domain() self.form = XFormInstance(domain=self.domain) self.form.save() self.new_stock_report = NewStockReport( self.form, datetime.now(), REPORT_TYPE_BALANCE, [], ) def tearDown(self): self.form.delete() StockReport.objects.all().delete() def test_stock_report(self): self.new_stock_report.create_models() filtered_stock_report = StockReport.objects.filter(domain=self.domain) self.assertEquals(filtered_stock_report.count(), 1) stock_report = filtered_stock_report.get() self.assertEquals(stock_report.form_id, self.form._id) self.assertEquals(stock_report.domain, self.domain)
class StockReportDomainTest(TestCase): def _get_name_for_domain(self): return ''.join( random.choice(string.ascii_lowercase) for _ in range(DOMAIN_MAX_LENGTH) ) def setUp(self): self.domain = self._get_name_for_domain() self.form = XFormInstance(domain=self.domain) self.form.save() self.new_stock_report = NewStockReport( self.form, datetime.now(), REPORT_TYPE_BALANCE, [], ) def tearDown(self): self.form.delete() StockReport.objects.all().delete() def test_stock_report(self): self.new_stock_report.create_models() filtered_stock_report = StockReport.objects.filter(domain=self.domain) self.assertEquals(filtered_stock_report.count(), 1) stock_report = filtered_stock_report.get() self.assertEquals(stock_report.form_id, self.form._id) self.assertEquals(stock_report.domain, self.domain)
def saving(request): xform = XFormInstance(_attachments={'form.xml': {'data': '-'}}) xform.save() case = CommCareCase() case.save() xform.initial_processing_complete = True xform.save() case.delete() xform.delete() return HttpResponse('Thanks for submitting', status=201)
def test_get_list(self): """ Any form in the appropriate domain should be in the list from the API. """ # The actual infrastructure involves saving to CouchDB, having PillowTop # read the changes and write it to ElasticSearch. # In order to test just the API code, we set up a fake XFormES (this should # really be a parameter to the XFormInstanceResource constructor) # and write the translated form directly; we are not trying to test # the ptop infrastructure. #the pillow is set to offline mode - elasticsearch not needed to validate pillow = XFormPillow(online=False) fake_xform_es = FakeXFormES() v0_4.MOCK_XFORM_ES = fake_xform_es backend_form = XFormInstance(xmlns='fake-xmlns', domain=self.domain.name, received_on=datetime.utcnow(), form={ '#type': 'fake-type', '@xmlns': 'fake-xmlns' }) backend_form.save() translated_doc = pillow.change_transform(backend_form.to_json()) fake_xform_es.add_doc(translated_doc['_id'], translated_doc) self.client.login(username=self.username, password=self.password) response = self.client.get(self.list_endpoint) self.assertEqual(response.status_code, 200) api_forms = simplejson.loads(response.content)['objects'] self.assertEqual(len(api_forms), 1) api_form = api_forms[0] self.assertEqual(api_form['form']['@xmlns'], backend_form.xmlns) self.assertEqual(api_form['received_on'], backend_form.received_on.isoformat()) backend_form.delete()
def test_get_list(self): """ Any form in the appropriate domain should be in the list from the API. """ # The actual infrastructure involves saving to CouchDB, having PillowTop # read the changes and write it to ElasticSearch. # In order to test just the API code, we set up a fake XFormES (this should # really be a parameter to the XFormInstanceResource constructor) # and write the translated form directly; we are not trying to test # the ptop infrastructure. #the pillow is set to offline mode - elasticsearch not needed to validate pillow = XFormPillow(online=False) fake_xform_es = FakeXFormES() v0_4.MOCK_XFORM_ES = fake_xform_es backend_form = XFormInstance(xmlns = 'fake-xmlns', domain = self.domain.name, received_on = datetime.utcnow(), form = { '#type': 'fake-type', '@xmlns': 'fake-xmlns' }) backend_form.save() translated_doc = pillow.change_transform(backend_form.to_json()) fake_xform_es.add_doc(translated_doc['_id'], translated_doc) self.client.login(username=self.username, password=self.password) response = self.client.get(self.list_endpoint) self.assertEqual(response.status_code, 200) api_forms = simplejson.loads(response.content)['objects'] self.assertEqual(len(api_forms), 1) api_form = api_forms[0] self.assertEqual(api_form['form']['@xmlns'], backend_form.xmlns) self.assertEqual(api_form['received_on'], backend_form.received_on.isoformat()) backend_form.delete()