summaryrefslogtreecommitdiff
path: root/yarns/200-super.yarn
blob: 54d639024c853007e7621d553bbd7b68f2b0bd44 (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
39
40
41
42
43
# A happy path scenario

This scenario does some basic resource management via the Muck API.

    SCENARIO super user

Start Muck. This also sets up access to it for the user by getting an
access token, which will be used for all requests.

    GIVEN a running Muck

    GIVEN a user tomjon with superuser access

Create a simple resource. Assign it to another user. Remember its id.

    WHEN user tomjon makes request POST /res 
    ... with header "Muck-Owner: verence" and body { "foo": "bar" }
    THEN status code is 201
    THEN remember resource id as ID
    THEN remember resource revision as REV1
    THEN response has header "Muck-Owner: verence"

Retrieve the resource.

    WHEN user tomjon makes request GET /res with header "Muck-Id: ${ID}"
    THEN status code is 200
    THEN response body is { "foo": "bar" }
    THEN response has header "Muck-Id: ${ID}"
    THEN response has header "Muck-Revision: ${REV1}"
    THEN response has header "Muck-Owner: verence"

Make sure Verence CAN retrieve, update, or delete the resource.

    WHEN user verence makes request GET /res with header "Muck-Id: ${ID}"
    THEN status code is 200
    THEN response body is { "foo": "bar" }
    THEN response has header "Muck-Id: ${ID}"
    THEN response has header "Muck-Revision: ${REV1}"
    THEN response has header "Muck-Owner: verence"

All done.

    FINALLY Muck is stopped