def cli(args): cloner_path = os.getenv('CLONER_PATH') if cloner_path is None: msg = 'CLONER_PATH environment variable must be defined' raise ClonerException(msg) cloner_path = os.path.expanduser(cloner_path) ap = ArgParser(args) local_path = os.path.join(cloner_path, ap.local_path_tail) subprocess.call(["git", "clone", ap.url, local_path])
def test_local_path(): ap = ArgParser(['kardasis', 'cloner']) assert ap.local_path_tail == 'kardasis/cloner'
def test_no_args(): with pytest.raises(ValueError): ArgParser([])
def test_get_git_uri(): ap = ArgParser(['kardasis', 'cloner']) assert ap.url == '[email protected]:kardasis/cloner.git'
def test_deep_url_args(): ap = ArgParser( ['https://github.com/kardasis/cloner/blob/master/cloner/cli.py']) assert ap.user_name == 'kardasis' assert ap.repo_name == 'cloner'
def test_root_url_args(): ap = ArgParser(['https://github.com/kardasis/cloner']) assert ap.user_name == 'kardasis' assert ap.repo_name == 'cloner'
def test_username_reponame_args(): ap = ArgParser(['kardasis', 'cloner']) assert ap.user_name == 'kardasis' assert ap.repo_name == 'cloner'
def test_three_args(): with pytest.raises(ValueError): ArgParser(['a', 'b', 'c'])