@@ -269,218 +269,67 @@ module.exports = function (appClient) {
269269 const sdlManager = appClient . _sdlManager ;
270270 const lifecycleManager = sdlManager . _lifecycleManager ;
271271
272- const stub = sinon . stub ( lifecycleManager , 'addRpcListener' )
273- . callsFake ( function ( functionId , callback ) {
274- if ( functionId === SDL . rpc . enums . FunctionID . OnHMIStatus )
275- {
276- const responseSuccess = new SDL . rpc . messages . OnHMIStatus ( {
277- functionName : SDL . rpc . enums . FunctionID . OnHMIStatus ,
278- } )
279- //Raed: this is should be HMI_FULL
280- . setHmiLevel ( SDL . rpc . enums . HMILevel . HMI_NONE ) ;
281- //lifecycleManager._handleRpc(responseSuccess);
282-
283- //return new Promise((resolve, reject) => {
284- // resolve(responseSuccess);
285- //});
286- }
287- } ) ;
288-
289- const scm = new SDL . manager . SystemCapabilityManager ( lifecycleManager ) ;
290- const rpcStub = sinon . stub ( lifecycleManager , 'sendRpcMessage' )
291- . callsFake ( function ( ) {
292- const systemCapability = new SDL . rpc . structs . SystemCapability ( )
293- . setSystemCapabilityType ( SDL . rpc . enums . SystemCapabilityType . VIDEO_STREAMING )
294- . setVideoStreamingCapability ( new SDL . rpc . structs . VideoStreamingCapability ( ) ) ;
295- const responseSuccess = new SDL . rpc . messages . GetSystemCapabilityResponse ( {
296- functionName : SDL . rpc . enums . FunctionID . GetSystemCapabilityResponse ,
297- } )
298- . setSystemCapability ( systemCapability )
299- . setResultCode ( 'SUCCESS' )
300- . setCorrelationId ( 1000000 )
301- . setSuccess ( true ) ;
302- lifecycleManager . _handleRpc ( responseSuccess ) ;
303-
304- return new Promise ( ( resolve , reject ) => {
305- resolve ( responseSuccess ) ;
306- } ) ;
307- } ) ;
308- scm . _videoStreamingCapability = null ;
309- const retrievedCapability = scm . getCapability ( SDL . rpc . enums . SystemCapabilityType . VIDEO_STREAMING ) ;
310- await scm . updateCapability ( SDL . rpc . enums . SystemCapabilityType . VIDEO_STREAMING ) ;
311- Validator . assertNull ( retrievedCapability ) ;
312- Validator . assertTrue ( rpcStub . calledOnce ) ;
313- rpcStub . restore ( ) ;
314- stub . restore ( ) ;
315-
316- // Test case 2 (capability cached, listener not null, forceUpdate true)
317- /*lifecycleManager = sdlManager._lifecycleManager;
318- const HMIStatusAnswer = sinon.stub(internalInterface,'addOnRPCListener')
319- .callsFake(createOnHMIStatusAnswer(HMILevel.HMI_FULL));
320- scm = new reateSampleManager(lifecycleManager);
321- SystemCapabilityAnswer = sinon.stub(internalInterface,'sendRPC')
322- .callsFake(createOnSendGetSystemCapabilityAnswer(true, null, scm));
323- scm._setCapability(SDL.rpc.enums.SystemCapabilityType.VIDEO_STREAMING, videoStreamingCapability);
324- retrievedCapability = scm.getCapability(SDL.rpc.enums.SystemCapabilityType.VIDEO_STREAMING, onSystemCapabilityListener, true);
325- Validator.assertTrue(Validator.validateVideoStreamingCapability(systemCapability.getCapabilityForType(SDL.rpc.enums.SystemCapabilityType.VIDEO_STREAMING), retrievedCapability));
326- verify(internalInterface, times(1)).sendRPC(any(GetSystemCapability.class));
327- verify(scm, times(1)).onCapabilityRetrieved(any(Object.class));*/
328-
329- /*const stub2 = sinon.stub(lifecycleManager, 'addRpcListener')
272+ const hmiStatusAnswer = sinon . stub ( lifecycleManager , 'addRpcListener' )
330273 . callsFake ( function ( ) {
331274 const responseSuccess = new SDL . rpc . messages . OnHMIStatus ( {
332275 functionName : SDL . rpc . enums . FunctionID . OnHMIStatus ,
333276 } )
334- //Raed: this is should be HMI_FULL
335- .setHmiLevel(SDL.rpc.enums.HMILevel.HMI_NONE);
336- lifecycleManager._handleRpc(responseSuccess);
337-
338- return new Promise((resolve, reject) => {
339- resolve(responseSuccess);
340- });
277+ . setHmiLevel ( SDL . rpc . enums . HMILevel . HMI_FULL ) ;
278+ return responseSuccess ;
341279 } ) ;
342280
343- const scm = new SDL.manager.SystemCapabilityManager(lifecycleManager);
344- const rpcStub2 = sinon.stub(lifecycleManager, 'sendRpcMessage')
345- .callsFake(function () {
346- const systemCapability = new SDL.rpc.structs.SystemCapability()
347- .setSystemCapabilityType(SDL.rpc.enums.SystemCapabilityType.VIDEO_STREAMING)
348- .setVideoStreamingCapability(new SDL.rpc.structs.VideoStreamingCapability());
349- const responseSuccess = new SDL.rpc.messages.GetSystemCapabilityResponse({
350- functionName: SDL.rpc.enums.FunctionID.GetSystemCapabilityResponse,
351- })
352- .setSystemCapability(systemCapability)
353- .setResultCode('SUCCESS')
354- .setCorrelationId(1000000)
355- .setSuccess(true);
356- lifecycleManager._handleRpc(responseSuccess);
357-
358- return new Promise((resolve, reject) => {
359- resolve(responseSuccess);
360- });
361- });
362- scm._videoStreamingCapability = null;
281+ // Test case 1 (capability not cached, listener not null, forceUpdate false)
282+ let scm = new SDL . manager . SystemCapabilityManager ( lifecycleManager ) ;
283+ let onSystemCapabilityListener = sinon . fake ( ( ) => { } ) ;
284+ // SCM uses sendRpcMessage and not sendRpcResolve
285+ let rpcStub = sinon . stub ( lifecycleManager , 'sendRpcMessage' )
286+ rpcStub . withArgs ( sinon . match . instanceOf ( SDL . rpc . messages . GetSystemCapability ) ) . callsFake ( createOnSendGetSystemCapabilityAnswer ( true , null , scm ) ) ;
287+ scm . _setCapability ( SDL . rpc . enums . SystemCapabilityType . VIDEO_STREAMING , null ) ;
288+ let retrievedCapability = await scm . _updateCapabilityPrivate ( SDL . rpc . enums . SystemCapabilityType . VIDEO_STREAMING , null , false , onSystemCapabilityListener ) ;
289+ Validator . assertNotNull ( retrievedCapability ) ;
290+ Validator . assertTrue ( rpcStub . called ) ;
291+ Validator . assertTrue ( ! onSystemCapabilityListener . called ) ;
292+ rpcStub . restore ( ) ;
363293
364- const retrievedCapability = scm.getCapability(SDL.rpc.enums.SystemCapabilityType.VIDEO_STREAMING);
365- await scm.updateCapability(SDL.rpc.enums.SystemCapabilityType.VIDEO_STREAMING);
366- Validator.assertNull(retrievedCapability);
367- Validator.assertTrue(rpcStub.calledOnce);
294+ // Test case 2 (capability cached, listener not null, forceUpdate true)
295+ scm = new SDL . manager . SystemCapabilityManager ( lifecycleManager ) ;
296+ onSystemCapabilityListener = sinon . fake ( ( ) => { } ) ;
297+ // SCM uses sendRpcMessage and not sendRpcResolve
298+ rpcStub = sinon . stub ( lifecycleManager , 'sendRpcMessage' )
299+ rpcStub . withArgs ( sinon . match . instanceOf ( SDL . rpc . messages . GetSystemCapability ) ) . callsFake ( createOnSendGetSystemCapabilityAnswer ( true , null , scm ) ) ;
300+ scm . _setCapability ( SDL . rpc . enums . SystemCapabilityType . VIDEO_STREAMING , videoStreamingCapability ) ;
301+ retrievedCapability = await scm . _updateCapabilityPrivate ( SDL . rpc . enums . SystemCapabilityType . VIDEO_STREAMING , null , true , onSystemCapabilityListener ) ;
302+ Validator . assertTrue ( Validator . validateVideoStreamingCapability ( systemCapability . getVideoStreamingCapability ( ) , retrievedCapability ) ) ;
303+ Validator . assertTrue ( rpcStub . called ) ;
304+ Validator . assertTrue ( ! onSystemCapabilityListener . called ) ;
368305 rpcStub . restore ( ) ;
369- stub.restore();
370306
371307 // Test case 3 (capability cached, listener null, forceUpdate true)
372- /*lifecycleManager = sdlManager._lifecycleManager;
373- HMIStatusAnswer = sinon.stub(lifecycleManager,'addOnRPCListener')
374- .callsFake(createOnHMIStatusAnswer(HMILevel.HMI_FULL));
375- scm = new reateSampleManager(lifecycleManager);
376- scm = null;
377- SystemCapabilityAnswer = sinon.stub(lifecycleManager,'sendRPC')
378- .callsFake(createOnSendGetSystemCapabilityAnswer(true, null, scm));
308+ scm = new SDL . manager . SystemCapabilityManager ( lifecycleManager ) ;
309+ onSystemCapabilityListener = null ;
310+ // SCM uses sendRpcMessage and not sendRpcResolve
311+ rpcStub = sinon . stub ( lifecycleManager , 'sendRpcMessage' )
312+ rpcStub . withArgs ( sinon . match . instanceOf ( SDL . rpc . messages . GetSystemCapability ) ) . callsFake ( createOnSendGetSystemCapabilityAnswer ( true , null , scm ) ) ;
379313 scm . _setCapability ( SDL . rpc . enums . SystemCapabilityType . VIDEO_STREAMING , videoStreamingCapability ) ;
380- retrievedCapability = scm.getCapability(SDL.rpc.enums.SystemCapabilityType.VIDEO_STREAMING, onSystemCapabilityListener, true);
381- Validator.assertTrue(TestValues.TRUE, Validator.validateVideoStreamingCapability(systemCapability.getCapabilityForType(SDL.rpc.enums.SystemCapabilityType.VIDEO_STREAMING), retrievedCapability));
382- verify(lifecycleManager, times(1)).sendRPC(any(GetSystemCapability.class));*/
383-
384- /* const stub2 = sinon.stub(lifecycleManager, 'addRpcListener')
385- .callsFake(function () {
386- const responseSuccess = new SDL.rpc.messages.OnHMIStatus({
387- functionName: SDL.rpc.enums.FunctionID.OnHMIStatus,
388- })
389- //Raed: this is should be HMI_FULL
390- .setHmiLevel(SDL.rpc.enums.HMILevel.HMI_NONE);
391- lifecycleManager._handleRpc(responseSuccess);
392-
393- return new Promise((resolve, reject) => {
394- resolve(responseSuccess);
395- });
396- });
397-
398- const scm = new SDL.manager.SystemCapabilityManager(lifecycleManager);
399- const rpcStub2 = sinon.stub(lifecycleManager, 'sendRpcMessage')
400- .callsFake(function () {
401- const systemCapability = new SDL.rpc.structs.SystemCapability()
402- .setSystemCapabilityType(SDL.rpc.enums.SystemCapabilityType.VIDEO_STREAMING)
403- .setVideoStreamingCapability(new SDL.rpc.structs.VideoStreamingCapability());
404- const responseSuccess = new SDL.rpc.messages.GetSystemCapabilityResponse({
405- functionName: SDL.rpc.enums.FunctionID.GetSystemCapabilityResponse,
406- })
407- .setSystemCapability(systemCapability)
408- .setResultCode('SUCCESS')
409- .setCorrelationId(1000000)
410- .setSuccess(true);
411- lifecycleManager._handleRpc(responseSuccess);
412-
413- return new Promise((resolve, reject) => {
414- resolve(responseSuccess);
415- });
416- });
417- scm._videoStreamingCapability = null;
418-
419- const retrievedCapability = scm.getCapability(SDL.rpc.enums.SystemCapabilityType.VIDEO_STREAMING);
420- await scm.updateCapability(SDL.rpc.enums.SystemCapabilityType.VIDEO_STREAMING);
421- Validator.assertNull(retrievedCapability);
422- Validator.assertTrue(rpcStub.calledOnce);
314+ retrievedCapability = await scm . _updateCapabilityPrivate ( SDL . rpc . enums . SystemCapabilityType . VIDEO_STREAMING , null , true , onSystemCapabilityListener ) ;
315+ Validator . assertTrue ( Validator . validateVideoStreamingCapability ( systemCapability . getVideoStreamingCapability ( ) , retrievedCapability ) ) ;
316+ Validator . assertTrue ( rpcStub . called ) ;
423317 rpcStub . restore ( ) ;
424- stub.restore();
425-
426318
427319 // Test case 4 (capability cached, listener null, forceUpdate false)
428- /*lifecycleManager = sdlManager._lifecycleManager;
429- HMIStatusAnswer = sinon.stub(lifecycleManager,'addOnRPCListener')
430- .callsFake(createOnHMIStatusAnswer(HMILevel.HMI_FULL));
431- scm = createSampleManager(lifecycleManager);
432- scm = null;
433- SystemCapabilityAnswer = sinon.stub(lifecycleManager,'sendRPC')
434- .callsFake(createOnSendGetSystemCapabilityAnswer(true, null, scm));
320+ scm = new SDL . manager . SystemCapabilityManager ( lifecycleManager ) ;
321+ onSystemCapabilityListener = null ;
322+ // SCM uses sendRpcMessage and not sendRpcResolve
323+ rpcStub = sinon . stub ( lifecycleManager , 'sendRpcMessage' )
324+ rpcStub . withArgs ( sinon . match . instanceOf ( SDL . rpc . messages . GetSystemCapability ) ) . callsFake ( createOnSendGetSystemCapabilityAnswer ( true , null , scm ) ) ;
435325 scm . _setCapability ( SDL . rpc . enums . SystemCapabilityType . VIDEO_STREAMING , videoStreamingCapability ) ;
436- retrievedCapability = scm.getCapability(SDL.rpc.enums.SystemCapabilityType.VIDEO_STREAMING, onSystemCapabilityListener, false);
437- Validator.assertTrue(TestValues.TRUE, Validator.validateVideoStreamingCapability(systemCapability.getCapabilityForType(SDL.rpc.enums.SystemCapabilityType.VIDEO_STREAMING), retrievedCapability));
438- verify(lifecycleManager, times(0)).sendRPC(any(GetSystemCapability.class));*/
439-
440- /* const stub2 = sinon.stub(lifecycleManager, 'addRpcListener')
441- .callsFake(function () {
442- const responseSuccess = new SDL.rpc.messages.OnHMIStatus({
443- functionName: SDL.rpc.enums.FunctionID.OnHMIStatus,
444- })
445- //Raed: this is should be HMI_FULL
446- .setHmiLevel(SDL.rpc.enums.HMILevel.HMI_NONE);
447- lifecycleManager._handleRpc(responseSuccess);
448-
449- return new Promise((resolve, reject) => {
450- resolve(responseSuccess);
451- });
452- });
453-
454- const scm = new SDL.manager.SystemCapabilityManager(lifecycleManager);
455- const rpcStub2 = sinon.stub(lifecycleManager, 'sendRpcMessage')
456- .callsFake(function () {
457- const systemCapability = new SDL.rpc.structs.SystemCapability()
458- .setSystemCapabilityType(SDL.rpc.enums.SystemCapabilityType.VIDEO_STREAMING)
459- .setVideoStreamingCapability(new SDL.rpc.structs.VideoStreamingCapability());
460- const responseSuccess = new SDL.rpc.messages.GetSystemCapabilityResponse({
461- functionName: SDL.rpc.enums.FunctionID.GetSystemCapabilityResponse,
462- })
463- .setSystemCapability(systemCapability)
464- .setResultCode('SUCCESS')
465- .setCorrelationId(1000000)
466- .setSuccess(true);
467- lifecycleManager._handleRpc(responseSuccess);
468-
469- return new Promise((resolve, reject) => {
470- resolve(responseSuccess);
471- });
472- });
473- scm._videoStreamingCapability = null;
474-
475- const retrievedCapability = scm.getCapability(SDL.rpc.enums.SystemCapabilityType.VIDEO_STREAMING);
476- await scm.updateCapability(SDL.rpc.enums.SystemCapabilityType.VIDEO_STREAMING);
477- Validator.assertNull(retrievedCapability);
478- Validator.assertTrue(rpcStub.calledOnce);
326+ retrievedCapability = await scm . _updateCapabilityPrivate ( SDL . rpc . enums . SystemCapabilityType . VIDEO_STREAMING , null , false , onSystemCapabilityListener ) ;
327+ Validator . assertTrue ( Validator . validateVideoStreamingCapability ( systemCapability . getVideoStreamingCapability ( ) , retrievedCapability ) ) ;
328+ Validator . assertTrue ( ! rpcStub . called ) ;
479329 rpcStub . restore ( ) ;
480- stub.restore();*/
481-
482330 } ) ;
483331
332+
484333 it ( 'testGetCapabilityHmiNone' , async function ( ) {
485334 const sdlManager = appClient . _sdlManager ;
486335 const lifecycleManager = sdlManager . _lifecycleManager ;
0 commit comments