16 #ifndef ALEXA_CLIENT_SDK_ACL_TEST_TRANSPORT_MESSAGEROUTERTEST_H_
17 #define ALEXA_CLIENT_SDK_ACL_TEST_TRANSPORT_MESSAGEROUTERTEST_H_
19 #include <gtest/gtest.h>
40 using namespace transport;
41 using namespace transport::test;
42 using namespace avsCommon::avs::attachment;
43 using namespace avsCommon::utils::threading;
44 using namespace avsCommon::utils::memory;
46 using namespace avsCommon::utils;
47 using namespace avsCommon::utils::observer::test;
49 using namespace ::testing;
54 std::shared_ptr<avsCommon::sdkInterfaces::AuthDelegateInterface> authDelegate,
55 std::shared_ptr<AttachmentManagerInterface> attachmentManager,
56 std::shared_ptr<TransportFactoryInterface> factory,
57 const std::string& avsGateway) :
64 SHORT_SERVER_SIDE_DISCONNECT_GRACE_PERIOD) {
74 auto future = m_executor.submit([]() { ; });
75 auto status = future.wait_for(millisecondsToWait);
76 return status == std::future_status::ready;
80 return !m_executor.isShutdown();
93 m_mockTransport = transport;
97 std::shared_ptr<TransportInterface> createTransport(
98 std::shared_ptr<avsCommon::sdkInterfaces::AuthDelegateInterface> authDelegate,
99 std::shared_ptr<AttachmentManagerInterface> attachmentManager,
100 const std::string& avsGateway,
101 std::shared_ptr<MessageConsumerInterface> messageConsumerInterface,
102 std::shared_ptr<TransportObserverInterface> transportObserverInterface,
103 std::shared_ptr<SynchronizedMessageRequestQueue> sharedMessageRequestQueue)
override {
104 return m_mockTransport;
107 std::shared_ptr<MockTransport> m_mockTransport;
112 const std::string AVS_ENDPOINT =
"AVS_ENDPOINT";
115 m_mockMessageRouterObserver{std::make_shared<MockMessageRouterObserver>()},
116 m_mockAuthDelegate{std::make_shared<MockAuthDelegate>()},
117 m_attachmentManager{std::make_shared<AttachmentManager>(AttachmentManager::AttachmentType::IN_PROCESS)},
118 m_mockTransport{std::make_shared<NiceMock<MockTransport>>()},
119 m_transportFactory{std::make_shared<MockTransportFactory>(m_mockTransport)},
120 m_router{std::make_shared<TestableMessageRouter>(
125 m_router->setObserver(m_mockMessageRouterObserver);
129 if (m_router->isExecutorActive()) {
136 return std::make_shared<avsCommon::avs::MessageRequest>(MESSAGE);
140 return std::make_shared<TestMessageRequestObserver>();
144 auto status = m_router->isExecutorReady(millisecondsToWait);
145 ASSERT_EQ(
true, status);
154 setupStateToPending();
155 m_router->onConnected(m_mockTransport);
184 #endif // ALEXA_CLIENT_SDK_ACL_TEST_TRANSPORT_MESSAGEROUTERTEST_H_