@@ -110,6 +110,15 @@ def schema_to_boofuzz(schema: broker.SchemaDescription) -> BoofuzzSequence:
110110
111111 if isinstance (value , dict ):
112112 res += schema_to_boofuzz (value )
113+ elif isinstance (value , list ):
114+ [boofuzz .Static (default_value = "[" )]
115+ for item in value :
116+ res += schema_to_boofuzz (item )
117+ res .append (boofuzz .Delim (default_value = "," , fuzzable = fuzz_delimiters ))
118+ # last boofuzz.Delim "," should be removed if presented
119+ if len (value ) > 0 :
120+ res = res [:- 1 ]
121+ [boofuzz .Static (default_value = "]" )]
113122 elif isinstance (value , str ):
114123 res .append (boofuzz .String (default_value = f'"{ value } "' ))
115124 elif isinstance (value , bool ):
@@ -397,6 +406,11 @@ def fuzz(host: str, port: int, request: Optional[str] = None) -> None:
397406 "OpenQueue" , children = (make_control_message (broker .OPEN_QUEUE_SCHEMA ))
398407 )
399408
409+ configure_stream = boofuzz .Request (
410+ "ConfigureStream" ,
411+ children = (make_control_message (broker .CONFIGURE_STREAM_SCHEMA )),
412+ )
413+
400414 configure_queue_stream = boofuzz .Request (
401415 "ConfigureQueueStream" ,
402416 children = (make_control_message (broker .CONFIGURE_QUEUE_STREAM_SCHEMA )),
@@ -418,6 +432,7 @@ def fuzz(host: str, port: int, request: Optional[str] = None) -> None:
418432 (authentication , "authentication" ),
419433 (negotiation , "negotiation" ),
420434 (open_queue , "open_queue" ),
435+ (configure_stream , "configure_stream" ),
421436 (configure_queue_stream , "configure_queue_stream" ),
422437 (put , "put" ),
423438 (confirm , "confirm" ),
0 commit comments