def setUp(self): """Setup test fixtures if needed.""" self.user = User.objects.create_user("doctor", '', "pwd") self.exp = Experiment(title="Wonderful", institution_name="Monash University", created_by=self.user) self.exp.save() group = Group(name="Group1") group.save() facility = Facility(name="Test Facility", manager_group=group) facility.save() self.inst = Instrument(name="Test Instrument1", facility=facility) self.inst.save() self.dataset = Dataset(description="Dataset1", instrument=self.inst) self.dataset.save() storage_classes = getattr(settings, "HSM_STORAGE_CLASSES", DEFAULT_HSM_CLASSES) self.sbox1 = StorageBox(name="SBOX1", django_storage_class=storage_classes[0], status='online', max_size=256) self.sbox1.save() sbox1_attr = StorageBoxAttribute(storage_box=self.sbox1, key='type', value=StorageBox.DISK) sbox1_attr.save() sbox1_loc_opt = StorageBoxOption(storage_box=self.sbox1, key="location", value="/dummy/path") sbox1_loc_opt.save() self.sbox2 = StorageBox( name="SBOX2", django_storage_class="any.non.disk.StorageSystem", status='offline', max_size=256) self.sbox2.save() sbox2_attr = StorageBoxAttribute(storage_box=self.sbox2, key='type', value=StorageBox.TAPE) sbox2_attr.save() self.df1 = DataFile(dataset=self.dataset, filename="test_df.jpg") self.df1.save() self.dfo1 = DataFileObject(datafile=self.df1, storage_box=self.sbox1, uri="stream/test.jpg", verified=True) self.dfo1.save() self.df1.verify()
def get_or_create_storage_box(datafile): key_name = 'datafile_id' class_name = 'tardis.tardis_portal.storage.squashfs.SquashFSStorage' try: s_box = StorageBoxOption.objects.get( key=key_name, value=datafile.id, storage_box__django_storage_class=class_name).storage_box except StorageBoxOption.DoesNotExist: s_box = StorageBox( django_storage_class=class_name, max_size=datafile.size, status='empty', name=datafile.filename, description='SquashFS Archive in DataFile id: %d, filename: %s' % (datafile.id, datafile.filename)) s_box.save() StorageBoxOption(key=key_name, value=datafile.id, storage_box=s_box).save() return s_box
def setUp(self): self.test_box = StorageBox(name='test box', status='online', max_size=123) self.test_box.save()