File tree Expand file tree Collapse file tree 4 files changed +30
-18
lines changed
gapic/configurable_snippetgen
tests/unit/configurable_snippetgen Expand file tree Collapse file tree 4 files changed +30
-18
lines changed Original file line number Diff line number Diff line change 1414
1515import dataclasses
1616
17+ import inflection
1718import libcst
1819
1920from gapic .configurable_snippetgen import snippet_config_language_pb2
@@ -58,8 +59,22 @@ def sample_function_name(self) -> str:
5859 """The sample function's name.
5960
6061 For example:
61- "sample_create_custom_class_basic "
62+ "sample_create_custom_class_Basic "
6263 """
6364 snippet_method_name = self .config .signature .snippet_method_name
6465 config_id = self .config .metadata .config_id
6566 return f"sample_{ snippet_method_name } _{ config_id } "
67+
68+ @property
69+ def filename (self ) -> str :
70+ """The snippet's file name.
71+
72+ For example:
73+ "speech_v1_generated_Adaptation_create_custom_class_Basic_async.py"
74+ """
75+ module_name = self .config .rpc .proto_package .split ("." )[- 1 ]
76+ service_name = self .config .rpc .service_name
77+ snake_case_rpc_name = inflection .underscore (self .config .rpc .rpc_name )
78+ config_id = self .config .metadata .config_id
79+ sync_or_async = "sync" if self .is_sync else "async"
80+ return f"{ module_name } _{ self .api_version } _generated_{ service_name } _{ snake_case_rpc_name } _{ config_id } _{ sync_or_async } .py"
Original file line number Diff line number Diff line change @@ -10,4 +10,5 @@ setuptools==65.6.3
1010grpc-google-iam-v1 == 0.12.4
1111proto-plus == 1.22.1
1212pytest-asyncio == 0.20.2
13- libcst == 0.4.9
13+ libcst == 0.4.9
14+ inflection == 0.5.1
Original file line number Diff line number Diff line change 3434 "pypandoc >= 1.4" ,
3535 "PyYAML >= 5.1.1" ,
3636 "grpc-google-iam-v1 >= 0.12.4, < 1.0.0dev" ,
37- "libcst >= 0.4.9" ,
37+ "libcst >= 0.4.9, < 1.0.0dev" ,
38+ "inflection >= 0.5.1, < 1.0.0dev" ,
3839]
3940
4041package_root = os .path .abspath (os .path .dirname (__file__ ))
Original file line number Diff line number Diff line change @@ -76,36 +76,31 @@ def _make_configured_snippet(
7676 )
7777
7878
79- def test_region_tag ():
80- snippet = _make_configured_snippet (
79+ @pytest .fixture
80+ def snippet ():
81+ return _make_configured_snippet (
8182 SPEECH_V1_REQUEST_PATH ,
8283 CONFIG_JSON_PATH ,
8384 api_version = "v1" ,
8485 is_sync = True )
8586
87+
88+ def test_region_tag (snippet ):
8689 assert (
8790 snippet .region_tag
8891 == "speech_v1_config_Adaptation_CreateCustomClass_Basic_sync"
8992 )
9093
9194
92- def test_sample_function_name ():
93- snippet = _make_configured_snippet (
94- SPEECH_V1_REQUEST_PATH ,
95- CONFIG_JSON_PATH ,
96- api_version = "v1" ,
97- is_sync = True )
98-
95+ def test_sample_function_name (snippet ):
9996 assert snippet .sample_function_name == "sample_create_custom_class_Basic"
10097
10198
102- def test_code ():
103- snippet = _make_configured_snippet (
104- SPEECH_V1_REQUEST_PATH ,
105- CONFIG_JSON_PATH ,
106- api_version = "v1" ,
107- is_sync = True )
99+ def test_filename (snippet ):
100+ assert snippet .filename == "speech_v1_generated_Adaptation_create_custom_class_Basic_sync.py"
101+
108102
103+ def test_code (snippet ):
109104 # https://github.com/googleapis/gapic-generator-python/issues/1522
110105 # Placeholder code. We will gradually add to the ConfiguredSnippet class
111106 # until the generated code is the same as that of the golden file.
You can’t perform that action at this time.
0 commit comments