Example #1
0
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])
Example #2
0
def test_local_path():
    ap = ArgParser(['kardasis', 'cloner'])
    assert ap.local_path_tail == 'kardasis/cloner'
Example #3
0
def test_no_args():
    with pytest.raises(ValueError):
        ArgParser([])
Example #4
0
def test_get_git_uri():
    ap = ArgParser(['kardasis', 'cloner'])
    assert ap.url == '[email protected]:kardasis/cloner.git'
Example #5
0
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'
Example #6
0
def test_root_url_args():
    ap = ArgParser(['https://github.com/kardasis/cloner'])
    assert ap.user_name == 'kardasis'
    assert ap.repo_name == 'cloner'
Example #7
0
def test_username_reponame_args():
    ap = ArgParser(['kardasis', 'cloner'])
    assert ap.user_name == 'kardasis'
    assert ap.repo_name == 'cloner'
Example #8
0
def test_three_args():
    with pytest.raises(ValueError):
        ArgParser(['a', 'b', 'c'])