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
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")
def test_home_directory(get): get.expects_call().with_args("user").returns({"home": "bar"}) assert user.home_directory("user") == "bar"