From 2d4a63b00968ac5473e3b82b7c45e3f742a8e707 Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Sun, 5 Mar 2017 14:14:09 +0200 Subject: Add scenario to verify Steven can't push release tags --- 000.yarn | 22 ++++++++++++++++++++++ yarnhelper.py | 3 +++ 2 files changed, 25 insertions(+) diff --git a/000.yarn b/000.yarn index feaa34f..609cd14 100644 --- a/000.yarn +++ b/000.yarn @@ -240,6 +240,19 @@ groups, and respositories. THEN ian can push qvarn with tags FINALLY admin removes things that were created + SCENARIO Steven can't tag a Qvarn release + WHEN admin creates user steven + AND admin creates group qvarn-readers + AND admin creates group qvarn-writers + 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 tags qvarn master branch with qvarn-2.0 + THEN steven cannot push qvarn with tags + FINALLY admin removes things that were created + SCENARIO Steven can't clone ops/secrets WHEN admin creates user steven AND admin creates repository ops/secrets @@ -362,6 +375,15 @@ groups, and respositories. ['push', '--all', 'origin'], cwd=dirname) helper.assertNotEqual(exit, 0) + IMPLEMENTS THEN (\S+) cannot push (\S+) with tags + user = helper.get_next_match() + repo = helper.get_next_match() + dirname = helper.local_checkout_dirname(user, repo) + exit, out, err = helper.git_as( + user, + ['push', '--tags', 'origin'], cwd=dirname) + helper.assertNotEqual(exit, 0) + IMPLEMENTS WHEN (\S+) merges (\S+) branch (\S+) to (\S+) user = helper.get_next_match() repo = helper.get_next_match() diff --git a/yarnhelper.py b/yarnhelper.py index d132b88..25c1db1 100644 --- a/yarnhelper.py +++ b/yarnhelper.py @@ -20,6 +20,7 @@ import email import imaplib import os import subprocess +import sys import urlparse import cliapp @@ -162,6 +163,8 @@ class YarnHelper(object): def git_as_checked(self, user, args, **kwargs): # pragma: no cover exit, out, err = self.git_as(user, args, **kwargs) + sys.stdout.write('STDOUT from git:\n{}'.format(out)) + sys.stderr.write('STDERR from git:\n{}'.format(err)) self.assertEqual(exit, 0) def env_ssh_command(self, user): # pragma: no cover -- cgit v1.2.1