blob: 6a6178cb790717a2131e137600a0ae3240f8e636 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
<!-- -*- markdown -*- -->
`ls [--verbose|-v] [<pattern>...]`
==================================
The `ls` command is one of the few which touch every repository in a Gitano
instance. As such, it can take a while to run. Theoretically it leaks the
number of Git repositories on the server by virtue of analysis of timing.
Basic operation
===============
Firstly, we verify the basic operation of ls, that as a gitano-admin we have
read access (at least) to everything and as such we can list all the
repositories.
SCENARIO Basic operation of ls
GIVEN a standard instance
WHEN testinstance adminkey runs ls
THEN stdout contains RW gitano-admin
AND stderr is empty
General access control for ls
=============================
If you have no read or write access to a repository, it should not show up
when you run `ls`.
SCENARIO No access means no show in ls
GIVEN a standard instance
AND testinstance has keys called other
WHEN testinstance, using adminkey, adds user other, using testinstance other
AND testinstance adminkey runs create stoat
AND testinstance other runs ls
THEN stdout does not contain stoat
AND stderr is empty
TODO: Add more tests when we have rule control to govern things a little more.
|