def testFileUpload(self): from django.http import QueryDict, HttpRequest from tardis.tardis_portal.views import upload from django.core.files import File from django.core.files.uploadedfile import UploadedFile from django.utils.datastructures import MultiValueDict from os import path # create request.FILES object django_file = File(self.f1) uploaded_file = UploadedFile(file=django_file) uploaded_file.name = self.filename uploaded_file.size = self.f1_size post_data = [("enctype", "multipart/form-data")] post = QueryDict("&".join(["%s=%s" % (k, v) for (k, v) in post_data])) files = MultiValueDict({"Filedata": [uploaded_file]}) request = HttpRequest() request.FILES = files request.POST = post request.method = "POST" response = upload(request, self.dataset.id) test_files_db = models.Dataset_File.objects.filter(dataset__id=self.dataset.id) self.assertTrue(path.exists(path.join(self.dataset_path, self.filename))) self.assertTrue(self.dataset.id == 1) self.assertTrue(test_files_db[0].url == "tardis://testfile.txt")