def test_wrong_size_verification(self): content = urandom(1024) cf = ContentFile(content, 'background_task_testfile') # Create new Datafile datafile = DataFile(dataset=self.dataset) datafile.filename = cf.name datafile.size = len(content) - 1 datafile.sha512sum = hashlib.sha512(content).hexdigest() datafile.save() datafile.file_object = cf # verify explicitly to catch Exceptions hidden by celery datafile.verify() self.assertFalse(datafile.file_objects.get().verified)
def test_wrong_size_verification(self): content = urandom(1024) cf = ContentFile(content, 'background_task_testfile') # Create new Datafile datafile = DataFile(dataset=self.dataset) datafile.filename = cf.name datafile.size = len(content) - 1 datafile.sha512sum = hashlib.sha512(content).hexdigest() datafile.save() datafile.file_object = cf # verify explicitly to catch Exceptions hidden by celery datafile.verify() self.assertFalse(datafile.file_objects.get().verified)
def _create_datafile(): user = User.objects.create_user('testuser', '*****@*****.**', 'pwd') user.save() full_access = Experiment.PUBLIC_ACCESS_FULL experiment = Experiment.objects.create(title="IIIF Test", created_by=user, public_access=full_access) experiment.save() ObjectACL(content_object=experiment, pluginId='django_user', entityId=str(user.id), isOwner=True, canRead=True, canWrite=True, canDelete=True, aclOwnershipType=ObjectACL.OWNER_OWNED).save() dataset = Dataset() dataset.save() dataset.experiments.add(experiment) dataset.save() # Create new Datafile tempfile = TemporaryUploadedFile('iiif_stored_file', None, None, None) with Image(filename='magick:rose') as img: img.format = 'tiff' img.save(file=tempfile.file) tempfile.file.flush() datafile = DataFile(dataset=dataset, size=os.path.getsize(tempfile.file.name), filename='iiif_named_file', mimetype='image/tiff') compute_md5 = getattr(settings, 'COMPUTE_MD5', True) compute_sha512 = getattr(settings, 'COMPUTE_SHA512', True) checksums = compute_checksums(open(tempfile.file.name, 'r'), compute_md5=compute_md5, compute_sha512=compute_sha512) if compute_md5: datafile.md5sum = checksums['md5sum'] if compute_sha512: datafile.sha512sum = checksums['sha512sum'] datafile.save() datafile.file_object = tempfile return datafile
def testLocalFile(self): content = urandom(1024) cf = ContentFile(content, 'background_task_testfile') # Create new Datafile datafile = DataFile(dataset=self.dataset) datafile.filename = cf.name datafile.size = len(content) datafile.sha512sum = hashlib.sha512(content).hexdigest() datafile.save() datafile.file_object = cf dfo = datafile.file_objects.all()[0] # undo auto-verify: dfo.verified = False dfo.save(update_fields=['verified']) # Check that it's not currently verified expect(datafile.verified).to_be(False) # Check it verifies verify_dfos() expect(datafile.verified).to_be(True)
def testLocalFile(self): content = urandom(1024) cf = ContentFile(content, 'background_task_testfile') # Create new Datafile datafile = DataFile(dataset=self.dataset) datafile.filename = cf.name datafile.size = len(content) datafile.sha512sum = hashlib.sha512(content).hexdigest() datafile.save() datafile.file_object = cf dfo = datafile.file_objects.all()[0] # undo auto-verify: dfo.verified = False dfo.save(update_fields=['verified']) # Check that it's not currently verified expect(datafile.verified).to_be(False) # Check it verifies verify_dfos() expect(datafile.verified).to_be(True)
def _create_datafile(): user = User.objects.create_user("testuser", "*****@*****.**", "pwd") user.save() full_access = Experiment.PUBLIC_ACCESS_FULL experiment = Experiment.objects.create(title="IIIF Test", created_by=user, public_access=full_access) experiment.save() ObjectACL( content_object=experiment, pluginId="django_user", entityId=str(user.id), isOwner=True, canRead=True, canWrite=True, canDelete=True, aclOwnershipType=ObjectACL.OWNER_OWNED, ).save() dataset = Dataset() dataset.save() dataset.experiments.add(experiment) dataset.save() # Create new Datafile tempfile = TemporaryUploadedFile("iiif_stored_file", None, None, None) with Image(filename="magick:rose") as img: img.format = "tiff" img.save(file=tempfile.file) tempfile.file.flush() datafile = DataFile( dataset=dataset, size=os.path.getsize(tempfile.file.name), filename="iiif_named_file", mimetype="image/tiff" ) checksums = compute_checksums(open(tempfile.file.name, "r")) datafile.md5sum = checksums["md5sum"] datafile.sha512sum = checksums["sha512sum"] datafile.save() datafile.file_object = tempfile return datafile