std::mutex mutexForCondition;
ESEnrolleeSimulator g_enrolleeSimul;
+ std::shared_ptr<OC::OCResource> g_enrolleeResource;
std::shared_ptr<RemoteEnrollee> g_remoteEnrollee;
}
TEST_F(EasysetupMediatorTest, createremoteenrolleeSucceedWithEasySetupResource)
{
discoverRemoteEnrollee();
+ g_enrolleeResource = m_enrolleeResource;
g_remoteEnrollee = EasySetup::getInstance()->createRemoteEnrollee(m_enrolleeResource);
ASSERT_NE(nullptr, g_remoteEnrollee);
EXPECT_EQ(cntForReceivedCallbackWithSuccess, 1);
}
+class RequestToConnectTest : public EasysetupMediatorTest
+{
+
+public:
+ RequestToConnectTest() = default;
+ ~RequestToConnectTest() = default;
+
+ static void connectRequestStatusCb(shared_ptr< ConnectRequestStatus > /*status*/)
+ {
+ }
+
+protected:
+ void SetUp()
+ {
+ TestWithMock::SetUp();
+ }
+
+ void TearDown()
+ {
+ TestWithMock::TearDown();
+ }
+};
+
+TEST_F(RequestToConnectTest,
+ ThrowExceptionWhenRequestToConnectFailedByCallbackIsNull)
+{
+ std::vector<ES_CONNECT_TYPE> connectTypes;
+ connectTypes.push_back(ES_CONNECT_NONE);
+
+ EXPECT_ANY_THROW(g_remoteEnrollee->requestToConnect(connectTypes, nullptr));
+}
+
+TEST_F(RequestToConnectTest, RequestToConnectSucceed)
+{
+ std::vector<ES_CONNECT_TYPE> connectTypes;
+ connectTypes.push_back(ES_CONNECT_NONE);
+
+ int cntForReceivedCallbackWithSuccess = 0;
+
+ mocks.OnCallFunc(connectRequestStatusCb).Do(
+ [&cntForReceivedCallbackWithSuccess]
+ (std::shared_ptr< ConnectRequestStatus > status)
+ {
+ if(status->getESResult() == ES_OK)
+ {
+ cntForReceivedCallbackWithSuccess++;
+ }
+
+ });
+
+ g_remoteEnrollee->requestToConnect(connectTypes, connectRequestStatusCb);
+
+ std::unique_lock< std::mutex > lock{ mutexForCondition };
+ responseCon.wait_for(lock, g_waitForResponse);
+
+ EXPECT_EQ(cntForReceivedCallbackWithSuccess, 1);
+}
+
+
class ProvisionCloudPropertiesTest : public EasysetupMediatorTest
{
responseCon.wait_for(lock, g_waitForResponse);
EXPECT_EQ(cntForReceivedCallbackWithSuccess, 1);
+}
+
+TEST_F(ProvisionCloudPropertiesTest, ProvisionCloudPropertiesWithResourceSucceed)
+{
+ CloudProp cloudProp;
+ cloudProp.setCloudProp("authCode", "authProvider", "ciServer");
+ cloudProp.setCloudID("f002ae8b-c42c-40d3-8b8d-1927c17bd1b3");
+
+ int cntForReceivedCallbackWithSuccess = 0;
+
+ mocks.OnCallFunc(cloudPropProvStatusCb).Do(
+ [& cntForReceivedCallbackWithSuccess](std::shared_ptr< CloudPropProvisioningStatus > status)
+ {
+ if(status->getESResult() == ES_OK)
+ {
+ cntForReceivedCallbackWithSuccess++;
+ }
+ });
+
+ g_remoteEnrollee->provisionCloudProperties(g_enrolleeResource, cloudProp, cloudPropProvStatusCb);
+
+ std::unique_lock< std::mutex > lock{ mutexForCondition };
+ responseCon.wait_for(lock, g_waitForResponse);
+
+ EXPECT_EQ(cntForReceivedCallbackWithSuccess, 1);
ESTerminateEnrollee();
}
+