f30bf9560cdd86ba88b780d5ed3a008c08cd0d76
[rxpd] / tests / 30listmanipulation.tests
1 # we randomize ports to minimize collisions,
2 # this needs to be fixed someday (use netstat and check which port is free)
3
4 cp -af $srcdir/files ./
5 port=$((RANDOM+1500))
6 ./rxpd -dq -b files -p policy -t $port example
7
8 function rxpd_client()
9 {
10     nc localhost $port;
11 }
12
13 TESTING "list manipulation tests" rxpd_client
14
15
16 TEST "append to list 1" <<END
17 in: APPEND:test
18 in: # test list line 1
19 in: # test list line 2
20 in: #EXIT:
21 out: #OK:
22 END
23
24 TEST "append to list 1, check" <<END
25 in: DUMP:test
26 out: # test list line 1
27 out: # test list line 2
28 END
29
30
31 TEST "append to list 2" <<END
32 in: APPEND:test
33 in: # test list line 3
34 in: # test list line 4
35 in: #EXIT:
36 out: #OK:
37 END
38
39 TEST "append to list 2, check" <<END
40 in: DUMP:test
41 out: # test list line 1
42 out: # test list line 2
43 out: # test list line 3
44 out: # test list line 4
45 END
46
47
48 TEST "prepend to list 1" <<END
49 in: PREPEND:test
50 in: # test list line -2
51 in: # test list line -1
52 in: #EXIT:
53 out: #OK:
54 END
55
56 TEST "prepend to list 1, check" <<END
57 in: DUMP:test
58 out: # test list line -2
59 out: # test list line -1
60 out: # test list line 1
61 out: # test list line 2
62 out: # test list line 3
63 out: # test list line 4
64 END
65
66
67 TEST "prepend to list 2" <<END
68 in: PREPEND:test
69 in: # test list line -4
70 in: # test list line -3
71 in: #EXIT:
72 out: #OK:
73 END
74
75 TEST "prepend to list 2, check" <<END
76 in: DUMP:test
77 out: # test list line -4
78 out: # test list line -3
79 out: # test list line -2
80 out: # test list line -1
81 out: # test list line 1
82 out: # test list line 2
83 out: # test list line 3
84 out: # test list line 4
85 END
86
87
88 TEST "remove lines" <<END
89 in: REMOVE:test
90 in: # test list line -2
91 in: # test list line 2
92 in: #EXIT:
93 out: #OK:
94 out: #OK:
95 END
96
97 TEST "remove lines, check" <<END
98 in: DUMP:test
99 out: # test list line -4
100 out: # test list line -3
101 out: # test list line -1
102 out: # test list line 1
103 out: # test list line 3
104 out: # test list line 4
105 END
106
107
108 TEST "remove nonexisting line" <<END
109 in: REMOVE:test
110 in: # test list line 2
111 in: #EXIT:
112 out: #ERROR: line not found
113 END
114
115 TEST "replace nonexisting line" <<END
116 in: REPLACE:test
117 in: # test list line 2
118 in: # test list line new
119 in: #EXIT:
120 out: #ERROR: no rule matching '# test list line 2'
121 END
122
123
124 TEST "replace lines" <<END
125 in: REPLACE:test
126 in: # test list line -3
127 in: # test list line -3
128 in: # test list line -2
129 in: #EXIT:
130 out: #OK:
131 END
132
133 TEST "replace lines, check" <<END
134 in: DUMP:test
135 out: # test list line -4
136 out: # test list line -3
137 out: # test list line -2
138 out: # test list line -1
139 out: # test list line 1
140 out: # test list line 3
141 out: # test list line 4
142 END
143
144
145 TEST "save file" <<END
146 in: SAVE:test
147 out: #OK:
148 END
149
150 TEST "delete list" <<END
151 in: DELETE:test
152 out: #OK:
153 END
154
155 TEST "delete list, check" <<END
156 in: DUMP:test
157 out: #OK:
158 END
159
160 TEST "load file" <<END
161 in: LOAD:test
162 out: #OK:
163 END
164
165 TEST "load file, check" <<END
166 in: DUMP:test
167 out: # test list line -4
168 out: # test list line -3
169 out: # test list line -2
170 out: # test list line -1
171 out: # test list line 1
172 out: # test list line 3
173 out: # test list line 4
174 END
175
176
177 TEST "daemon shutdown" <<END
178 in: SHUTDOWN:
179 out: #OK:
180 END