@@ -55,6 +55,7 @@ class HDCPProfileTest : public ::testing::Test {
5555 Core::JSONRPC::Message message;
5656 string response;
5757
58+ HostImplMock *p_hostImplMock = nullptr ;
5859 WrapsImplMock *p_wrapsImplMock = nullptr ;
5960 IarmBusImplMock *p_iarmBusImplMock = nullptr ;
6061 Core::ProxyType<Plugin::HdcpProfileImplementation> hdcpProfileImpl;
@@ -63,7 +64,7 @@ class HDCPProfileTest : public ::testing::Test {
6364 NiceMock<ServiceMock> service;
6465 PLUGINHOST_DISPATCHER* dispatcher;
6566 Core::ProxyType<WorkerPoolImplementation> workerPool;
66-
67+
6768 NiceMock<FactoriesImplementation> factoriesImplementation;
6869
6970 HDCPProfileTest ()
@@ -72,45 +73,46 @@ class HDCPProfileTest : public ::testing::Test {
7273 , INIT_CONX(1 , 0 )
7374 , workerPool(Core::ProxyType<WorkerPoolImplementation>::Create(2 , Core::Thread::DefaultStackSize(), 16 ))
7475 {
76+ p_hostImplMock = new NiceMock <HostImplMock>;
7577 p_wrapsImplMock = new NiceMock<WrapsImplMock>;
7678 printf (" Pass created wrapsImplMock: %p " , p_wrapsImplMock);
79+ device::Host::setImpl (p_hostImplMock);
7780 Wraps::setImpl (p_wrapsImplMock);
78-
81+
7982 p_iarmBusImplMock = new NiceMock <IarmBusImplMock>;
80- IarmBus::setImpl (p_iarmBusImplMock);
83+ IarmBus::setImpl (p_iarmBusImplMock);
84+
8185
82-
8386 ON_CALL (service, COMLink ())
8487 .WillByDefault (::testing::Invoke (
8588 [this ]() {
8689 TEST_LOG (" Pass created comLinkMock: %p " , &comLinkMock);
8790 return &comLinkMock;
8891 }));
8992
93+ #ifdef USE_THUNDER_R4
94+ ON_CALL (comLinkMock, Instantiate (::testing::_, ::testing::_, ::testing::_))
95+ .WillByDefault (::testing::Invoke (
96+ [&](const RPC::Object& object, const uint32_t waitTime, uint32_t & connectionId) {
97+ hdcpProfileImpl = Core::ProxyType<Plugin::HdcpProfileImplementation>::Create ();
98+ TEST_LOG (" Pass created hdcpProfileImpl: %p " , &hdcpProfileImpl);
99+ return &hdcpProfileImpl;
100+ }));
101+ #else
102+ ON_CALL (comLinkMock, Instantiate (::testing::_, ::testing::_, ::testing::_, ::testing::_, ::testing::_))
103+ .WillByDefault (::testing::Return (hdcpProfileImpl));
104+ #endif /* USE_THUNDER_R4 */
105+
106+ PluginHost::IFactories::Assign (&factoriesImplementation);
90107
91- #ifdef USE_THUNDER_R4
92- ON_CALL (comLinkMock, Instantiate (::testing::_, ::testing::_, ::testing::_))
93- .WillByDefault (::testing::Invoke (
94- [&](const RPC::Object& object, const uint32_t waitTime, uint32_t & connectionId) {
95- hdcpProfileImpl = Core::ProxyType<Plugin::HdcpProfileImplementation>::Create ();
96- TEST_LOG (" Pass created hdcpProfileImpl: %p " , &hdcpProfileImpl);
97- return &hdcpProfileImpl;
98- }));
99- #else
100- ON_CALL (comLinkMock, Instantiate (::testing::_, ::testing::_, ::testing::_, ::testing::_, ::testing::_))
101- .WillByDefault (::testing::Return (hdcpProfileImpl));
102- #endif /* USE_THUNDER_R4 */
103-
104- PluginHost::IFactories::Assign (&factoriesImplementation);
105-
106- Core::IWorkerPool::Assign (&(*workerPool));
107- workerPool->Run ();
108-
109- dispatcher = static_cast <PLUGINHOST_DISPATCHER*>(
110- plugin->QueryInterface (PLUGINHOST_DISPATCHER_ID));
111- dispatcher->Activate (&service);
112-
113- EXPECT_EQ (string (" " ), plugin->Initialize (&service));
108+ Core::IWorkerPool::Assign (&(*workerPool));
109+ workerPool->Run ();
110+
111+ dispatcher = static_cast <PLUGINHOST_DISPATCHER*>(
112+ plugin->QueryInterface (PLUGINHOST_DISPATCHER_ID));
113+ dispatcher->Activate (&service);
114+
115+ EXPECT_EQ (string (" " ), plugin->Initialize (&service));
114116
115117 }
116118 virtual ~HDCPProfileTest () override
@@ -138,21 +140,24 @@ class HDCPProfileTest : public ::testing::Test {
138140 delete p_iarmBusImplMock;
139141 p_iarmBusImplMock = nullptr ;
140142 }
143+ device::Host::setImpl (nullptr );
144+ if (p_hostImplMock != nullptr )
145+ {
146+ delete p_hostImplMock;
147+ p_hostImplMock = nullptr ;
148+ }
141149
142150 }
143151};
144152
145153class HDCPProfileDsTest : public HDCPProfileTest {
146154protected:
147- HostImplMock *p_hostImplMock = nullptr ;
148155 VideoOutputPortConfigImplMock *p_videoOutputPortConfigImplMock = nullptr ;
149156 VideoOutputPortMock *p_videoOutputPortMock = nullptr ;
150157
151158 HDCPProfileDsTest ()
152159 : HDCPProfileTest()
153160 {
154- p_hostImplMock = new NiceMock <HostImplMock>;
155- device::Host::setImpl (p_hostImplMock);
156161 p_videoOutputPortConfigImplMock = new NiceMock <VideoOutputPortConfigImplMock>;
157162 device::VideoOutputPortConfig::setImpl (p_videoOutputPortConfigImplMock);
158163 p_videoOutputPortMock = new NiceMock <VideoOutputPortMock>;
@@ -172,12 +177,6 @@ class HDCPProfileDsTest : public HDCPProfileTest {
172177 delete p_videoOutputPortConfigImplMock;
173178 p_videoOutputPortConfigImplMock = nullptr ;
174179 }
175- device::Host::setImpl (nullptr );
176- if (p_hostImplMock != nullptr )
177- {
178- delete p_hostImplMock;
179- p_hostImplMock = nullptr ;
180- }
181180 }
182181};
183182
@@ -208,6 +207,10 @@ class HDCPProfileEventTest : public HDCPProfileDsTest {
208207};
209208
210209class HDCPProfileEventIarmTest : public HDCPProfileEventTest {
210+ public:
211+ device::Host::IDisplayDeviceEvents* _displayDeviceEvents = nullptr ;
212+ device::Host::IVideoOutputPortEvents* _videoOutputPortEvents = nullptr ;
213+
211214protected:
212215 ManagerImplMock *p_managerImplMock = nullptr ;
213216 IARM_EventHandler_t dsHdmiEventHandler;
@@ -222,18 +225,6 @@ class HDCPProfileEventIarmTest : public HDCPProfileEventTest {
222225 .Times (::testing::AnyNumber ())
223226 .WillRepeatedly (::testing::Return ());
224227
225- ON_CALL (*p_iarmBusImplMock, IARM_Bus_RegisterEventHandler (::testing::_, ::testing::_, ::testing::_))
226- .WillByDefault (::testing::Invoke (
227- [&](const char * ownerName, IARM_EventId_t eventId, IARM_EventHandler_t handler) {
228- if ((string (IARM_BUS_DSMGR_NAME) == string (ownerName)) && (eventId == IARM_BUS_DSMGR_EVENT_HDMI_HOTPLUG)) {
229- dsHdmiEventHandler = handler;
230- }
231- if ((string (IARM_BUS_DSMGR_NAME) == string (ownerName)) && (eventId == IARM_BUS_DSMGR_EVENT_HDCP_STATUS)) {
232- dsHdmiEventHandler = handler;
233- }
234- return IARM_RESULT_SUCCESS;
235- }));
236-
237228 EXPECT_EQ (string (" " ), plugin->Initialize (&service));
238229 }
239230
@@ -381,8 +372,6 @@ TEST_F(HDCPProfileDsTest, getSettopHDCPSupport_Hdcp_v2x)
381372
382373TEST_F (HDCPProfileEventIarmTest, onDisplayConnectionChanged)
383374{
384- ASSERT_TRUE (dsHdmiEventHandler != nullptr );
385-
386375 Core::Event onDisplayConnectionChanged (false , true );
387376
388377 NiceMock<VideoOutputPortMock> videoOutputPortMock;
@@ -439,9 +428,7 @@ TEST_F(HDCPProfileEventIarmTest, onDisplayConnectionChanged)
439428
440429 EVENT_SUBSCRIBE (0 , _T (" onDisplayConnectionChanged" ), _T (" client.events" ), message);
441430
442- IARM_Bus_DSMgr_EventData_t eventData;
443- eventData.data .hdmi_hpd .event = dsDISPLAY_EVENT_CONNECTED;
444- dsHdmiEventHandler (IARM_BUS_DSMGR_NAME, IARM_BUS_DSMGR_EVENT_HDMI_HOTPLUG, &eventData, 0 );
431+ Plugin::HdcpProfileImplementation::_instance->OnDisplayHDMIHotPlug (dsDISPLAY_EVENT_CONNECTED);
445432
446433 EXPECT_EQ (Core::ERROR_NONE, onDisplayConnectionChanged.Lock ());
447434
@@ -450,8 +437,6 @@ TEST_F(HDCPProfileEventIarmTest, onDisplayConnectionChanged)
450437
451438TEST_F (HDCPProfileEventIarmTest, onHdmiOutputHDCPStatusEvent)
452439{
453- ASSERT_TRUE (dsHdmiEventHandler != nullptr );
454-
455440 Core::Event onDisplayConnectionChanged (false , true );
456441
457442 NiceMock<VideoOutputPortMock> videoOutputPortMock;
@@ -507,9 +492,7 @@ TEST_F(HDCPProfileEventIarmTest, onHdmiOutputHDCPStatusEvent)
507492
508493 EVENT_SUBSCRIBE (0 , _T (" onDisplayConnectionChanged" ), _T (" client.events" ), message);
509494
510- IARM_Bus_DSMgr_EventData_t eventData;
511- eventData.data .hdmi_hdcp .hdcpStatus = dsDISPLAY_HDCPPROTOCOL_CHANGE;
512- dsHdmiEventHandler (IARM_BUS_DSMGR_NAME, IARM_BUS_DSMGR_EVENT_HDCP_STATUS, &eventData, 0 );
495+ Plugin::HdcpProfileImplementation::_instance->OnHDCPStatusChange (dsHDCP_STATUS_AUTHENTICATED);
513496
514497 EXPECT_EQ (Core::ERROR_NONE, onDisplayConnectionChanged.Lock ());
515498
0 commit comments