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': '', 'path\\to\\file': '', 'file': '', './file': '', '.\\file': '', '../file': '', '..\\file': '', 'unknown://path': '', } 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])