Exemple #1
0
    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)
Exemple #5
0
 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_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()
Exemple #12
0
 def setUp(self):
     super().setUp()
     self.view = XFormListApi.as_view({"get": "list"})
     self.publish_xls_form()
Exemple #13
0
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()
Exemple #15
0
def formList(*args, **kwargs):  # noqa
    view = XFormListApi.as_view({'get': 'list'})
    return view(*args, **kwargs)