@@ -229,6 +229,105 @@ func TestPopulateParametersWithFilters(t *testing.T) {
229229 }
230230}
231231
232+ func TestPopulateQueryParametersWithInvalidNestedParameters (t * testing.T ) {
233+ for _ , spec := range []struct {
234+ msg proto.Message
235+ values url.Values
236+ filter * utilities.DoubleArray
237+ }{
238+ {
239+ msg : & proto3Message {},
240+ values : url.Values {
241+ "float_value.nested" : {"test" },
242+ },
243+ filter : utilities .NewDoubleArray (nil ),
244+ },
245+ {
246+ msg : & proto3Message {},
247+ values : url.Values {
248+ "double_value.nested" : {"test" },
249+ },
250+ filter : utilities .NewDoubleArray (nil ),
251+ },
252+ {
253+ msg : & proto3Message {},
254+ values : url.Values {
255+ "int64_value.nested" : {"test" },
256+ },
257+ filter : utilities .NewDoubleArray (nil ),
258+ },
259+ {
260+ msg : & proto3Message {},
261+ values : url.Values {
262+ "int32_value.nested" : {"test" },
263+ },
264+ filter : utilities .NewDoubleArray (nil ),
265+ },
266+ {
267+ msg : & proto3Message {},
268+ values : url.Values {
269+ "uint64_value.nested" : {"test" },
270+ },
271+ filter : utilities .NewDoubleArray (nil ),
272+ },
273+ {
274+ msg : & proto3Message {},
275+ values : url.Values {
276+ "uint32_value.nested" : {"test" },
277+ },
278+ filter : utilities .NewDoubleArray (nil ),
279+ },
280+ {
281+ msg : & proto3Message {},
282+ values : url.Values {
283+ "bool_value.nested" : {"test" },
284+ },
285+ filter : utilities .NewDoubleArray (nil ),
286+ },
287+ {
288+ msg : & proto3Message {},
289+ values : url.Values {
290+ "string_value.nested" : {"test" },
291+ },
292+ filter : utilities .NewDoubleArray (nil ),
293+ },
294+ {
295+ msg : & proto3Message {},
296+ values : url.Values {
297+ "repeated_value.nested" : {"test" },
298+ },
299+ filter : utilities .NewDoubleArray (nil ),
300+ },
301+ {
302+ msg : & proto3Message {},
303+ values : url.Values {
304+ "enum_value.nested" : {"test" },
305+ },
306+ filter : utilities .NewDoubleArray (nil ),
307+ },
308+ {
309+ msg : & proto3Message {},
310+ values : url.Values {
311+ "enum_value.nested" : {"test" },
312+ },
313+ filter : utilities .NewDoubleArray (nil ),
314+ },
315+ {
316+ msg : & proto3Message {},
317+ values : url.Values {
318+ "repeated_enum.nested" : {"test" },
319+ },
320+ filter : utilities .NewDoubleArray (nil ),
321+ },
322+ } {
323+ spec .msg .Reset ()
324+ err := runtime .PopulateQueryParameters (spec .msg , spec .values , spec .filter )
325+ if err == nil {
326+ t .Errorf ("runtime.PopulateQueryParameters(msg, %v, %v) did not fail; want error" , spec .values , spec .filter )
327+ }
328+ }
329+ }
330+
232331type proto3Message struct {
233332 Nested * proto2Message `protobuf:"bytes,1,opt,name=nested" json:"nested,omitempty"`
234333 NestedNonNull proto2Message `protobuf:"bytes,11,opt,name=nested_non_null" json:"nested_non_null,omitempty"`
0 commit comments