예제 #1
0
def _ensure_layout(owner):
    home_dir = user.home_directory(owner)
    repo_name = git.repository_name()

    join = os.path.join
    project_dir = join(home_dir, repo_name)

    paths = {
        'project':  join(project_dir),
        'current':  join(project_dir, 'current'),
        'releases': join(project_dir, 'releases'), 
        'shared':   join(project_dir, 'shared'),
        'logs':     join(project_dir, 'shared', 'logs'),
        'temp':     join(project_dir, 'shared', 'temp')
    }

    with ctx.sudo(owner):
        for path in paths.itervalues():
            if dir.exists(path): 
                continue
            dir.create(path, recursive=True)

    return paths
예제 #2
0
def test_home_directory_abort_on_error(get, abort):
    get.expects_call().with_args("user").returns(None)
    abort.expects_call().with_args("User 'user' does not exists")
    assert not user.home_directory("user")
예제 #3
0
def test_home_directory(get):
    get.expects_call().with_args("user").returns({"home": "bar"})
    assert user.home_directory("user") == "bar"