summaryrefslogtreecommitdiff
path: root/tests/data/cmd-fake
blob: f889edd6a4432e83c9146ae42b8382c6e13c4aab (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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
#!/bin/sh
#
# This is a fake wallet backend that returns bogus data for verification by
# the client test suite.  It doesn't test any of the wallet server code.
#
# Written by Russ Allbery <eagle@eyrie.org>
# Copyright 2007, 2008, 2010
#     The Board of Trustees of the Leland Stanford Junior University
#
# See LICENSE for licensing terms.

command="$1"
shift
type="$1"
shift
if [ "$type" != "keytab" ] && [ "$type" != "file" ] ; then
    echo "Unknown object type $type" >&2
    exit 1
fi

case "$command" in
check)
    if [ -n "$2" ] ; then
        echo "Too many arguments" >&2
        exit 1
    fi
    case "${type}:${1}" in
    file:fake-test)
        if [ -f autocreated ] ; then
            echo 'yes'
        else
            echo 'no'
        fi
        ;;
    *)
        echo 'yes'
        ;;
    esac
    exit 0
    ;;
autocreate)
    if [ -n "$2" ] ; then
        echo "Too many arguments" >&2
        exit 1
    fi
    case "${type}:${1}" in
    file:fake-test)
        touch autocreated
        exit 0
        ;;
    *)
        echo "Autocreate called for existing object" >&2
        exit 1
        ;;
    esac
    ;;
get)
    if [ -n "$2" ] ; then
        echo "Too many arguments" >&2
        exit 1
    fi
    case "${type}:${1}" in
    file:fake-test)
        cat data/fake-data
        exit 0
        ;;
    keytab:service/fake-srvtab)
        cat data/fake-keytab
        exit 0
        ;;
    keytab:service/fake-keytab)
        cat data/fake-keytab-2
        exit 0
        ;;
    keytab:service/fake-output)
        printf 'This is a fake keytab.'
        exit 0
        ;;
    *)
        echo "Unknown $type $1" >&2
        exit 1
        ;;
    esac
    ;;
store)
    if [ -n "$3" ] ; then
        echo 'Too many arguments' >&2
        exit 1
    fi
    if [ -n "$2" ] ; then
        echo 'stdin remctld configuration not supported' >&2
        exit 1
    fi
    printf "$type $1\n" > store-output
    cat >> store-output
    ;;
show)
    if [ -n "$2" ] ; then
        echo "Too many arguments" >&2
        exit 1
    fi
    if [ "$type" = "file" ] && [ "$1" = "fake-test" ] ; then
        echo "Some stuff about $type $1"
        exit 0
    else
        echo "Unknown $type $1" >&2
        exit 1
    fi
    ;;
expires)
    if [ -n "$2" ] ; then
        echo "Too many arguments" >&2
        exit 1
    fi
    echo "Expiration date of $type $1"
    exit 0
    ;;
*)
    echo "Unknown command $command" >&2
    exit 1
    ;;
esac