From d330a38c84d98b0940487b3334f13894b63dadf5 Mon Sep 17 00:00:00 2001 From: Daniel Silverstone Date: Mon, 6 Mar 2017 15:38:28 +0000 Subject: adds a force-push checking scenario --- testing/03-force-pushing.yarn | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 testing/03-force-pushing.yarn (limited to 'testing') diff --git a/testing/03-force-pushing.yarn b/testing/03-force-pushing.yarn new file mode 100644 index 0000000..5d8e98a --- /dev/null +++ b/testing/03-force-pushing.yarn @@ -0,0 +1,34 @@ + + +Force Pushing +============= + +The default ruleset of Gitano denies force-pushing to everyone except the +`gitano-admin` group by default; requiring that projects explicitly enable it +if they want it. The theory being that it can be permitted for some branches +but not others, and by deny-by-default, it encourages project owners to think +hard before granting force-push. + + SCENARIO alice cannot force-push by default + + GIVEN a standard instance + AND a unix user called alice + AND alice has keys called main + + WHEN testinstance, using adminkey, adds user alice, using alice main + AND testinstance adminkey runs create testrepo alice + AND alice, using main, clones testrepo as testrepo + THEN alice testrepo has no file called FOO + + WHEN alice applies add-a-FOO.patch in testrepo + AND alice, using main, pushes testrepo to testrepo.git + THEN the output contains new branch + + WHEN alice amends testrepo with oh well never mind + AND alice, using main, expecting failure, pushes testrepo to testrepo.git + THEN the output contains non-fast-forward + + WHEN alice, using main, expecting failure, force-pushes testrepo to testrepo.git + THEN stderr contains denied action + + FINALLY the instance is torn down -- cgit v1.2.1