Skip to content

Commit 97ff82b

Browse files
committed
Fix addGetCapability test
1 parent d690b09 commit 97ff82b

File tree

1 file changed

+43
-194
lines changed

1 file changed

+43
-194
lines changed

tests/managers/SystemCapabilityManagerTests.js

Lines changed: 43 additions & 194 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)