summaryrefslogtreecommitdiff
path: root/holywood.yarn
blob: 55745e2dd791ee775c9c8e3519fdc9c751e1ac88 (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
44
45
46
47
48
49
50
51
52
---
title: System tests for holywood
author: Lars Wirzenius
version: 2017-04-21
...

# Introduction

This is a system test suite written in [yarn][]. They test the various
aspects of my file server, called `holywood`.

[yarn]: http://liw.fi/cmdtest/


## Configuration and running the test suite

To run the test suite, specify the server address that is to be
tested. In order to be able to run these tests against a new server,
before DNS gets updated, the domain names are not hardcoded. Instead,
you need to specify the address (IP address or DNS name) of the
server, and the tests pretend it has whatever service names in DNS
that need to be updated.

Do this with:

    EXAMPLE
    yarn --env ADDRESS=new.example.com ...


# holywood scenario test

    SCENARIO holywood
    GIVEN server is also known as holywood

    WHEN user runs ssh server -l ansible id -un
    THEN standard output matches "^ansible$"

    WHEN user runs ssh server -l ansible sudo id -un
    THEN standard output matches "^root$"

    WHEN user runs ssh server id -un
    THEN standard output matches "^liw$"

    WHEN user runs ssh server ls -ld /mnt/soile/pupu
    THEN standard output matches "^drwxrwxr-x"

    WHEN user runs ssh server ls -ld /mnt/holybackup/restic
    THEN standard output matches "^drwx------.* root root"

    WHEN user runs ssh server -l ansible sudo showmount -e
    THEN standard output matches "^/mnt/Ella"
    AND standard output matches "^/mnt/soile/pupu"