diff options
Diffstat (limited to '000.yarn')
-rw-r--r-- | 000.yarn | 32 |
1 files changed, 31 insertions, 1 deletions
@@ -211,6 +211,20 @@ groups, and respositories. THEN ian can push qvarn FINALLY admin removes things that were created + SCENARIO Steven can clone Qvarn but not push changes + WHEN admin creates user steven + AND admin creates group qvarn-readers + AND admin adds steven to qvarn-readers + AND admin creates repository qvarn + AND admin sets qvarn config readers to qvarn-readers + AND admin sets qvarn config writers to qvarn-writers + THEN steven can clone qvarn + WHEN steven creates qvarn branch bugfix + AND steven changes qvarn branch bugfix + AND steven merges qvarn branch bugfix to master + THEN steven cannot push qvarn + FINALLY admin removes things that were created + SCENARIO everyone can clone a public repository WHEN admin creates repository qvarn AND admin sets qvarn config public to yes @@ -301,8 +315,24 @@ groups, and respositories. IMPLEMENTS THEN (\S+) can push (\S+) user = helper.get_next_match() repo = helper.get_next_match() + url = helper.repo_ssh_url(repo) dirname = helper.local_checkout_dirname(user, repo) - cliapp.runcmd(['git', 'push', '--all', 'origin'], cwd=dirname) + env = dict(os.environ) + env['GIT_SSH_COMMAND'] = helper.env_ssh_command(user) + cliapp.runcmd(['git', 'push', '--all', 'origin'], cwd=dirname, env=env) + + + IMPLEMENTS THEN (\S+) cannot push (\S+) + user = helper.get_next_match() + repo = helper.get_next_match() + dirname = helper.local_checkout_dirname(user, repo) + env = dict(os.environ) + env['GIT_SSH_COMMAND'] = helper.env_ssh_command(user) + exit, out, err = cliapp.runcmd_unchecked( + ['git', 'push', '--all', 'origin'], cwd=dirname, env=env) + sys.stdout.write(out) + sys.stderr.write(err) + helper.assertNotEqual(exit, 0) IMPLEMENTS WHEN (\S+) merges (\S+) branch (\S+) to (\S+) user = helper.get_next_match() |