def test_get_filestem( regsurf, edataobj1, name, tagname, parentname, time0, time1, expected, ): """Testing the private _get_filestem method.""" objdata = _ObjectDataProvider(regsurf, edataobj1) objdata.name = name objdata.time0 = time0 objdata.time1 = time1 edataobj1.tagname = tagname edataobj1.parent = parentname edataobj1.name = "" fdata = _FileDataProvider( edataobj1, objdata, ) stem = fdata._get_filestem() assert stem == expected
def test_filedata_provider(regsurf, edataobj1, tmp_path): """Testing the derive_filedata function.""" os.chdir(tmp_path) cfg = edataobj1 cfg.createfolder = True cfg._rootpath = Path(".") cfg.name = "" objdata = _ObjectDataProvider(regsurf, edataobj1) objdata.name = "name" objdata.efolder = "efolder" objdata.extension = ".ext" objdata.time0 = "t1" objdata.time1 = "t2" fdata = _FileDataProvider(cfg, objdata) fdata.derive_filedata() print(fdata.relative_path) assert fdata.relative_path == "share/results/efolder/parent--name--tag--t1_t2.ext" absdata = str(tmp_path / "share/results/efolder/parent--name--tag--t1_t2.ext") assert fdata.absolute_path == absdata
def test_get_filestem_shall_fail( regsurf, edataobj1, name, tagname, parentname, time0, time1, message, ): """Testing the private _get_filestem method when it shall fail.""" objdata = _ObjectDataProvider(regsurf, edataobj1) objdata.name = name objdata.time0 = time0 objdata.time1 = time1 edataobj1.tagname = tagname edataobj1.parent = parentname edataobj1.name = "" fdata = _FileDataProvider(edataobj1, objdata) with pytest.raises(ValueError) as msg: _ = fdata._get_filestem() assert message in str(msg)
def test_get_paths_not_exists_so_create(regsurf, edataobj1, tmp_path): """Testing the private _get_path method, creating the path.""" os.chdir(tmp_path) objdata = _ObjectDataProvider(regsurf, edataobj1) objdata.name = "some" objdata.efolder = "efolder" cfg = edataobj1 cfg.createfolder = True cfg._rootpath = Path(".") fdata = _FileDataProvider(cfg, objdata) path = fdata._get_path() assert str(path) == "share/results/efolder"
def test_get_paths_path_exists_already(regsurf, edataobj1, tmp_path): """Testing the private _get_path method.""" os.chdir(tmp_path) newpath = tmp_path / "share" / "results" / "efolder" newpath.mkdir(parents=True, exist_ok=True) edataobj1.name = "some" objdata = _ObjectDataProvider(regsurf, edataobj1) objdata.name = "some" objdata.efolder = "efolder" fdata = _FileDataProvider(edataobj1, objdata) path = fdata._get_path() assert str(path) == "share/results/efolder"
def _populate_meta_file(self): """Populate the file block in the metadata. The file block also contains all needed info for doing the actual file export. It requires that the _ObjectDataProvider is ran first -> self.objdata - relative_path, seen from rootpath - absolute_path, as above but full path - checksum_md5, if required (a bit special treatment of this) """ fdata = _FileDataProvider( self.dataio, self.objdata, self.rootpath, self.fmudata.iter_name, self.fmudata.real_name, self.verbosity, ) fdata.derive_filedata() self.meta_file["relative_path"] = fdata.relative_path self.meta_file["absolute_path"] = fdata.absolute_path if self.compute_md5: logger.info("Compute MD5 sum for tmp file...") _, self.meta_file[ "checksum_md5"] = export_file_compute_checksum_md5( self.obj, "tmp", self.objdata.extension, tmp=True, flag=self.dataio._usefmtflag, ) else: logger.info("Do not compute MD5 sum at this stage!") self.meta_file["checksum_md5"] = None