Skip to content

Commit 3f035dc

Browse files
authored
Merge pull request #343 from smartdevicelink/bugfix/generator_tests
Fix failing RPC generator unit tests
2 parents a507078 + f99340c commit 3f035dc

File tree

6 files changed

+50
-25
lines changed

6 files changed

+50
-25
lines changed

generator/templates/base_struct_function.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{% extends 'base_template.js' %}
22

33
{% block typedef %}
4-
{%- if description is defined or deprecated is defined %}
4+
{%- if description is defined or deprecated is defined and deprecated is not none %}
55
/**
66
{% if description is defined -%}
77
{% for d in description -%}
@@ -10,7 +10,7 @@
1010
{% else -%}
1111
* Struct description not available.
1212
{% endif -%}
13-
{% if deprecated is defined -%}
13+
{% if deprecated is defined and deprecated is not none -%}
1414
* @deprecated
1515
{% endif -%}
1616
*/
@@ -76,7 +76,7 @@
7676

7777
/**
7878
* Get the {{method.method_title}}
79-
{% if deprecated is defined -%}
79+
{% if deprecated is defined and deprecated is not none -%}
8080
* @deprecated
8181
{% endif -%}
8282
* @returns {{'%s%s%s'|format('{', method.type, '}')}} - the {{method.key}} value

generator/test/runner.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@ def main():
3333
suite.addTests(TestLoader().loadTestsFromTestCase(CodeFormatAndQuality))
3434

3535
runner = TextTestRunner(verbosity=2)
36-
runner.run(suite)
36+
ret = not runner.run(suite).wasSuccessful()
37+
sys.exit(ret)
3738

3839

3940
if __name__ == '__main__':

generator/test/test_enums.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,17 @@ def test_FunctionID(self):
2727
expected['name'] = 'FunctionID'
2828
expected['imports'] = {self.producer.imports(what='Enum', wherefrom='../../util/Enum.js')}
2929
expected['methods'] = (self.producer.methods(method_title='RESERVED',
30-
description=[], type='Number'),
30+
description=[], type='Number', since=None, history=None, deprecated=None),
3131
self.producer.methods(method_title='RegisterAppInterface',
32-
description=[], type='Number'),
32+
description=[], type='Number', since=None, history=None, deprecated=None),
3333
self.producer.methods(method_title='PerformAudioPassThru',
34-
description=[], type='Number'))
34+
description=[], type='Number', since=None, history=None, deprecated=None))
3535
expected['params'] = (self.producer.params(key='RESERVED', value="'RESERVED'"),
3636
self.producer.params(key='RegisterAppInterface', value='0x01'),
3737
self.producer.params(key='PerformAudioPassThru', value='0x10'))
38+
expected['since'] = None
39+
expected['history'] = None
40+
expected['deprecated'] = None
3841
expected['extend'] = 'Enum'
3942
result = self.producer.transform(item)
4043
self.assertDictEqual(expected, result)
@@ -49,8 +52,11 @@ def test_Result(self):
4952
expected['file_name'] = 'Result'
5053
expected['imports'] = {self.producer.imports(what='Enum', wherefrom='../../util/Enum.js')}
5154
expected['methods'] = (self.producer.methods(method_title='SUCCESS',
52-
description=[], type='String'),)
55+
description=[], type='String', since=None, history=None, deprecated=None),)
5356
expected['params'] = (self.producer.params(key='SUCCESS', value="'SUCCESS'"),)
57+
expected['since'] = None
58+
expected['history'] = None
59+
expected['deprecated'] = None
5460
expected['extend'] = 'Enum'
5561
result = self.producer.transform(item)
5662
self.assertDictEqual(expected, result)

generator/test/test_functions.py

Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -85,22 +85,25 @@ def test_RegisterAppInterfaceRequest(self):
8585
expected['methods'] = (self.producer.methods(key='KEY_SDL_MSG_VERSION',
8686
method_title='SdlMsgVersion', external='SdlMsgVersion',
8787
description=['See SyncMsgVersion'], param_name='version',
88-
type='SdlMsgVersion'),
88+
type='SdlMsgVersion', param_values={}, since=None, history=None, deprecated=None),
8989
self.producer.methods(key='KEY_FULL_APP_ID', method_title='FullAppID',
9090
external=None, description=['ID used'], param_name='id',
91-
type='String'),
91+
type='String', param_values={}, since=None, history=None, deprecated=None),
9292
self.producer.methods(key='KEY_DAY_COLOR_SCHEME', param_name='scheme',
9393
method_title='DayColorScheme', external='TemplateColorScheme',
9494
description=['A color scheme for all display layout templates.'],
95-
type='TemplateColorScheme'),
95+
type='TemplateColorScheme', param_values={}, since=None, history=None, deprecated=None),
9696
self.producer.methods(key='KEY_TTS_NAME', param_name='name',
9797
method_title='TtsName', external='TTSChunk',
98-
description=['TTS string for'], type='TTSChunk[]'))
98+
description=['TTS string for'], type='TTSChunk[]', param_values={}, since=None, history=None, deprecated=None))
9999
expected['params'] = (self.producer.params(key='KEY_SDL_MSG_VERSION', value="'syncMsgVersion'"),
100100
self.producer.params(key='KEY_FULL_APP_ID', value="'fullAppID'"),
101101
self.producer.params(key='KEY_DAY_COLOR_SCHEME', value="'dayColorScheme'"),
102102
self.producer.params(key='KEY_TTS_NAME', value="'ttsName'"),
103103
self.producer.params(key='APP_ID_MAX_LENGTH', value=10))
104+
expected['since'] = None
105+
expected['history'] = None
106+
expected['deprecated'] = None
104107
expected['func'] = 'RegisterAppInterface'
105108
expected['extend'] = 'RpcRequest'
106109

@@ -128,14 +131,17 @@ def test_RegisterAppInterfaceResponse(self):
128131
expected['methods'] = (self.producer.methods(key='KEY_LANGUAGE',
129132
method_title='Language', external='Language',
130133
description=['The currently'], param_name='language',
131-
type='Language'),
134+
type='Language', param_values={}, since=None, history=None, deprecated=None),
132135
self.producer.methods(key='KEY_SUPPORTED_DIAG_MODES',
133136
method_title='SupportedDiagModes', external=None,
134137
description=['Specifies the'], param_name='modes',
135-
type='Number[]'))
138+
type='Number[]', param_values={}, since=None, history=None, deprecated=None))
136139
expected['params'] = (self.producer.params(key='KEY_LANGUAGE', value="'language'"),
137140
self.producer.params(key='KEY_SUPPORTED_DIAG_MODES', value="'supportedDiagModes'"))
138141
expected['description'] = ['The response']
142+
expected['since'] = None
143+
expected['history'] = None
144+
expected['deprecated'] = None
139145
expected['func'] = 'RegisterAppInterface'
140146
expected['extend'] = 'RpcResponse'
141147
result = self.producer.transform(item)
@@ -151,6 +157,9 @@ def test_UnregisterAppInterfaceRequest(self):
151157
self.producer.imports(what='FunctionID', wherefrom='../enums/FunctionID.js')}
152158
expected['methods'] = ()
153159
expected['params'] = ()
160+
expected['since'] = None
161+
expected['history'] = None
162+
expected['deprecated'] = None
154163
expected['func'] = 'UnregisterAppInterface'
155164
expected['extend'] = 'RpcRequest'
156165
result = self.producer.transform(item)
@@ -173,9 +182,12 @@ def test_PutFileRequest(self):
173182
expected['methods'] = (self.producer.methods(key='KEY_FILE_TYPE',
174183
method_title='FileType', external='FileType',
175184
description=['Selected file type.'], param_name='type',
176-
type='FileType'),)
185+
type='FileType', param_values={}, since=None, history=None, deprecated=None),)
177186
expected['params'] = (self.producer.params(key='KEY_FILE_TYPE', value="'fileType'"),)
178187
expected['description'] = ['Used to']
188+
expected['since'] = None
189+
expected['history'] = None
190+
expected['deprecated'] = None
179191
expected['script'] = self.producer.get_file_content('templates/scripts/PutFileRequest.js')
180192
expected['func'] = 'PutFile'
181193
expected['extend'] = 'RpcRequest'
@@ -196,9 +208,12 @@ def test_OnEncodedSyncPDataNotification(self):
196208
expected['methods'] = (self.producer.methods(key='KEY_URL',
197209
method_title='URL', external=None,
198210
description=['If'], param_name='url',
199-
type='String'),)
211+
type='String', param_values={}, since=None, history=None, deprecated=None),)
200212
expected['params'] = (self.producer.params(key='KEY_URL', value="'URL'"),)
201213
expected['description'] = ['Callback including']
214+
expected['since'] = None
215+
expected['history'] = None
216+
expected['deprecated'] = None
202217
expected['func'] = 'OnEncodedSyncPData'
203218
expected['extend'] = 'RpcNotification'
204219
result = self.producer.transform(item)
@@ -220,9 +235,12 @@ def test_CreateInteractionChoiceSetRequest(self):
220235
expected['methods'] = (self.producer.methods(key='KEY_CHOICE_SET',
221236
method_title='ChoiceSet', external='Choice',
222237
description=['A choice is an option given to'], param_name='set',
223-
type='Choice[]'),)
238+
type='Choice[]', param_values={}, since=None, history=None, deprecated=None),)
224239
expected['params'] = (self.producer.params(key='KEY_CHOICE_SET', value="'choiceSet'"),)
225240
expected['description'] = ['creates interaction']
241+
expected['since'] = None
242+
expected['history'] = None
243+
expected['deprecated'] = None
226244
expected['func'] = 'CreateInteractionChoiceSet'
227245
expected['extend'] = 'RpcRequest'
228246
result = self.producer.transform(item)

generator/test/test_structs.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,15 @@ def test_SoftButton(self):
3131
expected['methods'] = (
3232
self.producer.methods(
3333
description=['Optional image'], external='Image', key='KEY_IMAGE', method_title='Image',
34-
param_name='image', type='Image'),
34+
param_name='image', type='Image', param_values={}, deprecated=None, history=None, since=None),
3535
self.producer.methods(
3636
description=[], external=None, key='KEY_VALUE', method_title='ValueParam',
37-
param_name='value', type='String'))
37+
param_name='value', type='String', param_values={}, deprecated=None, history=None, since=None))
3838
expected['params'] = (self.producer.params(key='KEY_IMAGE', value="'image'"),
3939
self.producer.params(key='KEY_VALUE', value="'value'"))
40+
expected['since'] = None
41+
expected['history'] = None
42+
expected['deprecated'] = None
4043
expected['extend'] = 'RpcStruct'
4144
result = self.producer.transform(item)
4245
self.assertDictEqual(expected, result)

generator/transformers/common_producer.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -142,12 +142,9 @@ def transform(self, item) -> dict:
142142

143143
if getattr(item, 'description', None):
144144
render['description'] = self.extract_description(item.description)
145-
if item.deprecated:
146-
render['deprecated'] = item.deprecated
147-
if item.history:
148-
render['history'] = item.history
149-
if item.since:
150-
render['since'] = item.since
145+
render['since'] = item.since
146+
render['history'] = item.history
147+
render['deprecated'] = item.deprecated
151148

152149
self.custom_mapping(render, item)
153150

0 commit comments

Comments
 (0)