def test_retrieve_xform_manifest_anonymous_user(self): self._load_metadata(self.xform) self.view = XFormListApi.as_view({"get": "manifest"}) request = self.factory.get('/') response = self.view(request, pk=self.xform.pk) self.assertEqual(response.status_code, 401) response = self.view(request, pk=self.xform.pk, username=self.user.username) self.assertEqual(response.status_code, 200) manifest_xml = """<?xml version="1.0" encoding="utf-8"?> <manifest xmlns="http://openrosa.org/xforms/xformsManifest"><mediaFile><filename>screenshot.png</filename><hash>%(hash)s</hash><downloadUrl>http://testserver/bob/xformsMedia/%(xform)s/%(pk)s.png</downloadUrl></mediaFile></manifest>""" # noqa data = { "hash": self.metadata.md5_hash, "pk": self.metadata.pk, "xform": self.xform.pk } content = response.render().content.decode('utf-8').strip() self.assertEqual(content, manifest_xml % data) self.assertTrue(response.has_header('X-OpenRosa-Version')) self.assertTrue( response.has_header('X-OpenRosa-Accept-Content-Length')) self.assertTrue(response.has_header('Date')) self.assertEqual(response['Content-Type'], 'text/xml; charset=utf-8')
def test_retrieve_xform_xml(self): self.view = XFormListApi.as_view({ "get": "retrieve" }) request = self.factory.head('/') response = self.view(request, pk=self.xform.pk) auth = DigestAuth('bob', 'bobbob') request = self.factory.get('/') request.META.update(auth(request.META, response)) response = self.view(request, pk=self.xform.pk) self.assertEqual(response.status_code, 200) path = os.path.join( os.path.dirname(__file__), '..', 'fixtures', 'Transportation Form.xml') with open(path) as f: form_xml = f.read().strip() data = {"form_uuid": self.xform.uuid} content = response.render().content.strip() self.assertEqual(content, form_xml % data) self.assertTrue(response.has_header('X-OpenRosa-Version')) self.assertTrue( response.has_header('X-OpenRosa-Accept-Content-Length')) self.assertTrue(response.has_header('Date')) self.assertEqual(response['Content-Type'], 'text/xml; charset=utf-8')
def test_retrieve_xform_xml(self): self.view = XFormListApi.as_view({ "get": "retrieve" }) request = self.factory.head('/') response = self.view(request, pk=self.xform.pk) auth = DigestAuth('bob', 'bobbob') request = self.factory.get('/') request.META.update(auth(request.META, response)) response = self.view(request, pk=self.xform.pk) self.assertEqual(response.status_code, 200) path = os.path.join( os.path.dirname(__file__), '..', 'fixtures', 'Transportation Form.xml') with open(path) as f: form_xml = f.read().strip() data = {"form_uuid": self.xform.uuid} content = response.render().content.strip() content = content.replace( self.xform.version, u"20141112071722") self.assertEqual(content, form_xml % data) self.assertTrue(response.has_header('X-OpenRosa-Version')) self.assertTrue( response.has_header('X-OpenRosa-Accept-Content-Length')) self.assertTrue(response.has_header('Date')) self.assertEqual(response['Content-Type'], 'text/xml; charset=utf-8')
def test_retrieve_xform_media_anonymous_user_require_auth(self): self.user.profile.require_auth = True self.user.profile.save() self._load_metadata(self.xform) self.view = XFormListApi.as_view({ "get": "media" }) request = self.factory.get('/') response = self.view(request, pk=self.xform.pk, metadata=self.metadata.pk, format='png') self.assertEqual(response.status_code, 401)
def test_retrieve_xform_media_anonymous_user_require_auth(self): self.user.profile.require_auth = True self.user.profile.save() self._load_metadata(self.xform) self.view = XFormListApi.as_view({"get": "media"}) request = self.factory.get('/') response = self.view(request, pk=self.xform.pk, metadata=self.metadata.pk, format='png') self.assertEqual(response.status_code, 401)
def test_retrieve_xform_media_anonymous_user(self): self._load_metadata(self.xform) self.view = XFormListApi.as_view({ "get": "media" }) request = self.factory.get('/') response = self.view(request, pk=self.xform.pk, metadata=self.metadata.pk, format='png') self.assertEqual(response.status_code, 401) response = self.view(request, pk=self.xform.pk, username=self.user.username, metadata=self.metadata.pk, format='png') self.assertEqual(response.status_code, 200)
def test_retrieve_xform_media(self): self._load_metadata(self.xform) self.view = XFormListApi.as_view({ "get": "media" }) request = self.factory.head('/') response = self.view(request, pk=self.xform.pk, metadata=self.metadata.pk, format='png') auth = DigestAuth('bob', 'bobbob') request = self.factory.get('/') request.META.update(auth(request.META, response)) response = self.view(request, pk=self.xform.pk, metadata=self.metadata.pk, format='png') self.assertEqual(response.status_code, 200)
def test_retrieve_xform_manifest_anonymous_user(self): self._load_metadata(self.xform) self.view = XFormListApi.as_view({ "get": "manifest" }) request = self.factory.get('/') response = self.view(request, pk=self.xform.pk) self.assertEqual(response.status_code, 401) response = self.view(request, pk=self.xform.pk, username=self.user.username) self.assertEqual(response.status_code, 200) manifest_xml = """<?xml version="1.0" encoding="utf-8"?> <manifest xmlns="http://openrosa.org/xforms/xformsManifest"><mediaFile><filename>screenshot.png</filename><hash>%(hash)s</hash><downloadUrl>http://testserver/bob/xformsMedia/%(xform)s/%(pk)s.png</downloadUrl></mediaFile></manifest>""" # noqa data = {"hash": self.metadata.hash, "pk": self.metadata.pk, "xform": self.xform.pk} content = response.render().content.strip() self.assertEqual(content, manifest_xml % data) self.assertTrue(response.has_header('X-OpenRosa-Version')) self.assertTrue( response.has_header('X-OpenRosa-Accept-Content-Length')) self.assertTrue(response.has_header('Date')) self.assertEqual(response['Content-Type'], 'text/xml; charset=utf-8')
def setUp(self): super(self.__class__, self).setUp() self.view = XFormListApi.as_view({ "get": "list" }) self._publish_xls_form_to_project()
def setUp(self): super().setUp() self.view = XFormListApi.as_view({"get": "list"}) self.publish_xls_form()
def xformsManifest(*args, **kwargs): # noqa view = XFormListApi.as_view({'get': 'manifest'}) response = view(*args, **kwargs) response.render() return response
def setUp(self): super(self.__class__, self).setUp() self.view = XFormListApi.as_view({"get": "list"}) self._publish_xls_form_to_project()
def formList(*args, **kwargs): # noqa view = XFormListApi.as_view({'get': 'list'}) return view(*args, **kwargs)