def test_get_file_is_directory(self): """PathDownloadView.get_file() raises FileNotFound if file is a directory.""" view = setup_view( views.PathDownloadView(path=os.path.dirname(__file__)), 'fake request') with self.assertRaises(exceptions.FileNotFound): view.get_file()
def test_get_file_empty_field(self): """ObjectDownloadView.get_file() raises FileNotFound if field does not exist.""" view = setup_view(views.ObjectDownloadView(file_field='other_field'), 'fake request') view.object = mock.Mock() view.object.other_field = None with self.assertRaises(exceptions.FileNotFound): view.get_file()
def test_get_file_does_not_exist(self): """PathDownloadView.get_file() raises FileNotFound if field does not exist. """ view = setup_view(views.PathDownloadView(path='i-do-no-exist'), 'fake request') with self.assertRaises(exceptions.FileNotFound): view.get_file()
def test_get(self): """BaseDownloadView.get() calls render_to_response().""" request = django.test.RequestFactory().get('/dummy-url') args = ['dummy-arg'] kwargs = {'dummy': 'kwarg'} view = setup_view(views.BaseDownloadView(), request, *args, **kwargs) view.render_to_response = mock.Mock( return_value=mock.sentinel.response) response = view.get(request, *args, **kwargs) self.assertIs(response, mock.sentinel.response) view.render_to_response.assert_called_once_with()
def test_get_file_wrong_field(self): """ObjectDownloadView.get_file() raises AttributeError if field does not exist. ``AttributeError`` is expected because this is a configuration error, i.e. it is related to Python code. """ view = setup_view(views.ObjectDownloadView(file_field='other_field'), 'fake request') view.object = mock.Mock(spec=['file']) with self.assertRaises(AttributeError): view.get_file()
def test_get_file_ok(self): "ObjectDownloadView.get_file() returns ``file`` field by default." view = setup_view(views.ObjectDownloadView(), 'fake request') view.object = mock.Mock(spec=['file']) view.get_file()
def test_get_file_ok(self): "PathDownloadView.get_file() returns ``File`` instance." view = setup_view(views.PathDownloadView(path=__file__), 'fake request') file_wrapper = view.get_file() self.assertTrue(isinstance(file_wrapper, File))