def test_print_input_params(): check_template( ''' {% import "feature_fragments.j2" as frags %} {{ frags.print_input_params(request) }} ''', ''' mass, length, color ''', request=samplegen.FullRequest(request_list=[ samplegen.TransformedRequest( base="squid", body=[ samplegen.AttributeRequestSetup( field="mass", value="10 kg", input_parameter="mass"), samplegen.AttributeRequestSetup( field="length", value="20 m", input_parameter="length") ], single=None), samplegen.TransformedRequest( base="diameter", single=samplegen.AttributeRequestSetup(value="10 cm"), body=None), samplegen.TransformedRequest( base="color", single=samplegen.AttributeRequestSetup( value="red", input_parameter="color"), body=None), ]))
def test_render_request_params(): check_template( ''' {% import "feature_fragments.j2" as frags %} {{ frags.render_request_params(request) }} ''', ''' mollusc, length_meters=16, order='TEUTHIDA' ''', request=[ samplegen.TransformedRequest( base="length_meters", body=None, single=samplegen.AttributeRequestSetup(value="16")), samplegen.TransformedRequest( base="mollusc", body=[ samplegen.AttributeRequestSetup(field="video", value="path/to/video.mkv"), samplegen.AttributeRequestSetup(field="audio", value="path/to/audio.ogg") ], single=None), samplegen.TransformedRequest( base="order", body=None, single=samplegen.AttributeRequestSetup(value="'TEUTHIDA'")) ])
def test_render_method_call_basic_flattenable(): check_template(''' {% import "feature_fragments.j2" as frags %} {{ frags.render_method_call({"rpc": "CategorizeMollusc", "request": request}, calling_form, calling_form_enum) }} ''', ''' client.categorize_mollusc(video=video, audio=audio, guess=guess) ''', request=samplegen.FullRequest( request_list=[ samplegen.TransformedRequest(base="video", body=True, single=None), samplegen.TransformedRequest(base="audio", body=True, single=None), samplegen.TransformedRequest(base="guess", body=True, single=None) ], flattenable=True, ), calling_form_enum=CallingForm, calling_form=CallingForm.Request)
def test_render_method_call_basic_async(): check_template( ''' {% import "feature_fragments.j2" as frags %} {{ frags.render_method_call({"rpc": "CategorizeMollusc", "request": request}, calling_form, calling_form_enum, transport) }} ''', ''' await client.categorize_mollusc(request=request) ''', request=samplegen.FullRequest( request_list=[ samplegen.TransformedRequest(base="video", body=True, single=None), samplegen.TransformedRequest(base="audio", body=True, single=None), samplegen.TransformedRequest(base="guess", body=True, single=None) ], ), calling_form_enum=CallingForm, calling_form=CallingForm.Request, transport="grpc-async" )
def test_main_block(): check_template( ''' {% import "feature_fragments.j2" as frags %} {{ frags.render_main_block("ListMolluscs", request) }} ''', ''' def main(): import argparse parser = argparse.ArgumentParser() parser.add_argument("--order", type=str, default='coleoidea') parser.add_argument("--mass", type=str, default='60kg') args = parser.parse_args() sample_list_molluscs(args.order, args.mass) if __name__ == "__main__": main() ''', request=samplegen.FullRequest( request_list=[ samplegen.TransformedRequest(base="input_params", body=[ samplegen.AttributeRequestSetup( field="list_molluscs.order", value="'coleoidea'", input_parameter="order" ), samplegen.AttributeRequestSetup( field="list_molluscs.mass", value="'60kg'", input_parameter="mass") ], single=None), samplegen.TransformedRequest(base="enum_param", body=[ samplegen.AttributeRequestSetup( field="list_molluscs.zone", value="MESOPELAGIC" ) ], single=None) ] ) )
def test_render_request_resource_name(): check_template( ''' {% import "feature_fragments.j2" as frags %} {{ frags.render_request_setup(request) }} ''', ''' # Initialize request argument(s) taxon = "kingdom/{kingdom}/phylum/{phylum}".format(kingdom="animalia", phylum=mollusca) ''', request=samplegen.FullRequest(request_list=[ samplegen.TransformedRequest( base="taxon", single=None, body=[ samplegen.AttributeRequestSetup( field="kingdom", value='"animalia"', ), samplegen.AttributeRequestSetup( field="phylum", value="mollusca", input_parameter="mollusca", ) ], pattern="kingdom/{kingdom}/phylum/{phylum}"), ], flattenable=True), )
def test_render_method_call_client(): check_template( ''' {% import "feature_fragments.j2" as frags %} {{ frags.render_method_call({"rpc": "CategorizeMollusc", "request": request}, calling_form, calling_form_enum) }} ''', ''' client.categorize_mollusc([video]) ''', request=samplegen.FullRequest(request_list=[ samplegen.TransformedRequest(base="video", body=True, single=None) ]), calling_form_enum=CallingForm, calling_form=CallingForm.RequestStreamingClient)
def test_render_request_basic(): check_template(''' {% import "feature_fragments.j2" as frags %} {{ frags.render_request_setup(request) }} ''', ''' # Initialize request argument(s) cephalopod = {} # cephalopod_mass = '10 kg' cephalopod["mantle_mass"] = cephalopod_mass # photo_path = 'path/to/cephalopod/photo.jpg' with open(photo_path, "rb") as f: cephalopod["photo"] = f.read() cephalopod["order"] = Molluscs.Cephalopoda.Coleoidea gastropod = {} # gastropod_mass = '1 kg' gastropod["mantle_mass"] = gastropod_mass gastropod["order"] = Molluscs.Gastropoda.Pulmonata # movie_path = 'path/to/gastropod/movie.mkv' with open(movie_path, "rb") as f: gastropod["movie"] = f.read() ''', request=samplegen.FullRequest( request_list=[ samplegen.TransformedRequest( base="cephalopod", body=[ samplegen.AttributeRequestSetup( field="mantle_mass", value="'10 kg'", input_parameter="cephalopod_mass"), samplegen.AttributeRequestSetup( field="photo", value="'path/to/cephalopod/photo.jpg'", input_parameter="photo_path", value_is_file=True), samplegen.AttributeRequestSetup( field="order", value="Molluscs.Cephalopoda.Coleoidea"), ], single=None), samplegen.TransformedRequest( base="gastropod", body=[ samplegen.AttributeRequestSetup( field="mantle_mass", value="'1 kg'", input_parameter="gastropod_mass"), samplegen.AttributeRequestSetup( field="order", value="Molluscs.Gastropoda.Pulmonata"), samplegen.AttributeRequestSetup( field="movie", value="'path/to/gastropod/movie.mkv'", input_parameter="movie_path", value_is_file=True) ], single=None), ], flattenable=True, ))
def test_render_request_unflattened(): check_template( ''' {% import "feature_fragments.j2" as frags %} {{ frags.render_request_setup(request, "mollusca", "CreateMolluscRequest") }} ''', ''' # Initialize request argument(s) cephalopod = {} # cephalopod_mass = '10 kg' cephalopod["mantle_mass"] = cephalopod_mass # photo_path = 'path/to/cephalopod/photo.jpg' with open(photo_path, "rb") as f: cephalopod["photo"] = f.read() cephalopod["order"] = Molluscs.Cephalopoda.Coleoidea gastropod = {} # gastropod_mass = '1 kg' gastropod["mantle_mass"] = gastropod_mass gastropod["order"] = Molluscs.Gastropoda.Pulmonata # movie_path = 'path/to/gastropod/movie.mkv' with open(movie_path, "rb") as f: gastropod["movie"] = f.read() request = mollusca.CreateMolluscRequest( cephalopod=cephalopod, gastropod=gastropod, bivalve="humboldt", ) ''', request=samplegen.FullRequest(request_list=[ samplegen.TransformedRequest( base="cephalopod", body=[ samplegen.AttributeRequestSetup( field="mantle_mass", value="'10 kg'", input_parameter="cephalopod_mass"), samplegen.AttributeRequestSetup( field="photo", value="'path/to/cephalopod/photo.jpg'", input_parameter="photo_path", value_is_file=True), samplegen.AttributeRequestSetup( field="order", value="Molluscs.Cephalopoda.Coleoidea"), ], single=None), samplegen.TransformedRequest( base="gastropod", body=[ samplegen.AttributeRequestSetup( field="mantle_mass", value="'1 kg'", input_parameter="gastropod_mass"), samplegen.AttributeRequestSetup( field="order", value="Molluscs.Gastropoda.Pulmonata"), samplegen.AttributeRequestSetup( field="movie", value="'path/to/gastropod/movie.mkv'", input_parameter="movie_path", value_is_file=True) ], single=None), samplegen.TransformedRequest( base="bivalve", body=None, single='"humboldt"'), ]), api=common_types.DummyApiSchema(), )
def test_render_request_unflattened(): check_template( ''' {% import "feature_fragments.j2" as frags %} {{ frags.render_request_setup(request, module_name, request_type, calling_form, calling_form_enum) }} ''', ''' # Initialize request argument(s) cephalopod = mollusca.Cephalopod() # cephalopod_mass = '10 kg' cephalopod.mantle_mass = cephalopod_mass # photo_path = 'path/to/cephalopod/photo.jpg' with open(photo_path, "rb") as f: cephalopod.photo = f.read() cephalopod.order = Molluscs.Cephalopoda.Coleoidea gastropod = mollusca.Gastropod() # gastropod_mass = '1 kg' gastropod.mantle_mass = gastropod_mass gastropod.order = Molluscs.Gastropoda.Pulmonata # movie_path = 'path/to/gastropod/movie.mkv' with open(movie_path, "rb") as f: gastropod.movie = f.read() request = mollusca.CreateMolluscRequest( cephalopod=cephalopod, gastropod=gastropod, bivalve="humboldt", ) ''', request=samplegen.FullRequest( request_list=[ samplegen.TransformedRequest(base="cephalopod", body=[ samplegen.AttributeRequestSetup( field="mantle_mass", value="'10 kg'", input_parameter="cephalopod_mass" ), samplegen.AttributeRequestSetup( field="photo", value="'path/to/cephalopod/photo.jpg'", input_parameter="photo_path", value_is_file=True ), samplegen.AttributeRequestSetup( field="order", value="Molluscs.Cephalopoda.Coleoidea"), ], single=None), samplegen.TransformedRequest(base="gastropod", body=[ samplegen.AttributeRequestSetup( field="mantle_mass", value="'1 kg'", input_parameter="gastropod_mass" ), samplegen.AttributeRequestSetup( field="order", value="Molluscs.Gastropoda.Pulmonata" ), samplegen.AttributeRequestSetup( field="movie", value="'path/to/gastropod/movie.mkv'", input_parameter="movie_path", value_is_file=True ) ], single=None), samplegen.TransformedRequest(base="bivalve", body=None, single=samplegen.AttributeRequestSetup( value='"humboldt"', ),), ] ), module_name="mollusca", request_type=common_types.DummyMessage( fields={ "cephalopod": common_types.DummyField( name="cephalopod", type=common_types.DummyMessageTypePB(name="Cephalopod") ), "gastropod": common_types.DummyField( name="gastropod", type=common_types.DummyMessageTypePB(name="Gastropod") ) }, ident=common_types.DummyIdent(name="CreateMolluscRequest") ), calling_form_enum=CallingForm, calling_form=CallingForm.Request, )