Beispiel #1
0
def test_admin_demomodel_validate(webapp, admin_user, demomodel):
    url = reverse('admin:demoapp_demomodel_change', args=[demomodel.pk])
    res = webapp.get(url, user=admin_user)
    res.form['sender'].force_value('invalid_strategy_classname')
    res = res.form.submit()
    assert 'Select a valid choice' in res.context['adminform'].form.errors[
        'sender'][0]
def test_admin_demo_multiple_model_edit(webapp, admin_user,
                                        demo_multiplecustom_model):
    demo_multiplecustom_model.sender = [Strategy, Strategy1]
    demo_multiplecustom_model.save()
    url = reverse('admin:demoapp_demomultiplecustommodel_change',
                  args=[demo_multiplecustom_model.pk])
    res = webapp.get(url, user=admin_user)
    assert res.context['adminform'].form.fields['sender'].choices == [
        ('demoproject.demoapp.models.Strategy',
         'demoproject.demoapp.models.Strategy'),
        ('demoproject.demoapp.models.Strategy1',
         'demoproject.demoapp.models.Strategy1')
    ]

    res.form['sender'] = [
        'demoproject.demoapp.models.Strategy',
        'demoproject.demoapp.models.Strategy1'
    ]
    res.form.submit().follow()
    res = webapp.get(url, user=admin_user)
    assert res.context['adminform'].form.fields['sender'].choices == [
        ('demoproject.demoapp.models.Strategy',
         'demoproject.demoapp.models.Strategy'),
        ('demoproject.demoapp.models.Strategy1',
         'demoproject.demoapp.models.Strategy1')
    ]
def test_admin_demomodel_validate(webapp, admin_user, demomodel):
    url = reverse('admin:demoapp_demomodel_change', args=[demomodel.pk])
    res = webapp.get(url, user=admin_user)
    res.form['sender'].force_value('invalid_strategy_classname')
    res = res.form.submit()
    assert 'Select a valid choice' in res.context[
        'adminform'].form.errors['sender'][0]
Beispiel #4
0
def test_admin_demomodel_edit(webapp, admin_user, demomodel):
    url = reverse('admin:demoapp_demomodel_change', args=[demomodel.pk])
    res = webapp.get(url, user=admin_user)
    res.form['sender'] = 'demoproject.demoapp.models.Sender2'
    res.form.submit().follow()
    assert DemoModel.objects.filter(
        sender='demoproject.demoapp.models.Sender2').count() == 1
def test_admin_demomodel_edit(webapp, admin_user, demomodel):
    url = reverse('admin:demoapp_demomodel_change', args=[demomodel.pk])
    res = webapp.get(url, user=admin_user)
    res.form['sender'] = 'demoproject.demoapp.models.Sender2'
    res.form.submit().follow()
    assert DemoModel.objects.filter(
        sender='demoproject.demoapp.models.Sender2').count() == 1
 def test_not_modified_download_response(self):
     """'storage:static_path' sends not modified response if unmodified."""
     setup_file("1.txt")
     url = reverse("storage:static_path", kwargs={"path": "1.txt"})
     year = datetime.date.today().year + 4
     response = self.client.get(
         url, HTTP_IF_MODIFIED_SINCE=f"Sat, 29 Oct {year} 19:43:31 GMT",
     )
     self.assertTrue(isinstance(response, HttpResponseNotModified))
Beispiel #7
0
 def test_download_response(self):
     """'static_path' serves 'fixtures/hello-world.txt'."""
     url = reverse("path:static_path")
     response = self.client.get(url)
     assert_download_response(
         self,
         response,
         content="Hello world!\n",
         basename="hello-world.txt",
         mime_type="text/plain",
     )
Beispiel #8
0
 def test_download_response(self):
     """'dynamic_path' serves 'fixtures/{path}'."""
     url = reverse("path:dynamic_path", kwargs={"path": "hello-world.txt"})
     response = self.client.get(url)
     assert_download_response(
         self,
         response,
         content="Hello world!\n",
         basename="hello-world.txt",
         mime_type="text/plain",
     )
Beispiel #9
0
 def test_download_response(self):
     """'virtual:text' serves 'hello-world.txt' from unicode."""
     url = reverse("virtual:text")
     response = self.client.get(url)
     assert_download_response(
         self,
         response,
         content="Hello world!\n",
         basename="hello-world.txt",
         mime_type="text/plain",
     )
Beispiel #10
0
 def test_download_response(self):
     """'simple_url' serves 'hello-world.txt' from Github."""
     url = reverse("http:simple_url")
     response = self.client.get(url)
     assert_download_response(
         self,
         response,
         content="Hello world!\n",
         basename="hello-world.txt",
         mime_type="text/plain",
     )
Beispiel #11
0
 def test_download_response(self):
     "'deserialized_basename' streams Document.file with custom basename."
     setup_document()
     url = reverse("object:deserialized_basename", kwargs={"slug": slug})
     response = self.client.get(url)
     assert_download_response(
         self,
         response,
         content=file_content,
         basename=basename,
         mime_type="text/plain",
     )
Beispiel #12
0
 def test_response(self):
     """'lighttpd:optimized_by_middleware' returns X-Sendfile response."""
     setup_file()
     url = reverse("lighttpd:optimized_by_middleware")
     response = self.client.get(url)
     assert_x_sendfile(
         self,
         response,
         content_type="text/plain; charset=utf-8",
         basename="hello-world.txt",
         file_path="/lighttpd-optimized-by-middleware/hello-world.txt",
     )
Beispiel #13
0
 def test_download_response(self):
     """'storage:static_path' streams file by path."""
     setup_file("1.txt")
     url = reverse("storage:static_path", kwargs={"path": "1.txt"})
     response = self.client.get(url)
     assert_download_response(
         self,
         response,
         content=file_content,
         basename="1.txt",
         mime_type="text/plain",
     )
Beispiel #14
0
 def test_response(self):
     """'apache:optimized_by_decorator' returns X-Sendfile response."""
     setup_file()
     url = reverse("apache:optimized_by_decorator")
     response = self.client.get(url)
     assert_x_sendfile(
         self,
         response,
         content_type="text/plain; charset=utf-8",
         basename="hello-world.txt",
         file_path="/apache-optimized-by-decorator/hello-world.txt",
     )
Beispiel #15
0
 def test_download_response(self):
     "'inline_file_view' streams Document.file inline."
     setup_document()
     url = reverse("object:inline_file", kwargs={"slug": slug})
     response = self.client.get(url)
     assert_download_response(
         self,
         response,
         content=file_content,
         mime_type="text/plain",
         attachment=False,
     )
Beispiel #16
0
 def test_download_response(self):
     """'another_file' streams Document.another_file."""
     setup_document()
     url = reverse("object:another_file", kwargs={"slug": slug})
     response = self.client.get(url)
     assert_download_response(
         self,
         response,
         content=another_content,
         basename=another_name,
         mime_type="text/plain",
     )
Beispiel #17
0
 def test_modified_since_download_response(self):
     """'storage:static_path' streams file if modified."""
     setup_file("1.txt")
     url = reverse("storage:static_path", kwargs={"path": "1.txt"})
     response = self.client.get(
         url, HTTP_IF_MODIFIED_SINCE="Sat, 29 Oct 1980 19:43:31 GMT"
     )
     assert_download_response(
         self,
         response,
         content=file_content,
         basename="1.txt",
         mime_type="text/plain",
     )
Beispiel #18
0
 def test_response(self):
     """'nginx:optimized_by_decorator' returns X-Accel response."""
     setup_file()
     url = reverse("nginx:optimized_by_decorator")
     response = self.client.get(url)
     assert_x_accel_redirect(
         self,
         response,
         content_type="text/plain; charset=utf-8",
         charset="utf-8",
         basename="hello-world.txt",
         redirect_url="/nginx-optimized-by-decorator/hello-world.txt",
         expires=None,
         with_buffering=None,
         limit_rate=None,
     )
def test_admin_demo_multiple_model_edit(webapp, admin_user, demo_multiplecustom_model):
    demo_multiplecustom_model.sender = [Strategy, Strategy1]
    demo_multiplecustom_model.save()
    url = reverse('admin:demoapp_demomultiplecustommodel_change', args=[demo_multiplecustom_model.pk])
    res = webapp.get(url, user=admin_user)
    assert res.context['adminform'].form.fields['sender'].choices == [('demoproject.demoapp.models.Strategy',
                                              'demoproject.demoapp.models.Strategy'),
                                             ('demoproject.demoapp.models.Strategy1',
                                              'demoproject.demoapp.models.Strategy1')]


    res.form['sender'] = ['demoproject.demoapp.models.Strategy',
                          'demoproject.demoapp.models.Strategy1']
    res.form.submit().follow()
    res = webapp.get(url, user=admin_user)
    assert res.context['adminform'].form.fields['sender'].choices == [('demoproject.demoapp.models.Strategy',
                                                                       'demoproject.demoapp.models.Strategy'),
                                                                      ('demoproject.demoapp.models.Strategy1',
                                                                       'demoproject.demoapp.models.Strategy1')]
Beispiel #20
0
    def test_download_response(self):
        """'dynamic_path' streams file by generated path.

        As we use ``self.client``, this test involves the whole Django stack,
        including settings, middlewares, decorators... So we need to setup a
        file, the storage, and an URL.

        This test actually asserts the URL ``storage:dynamic_path`` streams a
        file in storage.

        """
        setup_file("1.TXT")
        url = reverse("storage:dynamic_path", kwargs={"path": "1.txt"})
        response = self.client.get(url)
        assert_download_response(
            self,
            response,
            content=file_content,
            basename="1.TXT",
            mime_type="text/plain",
        )
 def test_empty_get(self):
     url = reverse('user_filter_view')
     response = self.client.get(url)
     self.assertEqual(response.status_code, 200)
 def test_query(self):
     url = reverse('user_filter_view') + '?query=doe'
     response = self.client.get(url)
     self.assertEqual(response.status_code, 200)
     self.assertEqual(len(response.context['users']), 1)
 def test_order_by_get(self):
     url = reverse('user_filter_view') + '?order_by=last_login'
     response = self.client.get(url)
     self.assertEqual(response.status_code, 200)
Beispiel #24
0
 def test_query(self):
     url = reverse("user_filter_view") + "?query=doe"
     response = self.client.get(url)
     self.assertEqual(response.status_code, 200)
     self.assertEqual(len(response.context["users"]), 1)
Beispiel #25
0
 def test_download_response(self):
     """HTTPDownloadView proxies Content-Type header."""
     url = reverse("http:avatar_url")
     response = self.client.get(url)
     assert_download_response(self, response, mime_type="image/png")
 def test_get(self):
     """Homepage returns HTTP 200."""
     home_url = reverse("home")
     response = self.client.get(home_url)
     self.assertEqual(response.status_code, 200)