Skip to content

Commit 78c06c2

Browse files
committed
test: Refactor so 'bobject' is used rather than internal function
This will make it easier to ensure that command line arguments are parsed properly (the tests also look cleaner)
1 parent 13a3050 commit 78c06c2

7 files changed

+65
-80
lines changed

tests/get-errors-invalid-dereferenced-vobj-type.bats

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ load './util/init.sh'
99
declare -a whatever=()
1010
declare -A OBJECT=([my_key]=$'\x1C\x1Dtype=object;&whatever')
1111

12-
run bash_object.traverse-get object OBJECT '.my_key'
12+
run bobject get-object OBJECT '.my_key'
1313

1414
assert_failure
1515
assert_line -p "ERROR_VOBJ_INCORRECT_TYPE"
@@ -22,7 +22,7 @@ load './util/init.sh'
2222

2323
declare -A OBJECT=([my_key]=$'\x1C\x1Dtype=object;&whatever')
2424

25-
run bash_object.traverse-get object OBJECT '.my_key'
25+
run bobject get-object OBJECT '.my_key'
2626

2727
assert_failure
2828
assert_line -p "ERROR_VOBJ_INCORRECT_TYPE"

tests/get-errors-invalid-vobj-type.bats

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ load './util/init.sh'
99
@test "Error on get-object'ing string" {
1010
declare -A OBJECT=([my_key]='string_value2')
1111

12-
run bash_object.traverse-get object OBJECT '.my_key'
12+
run bobject get-object OBJECT '.my_key'
1313

1414
assert_failure
1515
assert_line -p "ERROR_ARGUMENTS_INCORRECT_TYPE"
@@ -20,7 +20,7 @@ load './util/init.sh'
2020
declare -A SUB_OBJECT=([nested]='string_value')
2121
declare -A OBJECT=([my_key]=$'\x1C\x1Dtype=object;&SUB_OBJECT')
2222

23-
run bash_object.traverse-get object OBJECT '.my_key.nested'
23+
run bobject get-object OBJECT '.my_key.nested'
2424

2525
assert_failure
2626
assert_line -p "ERROR_ARGUMENTS_INCORRECT_TYPE"
@@ -31,7 +31,7 @@ load './util/init.sh'
3131
declare -a SUB_ARRAY=(upsilon phi chi psi omicron)
3232
declare -A OBJECT=([my_key]=$'\x1C\x1Dtype=array;&SUB_ARRAY')
3333

34-
run bash_object.traverse-get object OBJECT '.["my_key"].[3]'
34+
run bobject get-object OBJECT '.["my_key"].[3]'
3535

3636
assert_failure
3737
assert_line -p "ERROR_ARGUMENTS_INCORRECT_TYPE"
@@ -42,7 +42,7 @@ load './util/init.sh'
4242
declare -a SUB_ARRAY=(omicron pi rho)
4343
declare -A OBJECT=([my_key]=$'\x1C\x1Dtype=array;&SUB_ARRAY')
4444

45-
run bash_object.traverse-get object OBJECT '.my_key'
45+
run bobject get-object OBJECT '.my_key'
4646

4747
assert_failure
4848
assert_line -p "ERROR_ARGUMENTS_INCORRECT_TYPE"
@@ -54,7 +54,7 @@ load './util/init.sh'
5454
declare -A SUB_OBJECT=([nested]=$'\x1C\x1Dtype=array;&SUB_SUB_ARRAY')
5555
declare -A OBJECT=([my_key]=$'\x1C\x1Dtype=array;&SUB_OBJECT')
5656

57-
run bash_object.traverse-get object OBJECT '.my_key.nested'
57+
run bobject get-object OBJECT '.my_key.nested'
5858

5959
assert_failure
6060
assert_line -p "ERROR_ARGUMENTS_INCORRECT_TYPE"
@@ -66,7 +66,7 @@ load './util/init.sh'
6666
declare -a SUB_ARRAY=(upsilon phi chi $'\x1C\x1Dtype=array;&SUB_SUB_ARRAY')
6767
declare -A OBJECT=([my_key]=$'\x1C\x1Dtype=array;&SUB_ARRAY')
6868

69-
run bash_object.traverse-get object OBJECT '.["my_key"].[3]'
69+
run bobject get-object OBJECT '.["my_key"].[3]'
7070

7171
assert_failure
7272
assert_line -p "ERROR_ARGUMENTS_INCORRECT_TYPE"
@@ -77,7 +77,7 @@ load './util/init.sh'
7777
@test "Error on get-array'ing string" {
7878
declare -A OBJECT=([my_key]='string_value2')
7979

80-
run bash_object.traverse-get array OBJECT '.my_key'
80+
run bobject get-array OBJECT '.my_key'
8181

8282
assert_failure
8383
assert_line -p "ERROR_ARGUMENTS_INCORRECT_TYPE"
@@ -88,7 +88,7 @@ load './util/init.sh'
8888
declare -A SUB_OBJECT=([nested]='string_value')
8989
declare -A OBJECT=([my_key]=$'\x1C\x1Dtype=object;&SUB_OBJECT')
9090

91-
run bash_object.traverse-get array OBJECT '.my_key.nested'
91+
run bobject get-array OBJECT '.my_key.nested'
9292

9393
assert_failure
9494
assert_line -p "ERROR_ARGUMENTS_INCORRECT_TYPE"
@@ -99,7 +99,7 @@ load './util/init.sh'
9999
declare -a SUB_ARRAY=(epsilon zeta eta)
100100
declare -A OBJECT=([my_key]=$'\x1C\x1Dtype=object;&SUB_ARRAY')
101101

102-
run bash_object.traverse-get array OBJECT '.["my_key"].[2]'
102+
run bobject get-array OBJECT '.["my_key"].[2]'
103103

104104
assert_failure
105105
assert_line -p "ERROR_ARGUMENTS_INCORRECT_TYPE"
@@ -110,7 +110,7 @@ load './util/init.sh'
110110
declare -A SUB_OBJECT=([omicron]='pi')
111111
declare -A OBJECT=([my_key]=$'\x1C\x1Dtype=object;&SUB_OBJECT')
112112

113-
run bash_object.traverse-get array OBJECT '.my_key'
113+
run bobject get-array OBJECT '.my_key'
114114

115115
assert_failure
116116
assert_line -p "ERROR_ARGUMENTS_INCORRECT_TYPE"
@@ -122,7 +122,7 @@ load './util/init.sh'
122122
declare -A SUB_OBJECT=([nested]=$'\x1C\x1Dtype=object;&SUB_SUB_OBJECT')
123123
declare -A OBJECT=([my_key]=$'\x1C\x1Dtype=object;&SUB_OBJECT')
124124

125-
run bash_object.traverse-get array OBJECT '.my_key.nested'
125+
run bobject get-array OBJECT '.my_key.nested'
126126

127127
assert_failure
128128
assert_line -p "ERROR_ARGUMENTS_INCORRECT_TYPE"
@@ -134,7 +134,7 @@ load './util/init.sh'
134134
declare -a SUB_ARRAY=(epsilon $'\x1C\x1Dtype=object;&SUB_SUB_OBJECT' zeta)
135135
declare -A OBJECT=([my_key]=$'\x1C\x1Dtype=array;&SUB_ARRAY')
136136

137-
run bash_object.traverse-get array OBJECT '.["my_key"].[1]'
137+
run bobject get-array OBJECT '.["my_key"].[1]'
138138

139139
assert_failure
140140
assert_line -p "ERROR_ARGUMENTS_INCORRECT_TYPE"
@@ -146,7 +146,7 @@ load './util/init.sh'
146146
declare -A SUB_OBJECT=([omicron]='pi')
147147
declare -A OBJECT=([my_key]=$'\x1C\x1Dtype=object;&SUB_OBJECT')
148148

149-
run bash_object.traverse-get string OBJECT '.my_key'
149+
run bobject get-string OBJECT '.my_key'
150150

151151
assert_failure
152152
assert_line -p "ERROR_ARGUMENTS_INCORRECT_TYPE"
@@ -158,7 +158,7 @@ load './util/init.sh'
158158
declare -A SUB_OBJECT=([nested]=$'\x1C\x1Dtype=object;&SUB_SUB_OBJECT')
159159
declare -A OBJECT=([my_key]=$'\x1C\x1Dtype=object;&SUB_OBJECT')
160160

161-
run bash_object.traverse-get string OBJECT '.my_key.nested'
161+
run bobject get-string OBJECT '.my_key.nested'
162162

163163
assert_failure
164164
assert_line -p "ERROR_ARGUMENTS_INCORRECT_TYPE"
@@ -170,7 +170,7 @@ load './util/init.sh'
170170
declare -a SUB_ARRAY=(epislon zeta eta $'\x1C\x1Dtype=object;&SUB_SUB_OBJECT')
171171
declare -A OBJECT=([my_key]=$'\x1C\x1Dtype=array;&SUB_ARRAY')
172172

173-
run bash_object.traverse-get string OBJECT '.["my_key"].[3]'
173+
run bobject get-string OBJECT '.["my_key"].[3]'
174174

175175
assert_failure
176176
assert_line -p "ERROR_ARGUMENTS_INCORRECT_TYPE"
@@ -181,7 +181,7 @@ load './util/init.sh'
181181
declare -a SUB_ARRAY=(omicron pi rho)
182182
declare -A OBJECT=([my_key]=$'\x1C\x1Dtype=array;&SUB_ARRAY')
183183

184-
run bash_object.traverse-get string OBJECT '.my_key'
184+
run bobject get-string OBJECT '.my_key'
185185

186186
assert_failure
187187
assert_line -p "ERROR_ARGUMENTS_INCORRECT_TYPE"
@@ -193,7 +193,7 @@ load './util/init.sh'
193193
declare -A SUB_OBJECT=([nested]=$'\x1C\x1Dtype=array;&SUB_SUB_ARRAY')
194194
declare -A OBJECT=([my_key]=$'\x1C\x1Dtype=array;&SUB_OBJECT')
195195

196-
run bash_object.traverse-get string OBJECT '.my_key.nested'
196+
run bobject get-string OBJECT '.my_key.nested'
197197

198198
assert_failure
199199
assert_line -p "ERROR_ARGUMENTS_INCORRECT_TYPE"
@@ -205,7 +205,7 @@ load './util/init.sh'
205205
declare -a SUB_ARRAY=(omicron pi $'\x1C\x1Dtype=array;&SUB_SUB_ARRAY')
206206
declare -A OBJECT=([my_key]=$'\x1C\x1Dtype=array;&SUB_ARRAY')
207207

208-
run bash_object.traverse-get string OBJECT '.["my_key"].[2]'
208+
run bobject get-string OBJECT '.["my_key"].[2]'
209209

210210
assert_failure
211211
assert_line -p "ERROR_ARGUMENTS_INCORRECT_TYPE"

tests/get-errors-param.bats

Lines changed: 6 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,52 +1,37 @@
11
#!/usr/bin/env bats
22

33
# @brief Contains tests that ensure the positional
4-
# parameters have been validated properly, when possible
4+
# parameters have been validated properly, when possible. \$1 is not
5+
# tested because bobject.sh always sets the first positional parameter
56

67
load './util/init.sh'
78

8-
@test "Error with \$# of 1" {
9-
run bash_object.traverse-get string
10-
11-
assert_failure
12-
assert_line -p "ERROR_ARGUMENTS_INVALID"
13-
assert_line -p ", but received '1'"
14-
}
15-
169
@test "Error with \$# of 2" {
17-
run bash_object.traverse-get string 'OBJECT'
10+
run bobject get-string 'OBJECT'
1811

1912
assert_failure
2013
assert_line -p "ERROR_ARGUMENTS_INVALID"
2114
assert_line -p ", but received '2'"
2215
}
2316

2417
@test "Error with \$# of 4" {
25-
run bash_object.traverse-get string 'OBJECT' '.obj' extraneous
18+
run bobject get-string 'OBJECT' '.obj' extraneous
2619

2720
assert_failure
2821
assert_line -p "ERROR_ARGUMENTS_INVALID"
2922
assert_line -p ", but received '4'"
3023
}
3124

32-
@test "Error on empty \$1" {
33-
run bash_object.traverse-get "" 'OBJECT' '.obj'
34-
35-
assert_failure
36-
assert_line -p "ERROR_ARGUMENTS_INVALID"
37-
assert_line -p "'1' is empty"
38-
}
39-
4025
@test "Error on empty \$2" {
41-
run bash_object.traverse-get string "" '.obj'
26+
run bobject get-string "" '.obj'
4227

4328
assert_failure
4429
assert_line -p "ERROR_ARGUMENTS_INVALID"
4530
assert_line -p "'2' is empty"
4631
}
4732

4833
@test "Error on empty \$3" {
49-
run bash_object.traverse-get string 'OBJECT' ""
34+
run bobject get-string 'OBJECT' ""
5035

5136
assert_failure
5237
assert_line -p "ERROR_ARGUMENTS_INVALID"

tests/get-old.bats

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ load './util/init.sh'
1313
declare -A inner_object=([cool]='Wolf 359')
1414
declare -A OBJ=([stars]=$'\x1C\x1Dtype=object;&inner_object')
1515

16-
bash_object.traverse-get object 'OBJ' '.stars'
16+
bobject get-object 'OBJ' '.stars'
1717
assert [ "${REPLY[cool]}" = 'Wolf 359' ]
1818

19-
bash_object.traverse-get string 'OBJ' '.stars.cool'
19+
bobject get-string 'OBJ' '.stars.cool'
2020
assert [ "$REPLY" = 'Wolf 359' ]
2121
}
2222

@@ -25,10 +25,10 @@ load './util/init.sh'
2525
declare -A SUB_OBJECT=([delta]=$'\x1C\x1Dtype=object;&SUB_SUB_OBJECT')
2626
declare -A OBJ=([gamma]=$'\x1C\x1Dtype=object;&SUB_OBJECT')
2727

28-
bash_object.traverse-get object 'OBJ' '.gamma.delta'
28+
bobject get-object 'OBJ' '.gamma.delta'
2929
assert [ "${REPLY[omicron]}" = pi ]
3030

31-
bash_object.traverse-get string 'OBJ' '.gamma.delta.omicron'
31+
bobject get-string 'OBJ' '.gamma.delta.omicron'
3232
assert [ "$REPLY" = pi ]
3333
}
3434

@@ -37,18 +37,18 @@ load './util/init.sh'
3737
declare -A SUB_OBJECT=([delta]=$'\x1C\x1Dtype=object;&SUB_SUB_OBJECT')
3838
declare -A OBJ=([gamma]=$'\x1C\x1Dtype=object;&SUB_OBJECT')
3939

40-
bash_object.traverse-get object 'OBJ' '.gamma.delta'
40+
bobject get-object 'OBJ' '.gamma.delta'
4141
assert [ "${REPLY[omicron]}" = pi ]
4242
assert [ "${REPLY[rho]}" = sigma ]
4343
assert [ "${REPLY[tau]}" = upsilon ]
4444

45-
bash_object.traverse-get string 'OBJ' '.gamma.delta.omicron'
45+
bobject get-string 'OBJ' '.gamma.delta.omicron'
4646
assert [ "$REPLY" = pi ]
4747

48-
bash_object.traverse-get string 'OBJ' '.gamma.delta.rho'
48+
bobject get-string 'OBJ' '.gamma.delta.rho'
4949
assert [ "$REPLY" = sigma ]
5050

51-
bash_object.traverse-get string 'OBJ' '.gamma.delta.tau'
51+
bobject get-string 'OBJ' '.gamma.delta.tau'
5252
assert [ "$REPLY" = upsilon ]
5353
}
5454

@@ -57,10 +57,10 @@ load './util/init.sh'
5757
declare -a SUB_ARRAY=('foo' 'bar' $'\x1C\x1Dtype=object;&SUB_SUB_OBJECT')
5858
declare -A OBJ=([omicron]=$'\x1C\x1Dtype=array;&SUB_ARRAY')
5959

60-
bash_object.traverse-get object 'OBJ' '.["omicron"].[2]'
60+
bobject get-object 'OBJ' '.["omicron"].[2]'
6161
assert [ "${REPLY[pi]}" = rho ]
6262

63-
bash_object.traverse-get string 'OBJ' '.["omicron"].[2].["pi"]'
63+
bobject get-string 'OBJ' '.["omicron"].[2].["pi"]'
6464
assert [ "$REPLY" = rho ]
6565
}
6666

@@ -69,13 +69,13 @@ load './util/init.sh'
6969
declare -a SUB_ARRAY=(omicron pi rho)
7070
declare -A OBJECT=([my_key]=$'\x1C\x1Dtype=array;&SUB_ARRAY')
7171

72-
bash_object.traverse-get array OBJECT '.my_key'
72+
bobject get-array OBJECT '.my_key'
7373
assert [ ${#REPLY[@]} -eq 3 ]
7474
assert [ "${REPLY[0]}" = omicron ]
7575
assert [ "${REPLY[1]}" = pi ]
7676
assert [ "${REPLY[2]}" = rho ]
7777

78-
bash_object.traverse-get string OBJECT '.["my_key"].[2]'
78+
bobject get-string OBJECT '.["my_key"].[2]'
7979
assert [ "$REPLY" = rho ]
8080
}
8181

@@ -84,13 +84,13 @@ load './util/init.sh'
8484
declare -A SUB_OBJECT=([subkey]=$'\x1C\x1Dtype=array;&SUB_SUB_ARRAY')
8585
declare -A OBJECT=([my_key]=$'\x1C\x1Dtype=object;&SUB_OBJECT')
8686

87-
bash_object.traverse-get array OBJECT '.my_key.subkey'
87+
bobject get-array OBJECT '.my_key.subkey'
8888
assert [ ${#REPLY[@]} -eq 3 ]
8989
assert [ "${REPLY[0]}" = pi ]
9090
assert [ "${REPLY[1]}" = rho ]
9191
assert [ "${REPLY[2]}" = sigma ]
9292

93-
bash_object.traverse-get string OBJECT '.["my_key"].["subkey"].[2]'
93+
bobject get-string OBJECT '.["my_key"].["subkey"].[2]'
9494
assert [ "$REPLY" = sigma ]
9595
}
9696

@@ -99,29 +99,29 @@ load './util/init.sh'
9999
declare -a SUB_ARRAY=('foo' 'bar' $'\x1C\x1Dtype=array;&SUB_SUB_ARRAY')
100100
declare -A OBJECT=([my_key]=$'\x1C\x1Dtype=array;&SUB_ARRAY')
101101

102-
bash_object.traverse-get array OBJECT '.["my_key"].[2]'
102+
bobject get-array OBJECT '.["my_key"].[2]'
103103
assert [ ${#REPLY[@]} -eq 3 ]
104104
assert [ "${REPLY[0]}" = omicron ]
105105
assert [ "${REPLY[1]}" = pi ]
106106
assert [ "${REPLY[2]}" = rho ]
107107

108108

109-
bash_object.traverse-get string OBJECT '.["my_key"].[2].[0]'
109+
bobject get-string OBJECT '.["my_key"].[2].[0]'
110110
assert [ "$REPLY" = omicron ]
111111
}
112112

113113
@test "Correctly gets string at root" {
114114
declare -A OBJECT=([my_key]='my_value')
115115

116-
bash_object.traverse-get string OBJECT '.my_key'
116+
bobject get-string OBJECT '.my_key'
117117
assert [ "$REPLY" = 'my_value' ]
118118
}
119119

120120
@test "Correctly gets string" {
121121
declare -A EPSILON_OBJECT=([my_key]='my_value2')
122122
declare -A OBJECT=([epsilon]=$'\x1C\x1Dtype=object;&EPSILON_OBJECT')
123123

124-
bash_object.traverse-get string OBJECT '.epsilon.my_key'
124+
bobject get-string OBJECT '.epsilon.my_key'
125125
assert [ "$REPLY" = 'my_value2' ]
126126
}
127127

@@ -130,10 +130,10 @@ load './util/init.sh'
130130
declare -A obj_alfa=([bravo]=$'\x1C\x1Dtype=object;&obj_bravo')
131131
declare -A OBJ=([alfa]=$'\x1C\x1Dtype=object;&obj_alfa')
132132

133-
bash_object.traverse-get object 'OBJ' '.alfa.bravo'
133+
bobject get-object 'OBJ' '.alfa.bravo'
134134
assert [ "${REPLY[charlie]}" = 'delta' ]
135135

136-
bash_object.traverse-get string 'OBJ' '.alfa.bravo.charlie'
136+
bobject get-string 'OBJ' '.alfa.bravo.charlie'
137137
assert [ "$REPLY" = 'delta' ]
138138
}
139139

@@ -144,9 +144,9 @@ load './util/init.sh'
144144
declare -A obj_alfa=([bravo]=$'\x1C\x1Dtype=object;&obj_bravo')
145145
declare -A OBJ=([alfa]=$'\x1C\x1Dtype=object;&obj_alfa')
146146

147-
bash_object.traverse-get object 'OBJ' '.alfa.bravo.charlie.delta'
147+
bobject get-object 'OBJ' '.alfa.bravo.charlie.delta'
148148
assert [ "${REPLY[echo]}" = 'final_value' ]
149149

150-
bash_object.traverse-get string 'OBJ' '.alfa.bravo.charlie.delta.echo'
150+
bobject get-string 'OBJ' '.alfa.bravo.charlie.delta.echo'
151151
assert [ "$REPLY" = 'final_value' ]
152152
}

0 commit comments

Comments
 (0)