3
3
from polyapi .parser import parse_function_code
4
4
5
5
6
+ CODE_NO_TYPES = """
7
+ def foobar(a, b):
8
+ return a + b
9
+ """
10
+
6
11
SIMPLE_CODE = """
7
12
def foobar(n: int) -> int:
8
13
return 9
@@ -124,11 +129,21 @@ def foobar(foo: str, bar: Dict[str, str]) -> int:
124
129
'''
125
130
126
131
class T (unittest .TestCase ):
132
+ def test_no_types (self ):
133
+ deployable = parse_function_code (CODE_NO_TYPES , "foobar" )
134
+ types = deployable ["types" ]
135
+ self .assertEqual (len (types ["params" ]), 2 )
136
+ self .assertEqual (types ["params" ][0 ], {"name" : "a" , "type" : "Any" , "typeSchema" : None , "description" : "" })
137
+ self .assertEqual (types ["params" ][1 ], {"name" : "b" , "type" : "Any" , "typeSchema" : None , "description" : "" })
138
+ self .assertEqual (types ["returns" ]["type" ], "Any" )
139
+ self .assertIsNone (types ["returns" ]["typeSchema" ])
140
+ self .assertEqual (deployable ["dependencies" ], [])
141
+
127
142
def test_simple_types (self ):
128
143
deployable = parse_function_code (SIMPLE_CODE , "foobar" )
129
144
types = deployable ["types" ]
130
145
self .assertEqual (len (types ["params" ]), 1 )
131
- self .assertEqual (types ["params" ][0 ], {"name" : "n" , "type" : "int" , "description" : "" })
146
+ self .assertEqual (types ["params" ][0 ], {"name" : "n" , "type" : "int" , "typeSchema" : None , " description" : "" })
132
147
self .assertEqual (types ["returns" ]["type" ], "int" )
133
148
self .assertIsNone (types ["returns" ]["typeSchema" ])
134
149
self .assertEqual (deployable ["dependencies" ], [])
@@ -137,7 +152,7 @@ def test_complex_return_type(self):
137
152
deployable = parse_function_code (COMPLEX_RETURN_TYPE , "foobar" )
138
153
types = deployable ["types" ]
139
154
self .assertEqual (len (types ["params" ]), 1 )
140
- self .assertEqual (types ["params" ][0 ], {"name" : "n" , "type" : "int" , "description" : "" })
155
+ self .assertEqual (types ["params" ][0 ], {"name" : "n" , "type" : "int" , "typeSchema" : None , " description" : "" })
141
156
self .assertEqual (types ["returns" ]["type" ], "Barbar" )
142
157
self .assertEqual (types ["returns" ]["typeSchema" ]['title' ], "Barbar" )
143
158
@@ -153,7 +168,7 @@ def test_list_complex_return_type(self):
153
168
deployable = parse_function_code (LIST_COMPLEX_RETURN_TYPE , "foobar" )
154
169
types = deployable ["types" ]
155
170
self .assertEqual (len (types ["params" ]), 1 )
156
- self .assertEqual (types ["params" ][0 ], {"name" : "n" , "type" : "int" , "description" : "" })
171
+ self .assertEqual (types ["params" ][0 ], {"name" : "n" , "type" : "int" , "typeSchema" : None , " description" : "" })
157
172
self .assertEqual (types ["returns" ]["type" ], "List[Barbar]" )
158
173
self .assertEqual (types ["returns" ]["typeSchema" ]["items" ]['title' ], "Barbar" )
159
174
@@ -186,11 +201,13 @@ def test_parse_glide_server_function_bad_docstring(self):
186
201
self .assertEqual (deployable ["types" ]["params" ][0 ], {
187
202
"name" : "foo" ,
188
203
"type" : "Any" ,
204
+ "typeSchema" : None ,
189
205
"description" : "The foo in question"
190
206
})
191
207
self .assertEqual (deployable ["types" ]["params" ][1 ], {
192
208
"name" : "bar" ,
193
209
"type" : "Any" ,
210
+ "typeSchema" : None ,
194
211
"description" : "Configuration of bars"
195
212
})
196
213
self .assertEqual (deployable ["types" ]["returns" ], {
@@ -205,11 +222,13 @@ def test_parse_glide_server_function_ok_docstring(self):
205
222
self .assertEqual (deployable ["types" ]["params" ][0 ], {
206
223
"name" : "foo" ,
207
224
"type" : "str" ,
225
+ "typeSchema" : None ,
208
226
"description" : "The foo in question"
209
227
})
210
228
self .assertEqual (deployable ["types" ]["params" ][1 ], {
211
229
"name" : "bar" ,
212
230
"type" : "Dict[str, str]" ,
231
+ "typeSchema" : None ,
213
232
"description" : "Configuration of bars"
214
233
})
215
234
self .assertEqual (deployable ["types" ]["returns" ], {
0 commit comments