def test_guess_default(tdata, fmt): config_class, filename = tdata orig_fmt = get_default_fmt() try: set_default_fmt(fmt) lst = list(guess(filename)) assert len(lst) == 1 assert lst[0] == FileType(filepath=filename, fmt=fmt, config_class=config_class) finally: set_default_fmt(orig_fmt)
def test_standard_filepath(config_class, protocol): filepath = standard_filepath(config=config_class, rootname="root", protocol=protocol) filetypes = list(guess(filepath)) assert len(filetypes) == 1 filetype = filetypes[0] assert filetype.filepath == filepath assert filetype.protocol == protocol assert filetype.config_class == config_class filepath2 = standard_filepath(config=config_class.__name__, rootname="root", protocol=protocol) assert filepath2 == filepath filepath3 = standard_filepath(config=config_class(), rootname="root", protocol=protocol) assert filepath3 == filepath
def test_standard_filepath(config_class, fmt): filepath = standard_filepath(config=config_class, rootname="root", fmt=fmt) filetypes = list(guess(filepath)) assert len(filetypes) == 1 filetype = filetypes[0] assert filetype.filepath == filepath assert filetype.fmt == fmt assert filetype.config_class == config_class filepath2 = standard_filepath(config=config_class.__name__, rootname="root", fmt=fmt) assert filepath2 == filepath filepath3 = standard_filepath(config=config_class(), rootname="root", fmt=fmt) assert filepath3 == filepath
def test_guess_mult(): filepath = "/a/b{protocol}/{config_class}/xx.{protocol}-{config_class}" filetypes = list(guess(filepath)) filetypes_d = {filetype.filepath: filetype for filetype in filetypes} protocols = get_protocols() config_classes = get_config_classes() assert len(filetypes) == len(protocols) * len(config_classes) for config_class in config_classes: for protocol in protocols: fp = filepath.format(protocol=protocol, config_class=config_class.__name__.lower()) assert fp in filetypes_d #assert config_class == filetypes_d[fp].config_class #assert protocol == filetypes_d[fp].protocol #assert FileType(filepath=fp, protocol=protocol, config_class=config_class) == filetypes_d[fp] assert FileType(filepath=fp, protocol=protocol, config_class=config_class) in filetypes
def test_guess_mult(): filepath = "/a/b{fmt}/{config_class}/xx.{fmt}-{config_class}" filetypes = list(guess(filepath)) filetypes_d = {filetype.filepath: filetype for filetype in filetypes} fmts = get_fmts() config_classes = get_config_classes() assert len(filetypes) == len(fmts) * len(config_classes) for config_class in config_classes: for fmt in fmts: fp = filepath.format(fmt=fmt, config_class=config_class.__name__.lower()) assert fp in filetypes_d #assert config_class == filetypes_d[fp].config_class #assert fmt == filetypes_d[fp].fmt #assert FileType(filepath=fp, fmt=fmt, config_class=config_class) == filetypes_d[fp] assert FileType(filepath=fp, fmt=fmt, config_class=config_class) in filetypes
def test_guess_no_match(): filename = "abc.xconfig" filetypes = list(guess(filename)) assert len(filetypes) == 0