from dvc.stage import Stage from dvc.output import _get, OUTS_MAP from tests.basic_env import TestDvc class TestOutScheme(TestDvc): MAP = OUTS_MAP TESTS = { 's3://bucket/path': 's3', 'gs://bucket/path': 'gs', 'ssh://example.com:/dir/path': 'ssh', 'hdfs://example.com/dir/path': 'hdfs', 'path/to/file': 'local', 'path\\to\\file': 'local', 'file': 'local', './file': 'local', '.\\file': 'local', '../file': 'local', '..\\file': 'local', 'unknown://path': 'local', } def _get(self, path): return _get(Stage(self.dvc), path, None, None, None) def test(self): for path, cls in self.TESTS.items(): self.assertIsInstance(self._get(path), self.MAP[cls])