ISCACHED: don't handle unopened gpg-agent cache status.
[pwmd.git] / tests / store.test
blob630d04b3d22f3c924da14136b5893c22fa257085
1 #!/bin/bash
2 source common.sh
3 source import-common.sh
5 do_import datafile
7 cat > config << EOF
8 [global]
9 log_level=9
10 #enable_logging=true
11 [datafile]
12 passphrase_file=`pwd`/datafile.key
13 [datafile.tmp]
14 passphrase_file=`pwd`/datafile.key
15 EOF
17 launch_pwmd datafile
18 begin_test
20 echo "Test 1. An element with the same value as the element name."
21 cp -f data/datafile data/datafile.tmp
22 echo -ne 'a\ta' | pwmc $PWMC_ARGS --inquire STORE -S --keyid $KEYID datafile.tmp
23 echo -ne 'GET a' | pwmc $PWMC_ARGS datafile.tmp > result
25 cmp store.result1 result
26 rm -f result
28 echo
29 echo "Test 2. Empty content (fail)."
30 cp -f data/datafile data/datafile.tmp
31 echo -ne 'a\t' | pwmc $PWMC_ARGS --inquire STORE -S --keyid $KEYID datafile.tmp
32 set +o errexit
33 echo -ne 'GET a' | pwmc $PWMC_ARGS datafile.tmp > result
34 if [ ${PIPESTATUS[1]} == 0 ]; then
35 echo "The previous command should have failed. Stopping."
36 exit 1
39 set -e
41 echo
42 echo "Test 3. Child element content."
43 echo -ne 'a\tb\ta b value' | pwmc $PWMC_ARGS --inquire STORE -S datafile
44 echo -ne 'GET a\tb' | pwmc $PWMC_ARGS datafile > result
45 cmp store.result3 result
46 rm -f result
48 echo
49 echo "Test 4. Root targets."
50 echo -ne 'ATTR SET target b a' | pwmc $PWMC_ARGS -S datafile
51 echo -ne 'GET b\tb' | pwmc $PWMC_ARGS datafile > result
52 cmp store.result4 result
53 rm -f result
55 echo
56 echo "Test 5. Store target content."
57 echo -ne 'b\tb\ta b value' | pwmc $PWMC_ARGS --inquire STORE -S datafile
58 echo -ne 'GET b\tb' | pwmc $PWMC_ARGS datafile > result
59 cmp store.result5 result
60 rm -f result
62 echo "Test 6. Recursion loop."
63 cp -f data/datafile data/datafile.tmp
64 echo -ne 'ATTR SET target a b' | pwmc $PWMC_ARGS -S --keyid $KEYID datafile.tmp
65 echo -ne 'LIST --recurse' | pwmc $PWMC_ARGS datafile.tmp > result
66 cmp store.result6 result
67 rm -f result
69 echo
70 echo "Test 7. Recursion to parent (fail)."
71 set +o errexit
72 echo -ne 'ATTR SET target a\tb a' | pwmc $PWMC_ARGS -S --keyid $KEYID \
73 datafile.tmp
74 if [ ${PIPESTATUS[1]} == 0 ]; then
75 echo "The previous command should have failed. Stopping."
76 exit 1
79 set -e
81 echo
82 echo "Test 8. Target to child."
83 cp -f data/datafile data/datafile.tmp
84 echo -ne 'ATTR SET target a a\tb' | pwmc $PWMC_ARGS -S --keyid $KEYID \
85 datafile.tmp
86 echo -ne 'LIST --recurse' | pwmc $PWMC_ARGS datafile.tmp > result
87 cmp store.result8 result
88 rm -f result
90 echo
91 echo "Test 9. Create element at element with recursion loop (fail)."
92 echo -ne 'ATTR SET target a\tb b' | pwmc $PWMC_ARGS -S --keyid $KEYID \
93 datafile
94 set +o errexit
95 echo -ne 'a\tb\tc\t' | pwmc $PWMC_ARGS --inquire STORE -S --keyid $KEYID \
96 datafile
97 if [ ${PIPESTATUS[1]} == 0 ]; then
98 echo "The previous command should have failed. Stopping."
99 exit 1
102 set -e
104 echo
105 echo "Test 10. Create content at element with recursion loop (fail)."
106 set +o errexit
107 echo -ne 'a\tb\tcontent' | pwmc $PWMC_ARGS --inquire STORE -S --keyid $KEYID \
108 datafile
109 if [ ${PIPESTATUS[1]} == 0 ]; then
110 echo "The previous command should have failed. Stopping."
111 exit 1
114 set -e
115 test_success