])
broker_test_src = env.Glob('unittest/*.cpp')
-#broker_test_src = ['unittest/ResourcePresenceUnitTest.cpp']
broker_test = broker_test_env.Program('broker_test', broker_test_src)
Alias("broker_test", broker_test)
env.AppendTarget('broker_test')
void DevicePresence::initializeDevicePresence(PrimitiveResourcePtr pResource)
{
- OC_LOG_V(DEBUG, BROKER_TAG, "%s",pResource->getHost().c_str());
-
address = pResource->getHost();
+ OC_LOG_V(DEBUG, BROKER_TAG, "%s",address.c_str());
+
try
{
presenceSubscriber
- = PresenceSubscriber(pResource->getHost(), BROKER_TRANSPORT, pSubscribeRequestCB);
+ = PresenceSubscriber(address, BROKER_TRANSPORT, pSubscribeRequestCB);
OC_LOG_V(DEBUG, BROKER_TAG, "subscribe Presence");
} catch(PlatformException &e)
{
DevicePresencePtr device;
PrimitiveResource::Ptr pResource;
protected:
+
void setMockingFunc()
{
mocks.OnCall(pResource.get(), PrimitiveResource::requestGet);
instance->addDevice(device);
}
- void SetUp() override {
+ void SetUp()
+ {
instance = DeviceAssociation::getInstance();
device = (DevicePresencePtr)new DevicePresence();
pResource = PrimitiveResource::Ptr(mocks.Mock< PrimitiveResource >(), [](PrimitiveResource*){});
}
- void TearDown() override
+ void TearDown()
{
device.reset();
pResource.reset();
TEST_F(DeviceAssociationTest,findDevice_ReturnNormalValueIfNormalParam)
{
+ SetUp();
SetAssociationDevice();
- //pResource->getHost()
ASSERT_NE(nullptr,instance->findDevice(pResource->getHost()));
+ TearDown();
}
TEST_F(DeviceAssociationTest,addDevice_NormalHandlingIfNormalParam)
{
+ SetUp();
SetAssociationDevice();
ASSERT_FALSE(instance->isEmptyDeviceList());
+ TearDown();
}
TEST_F(DeviceAssociationTest,removeDevice_NormalHandlingIfNormalParam)
{
+ SetUp();
SetAssociationDevice();
instance->removeDevice(device);
ASSERT_TRUE(instance->isEmptyDeviceList());
+ TearDown();
}
typedef OCStackResult (*subscribePresenceSig1)(OC::OCPlatform::OCPresenceHandle&,
const std::string&, OCConnectivityType, SubscribeCallback);
-
class DevicePresenceTest : public Test
{
public:
BrokerID id;
protected:
- void SetUp() override {
+
+ void SetUp()
+ {
instance = (DevicePresence*)new DevicePresence();
pResource = PrimitiveResource::Ptr(mocks.Mock< PrimitiveResource >(), [](PrimitiveResource*){});
cb = ([](BROKER_STATE)->OCStackResult{return OC_STACK_OK;});
id = 0;
}
- void TearDown() override
+ void TearDown()
{
pResource.reset();
id = 0;
mocks.OnCall(pResource.get(), PrimitiveResource::getHost).Return(std::string());
mocks.OnCallFuncOverload(static_cast< subscribePresenceSig1 >(OC::OCPlatform::subscribePresence)).Return(OC_STACK_OK);
}
+
virtual ~DevicePresenceTest() noexcept(true)
{
}
TEST_F(DevicePresenceTest,initializeDevicePresence_NormalHandlingIfNormalResource)
{
+ SetUp();
MockingFunc();
ASSERT_NO_THROW(instance->initializeDevicePresence(pResource));
-
+ TearDown();
}
TEST_F(DevicePresenceTest,initializeDevicePresence_ErrorHandlingIfAbnormalResource)
{
+ SetUp();
MockingFunc();
mocks.OnCallFuncOverload(static_cast< subscribePresenceSig1 >(OC::OCPlatform::subscribePresence)).Return(OC_STACK_ERROR);
+
ASSERT_THROW(instance->initializeDevicePresence(pResource),PlatformException);
+ TearDown();
}
TEST_F(DevicePresenceTest,addPresenceResource_NormalHandlingIfNormalResource)
{
+ SetUp();
ResourcePresence * resource = (ResourcePresence *)new ResourcePresence();
instance->addPresenceResource(resource);
ASSERT_EQ(false,instance->isEmptyResourcePresence());
+ TearDown();
}
TEST_F(DevicePresenceTest,isEmptyResourcePresence_NormalHandling)
{
+ SetUp();
MockingFunc();
ASSERT_TRUE(instance->isEmptyResourcePresence());
+ TearDown();
}
TEST_F(DevicePresenceTest,getAddress_NormalHandling)
{
+ SetUp();
MockingFunc();
instance->initializeDevicePresence(pResource);
instance->getAddress();
+ TearDown();
}
TEST_F(DevicePresenceTest,NormalHandlingWhenReceivedCallbackMessage)
{
+ SetUp();
MockingFunc();
+ TearDown();
}
-/*
- * 01.[P]HostResource_ReturnNormalValueIfNormalParams
- * 02.[N]HostResource_NormalErrorHandlingIfResourceNull
- * 03.[N]HostResource_NormalErrorHandlingIfCbFuncNull
- * 04.[P]CancelHostResource_NoThrowIfNormalParams
- * 05.[N]CancelHostResource_NormalErrorHandlingIfAbNormalId
- * 06.[N]CancelHostResource_NormalErrorHandlingIfAbNormalIdOutOfRangeValue
- * 07.[P]getResourceState_ReturnNormalValueIfNormalId
- * 08.[P]getResourceState_ReturnNormalValueIfNormalResource
- * 09.[N]getResourceState_NormalErrorHandlingIfResourceNull
- * 10.[N]getResourceState_NormalErrorHandlingIfAbnormalResource
- * 11.[N]getResourceState_NormalErrorHandlingIfAbnormalId
- */
-
#include "gtest/gtest.h"
#include "HippoMocks/hippomocks.h"
BrokerID id;
protected:
- void SetUp() override {
+
+ void SetUp()
+ {
brokerInstance = ResourceBroker::getInstance();
pResource = PrimitiveResource::Ptr(mocks.Mock< PrimitiveResource >(), [](PrimitiveResource*){});
cb = ([](BROKER_STATE)->OCStackResult{return OC_STACK_OK;});
id = 0;
}
- void TearDown() override
+ void TearDown()
{
pResource.reset();
id = 0;
cb = nullptr;
}
+
void MockingFunc()
{
mocks.OnCall(pResource.get(), PrimitiveResource::requestGet);
mocks.OnCall(pResource.get(), PrimitiveResource::getHost).Return(std::string());
mocks.OnCallFuncOverload(static_cast< subscribePresenceSig1 >(OC::OCPlatform::subscribePresence)).Return(OC_STACK_OK);
}
+
virtual ~ResourceBrokerTest() noexcept(true)
{
}
};
-/*
- * [P]HostResource_ReturnNormalValueIfNormalParams
- */
TEST_F(ResourceBrokerTest,HostResource_ReturnNormalValueIfNormalParams)
{
+ SetUp();
MockingFunc();
BrokerID ret;
ASSERT_NE(ret = brokerInstance->hostResource(pResource,cb),0);
brokerInstance->cancelHostResource(ret);
+ TearDown();
}
-/*
- * [N]HostResource_NormalErrorHandlingIfResourceNull
- */
+
TEST_F(ResourceBrokerTest, HostResource_NormalErrorHandlingIfResourceNull)
{
+ SetUp();
ASSERT_THROW(brokerInstance->hostResource(nullptr, cb),ResourceBroker::InvalidParameterException);
+ TearDown();
}
-/*
- * [N]HostResource_NormalErrorHandlingIfCbFuncNull
- */
+
TEST_F(ResourceBrokerTest, HostResource_NormalErrorHandlingIfCbFuncNull)
{
+ SetUp();
ASSERT_THROW(brokerInstance->hostResource(pResource,nullptr),ResourceBroker::InvalidParameterException);
+ TearDown();
}
-/*
- * [P]CancelHostResource_NoThrowIfNormalParams
- */
+
TEST_F(ResourceBrokerTest,CancelHostResource_NoThrowIfNormalParams)
{
+ SetUp();
MockingFunc();
BrokerID ret;
ret = brokerInstance->hostResource(pResource,cb);
ASSERT_NO_THROW(brokerInstance->cancelHostResource(ret));
+ TearDown();
}
-/*
- * [N]CancelHostResource_NormalErrorHandlingIfAbNormalIdZero
- */
+
TEST_F(ResourceBrokerTest,CancelHostResource_NormalErrorHandlingIfAbNormalIdZero)
{
+ SetUp();
id = 0;
ASSERT_THROW(brokerInstance->cancelHostResource(id),ResourceBroker::InvalidParameterException);
+ TearDown();
}
-/*
- * [N]CancelHostResource_NormalErrorHandlingIfAbNormalIdOutOfRangeValue
- */
+
TEST_F(ResourceBrokerTest,CancelHostResource_NormalErrorHandlingIfAbNormalIdOutOfRangeValue)
{
+ SetUp();
id = -1;
ASSERT_THROW(brokerInstance->cancelHostResource(id),ResourceBroker::InvalidParameterException);
+ TearDown();
}
-/*
- * [P]getResourceState_ReturnNormalValueIfNormalId
- */
+
TEST_F(ResourceBrokerTest,getResourceState_ReturnNormalValueIfNormalId)
{
+ SetUp();
MockingFunc();
BrokerID ret;
ASSERT_NE(brokerInstance->getResourceState(ret),BROKER_STATE::NONE);
brokerInstance->cancelHostResource(ret);
+ TearDown();
}
TEST_F(ResourceBrokerTest,getResourceState_NormalErrorHandlingIfIdZero)
{
+ SetUp();
id = 0;
ASSERT_THROW(brokerInstance->getResourceState(id),ResourceBroker::InvalidParameterException);
+ TearDown();
}
-/*
- * [P]getResourceState_ReturnNormalValueIfNormalResource
- */
TEST_F(ResourceBrokerTest,getResourceState_ReturnNormalValueIfNormalResource)
{
+ SetUp();
MockingFunc();
BrokerID ret;
ASSERT_NE(brokerInstance->getResourceState(pResource),BROKER_STATE::NONE);
brokerInstance->cancelHostResource(ret);
+ TearDown();
}
-/*
- * [N]getResourceState_NormalErrorHandlingIfResourceNull
- */
+
TEST_F(ResourceBrokerTest,getResourceState_NormalErrorHandlingIfResourceNull)
{
+ SetUp();
ASSERT_THROW(brokerInstance->getResourceState((PrimitiveResource::Ptr)nullptr),ResourceBroker::InvalidParameterException);
+ TearDown();
}
-/*
- * [N]getResourceState_NormalErrorHandlingIfAbnormalResource
- */
+
TEST_F(ResourceBrokerTest,getResourceState_NormalErrorHandlingIfAbnormalResource)
{
-
+ SetUp();
MockingFunc();
PrimitiveResource::Ptr resource[3];
EXPECT_EQ(brokerInstance->getResourceState(pResource),BROKER_STATE::NONE);
+
for(int i=0;i!=3;i++)
{
brokerInstance->cancelHostResource(id[i]);
}
+ TearDown();
}
-/*
- * [N]getResourceState_NormalErrorHandlingIfAbnormalId
- */
+
TEST_F(ResourceBrokerTest,getResourceState_NormalErrorHandlingIfAbnormalId)
{
+ SetUp();
id = -1;
ASSERT_THROW(brokerInstance->getResourceState(id),ResourceBroker::InvalidParameterException);
+ TearDown();
}
{
public:
- using GetCallback = std::function<
- void(const OIC::Service::HeaderOptions&, const OIC::Service::ResponseStatement&, int)>;
+ typedef std::function<void(const HeaderOptions&, const ResponseStatement&, int)> GetCallback;
+
MockRepository mocks;
ResourcePresence * instance;
PrimitiveResource::Ptr pResource;
BrokerID id;
protected:
- void SetUp() override {
+
+ void SetUp()
+ {
instance = (ResourcePresence*)new ResourcePresence();
pResource = PrimitiveResource::Ptr(mocks.Mock< PrimitiveResource >(), [](PrimitiveResource*){});
cb = ([](BROKER_STATE)->OCStackResult{return OC_STACK_OK;});
id = 0;
}
- void TearDown() override
+ void TearDown()
{
pResource.reset();
id = 0;
};
-TEST_F(ResourcePresenceTest,isEmptyRequester_NormalHandling)
-{
- ASSERT_TRUE(instance->isEmptyRequester());
-}
-
TEST_F(ResourcePresenceTest,initializeResourcePresence_NormalhandlingIfNormalResource)
{
+ SetUp();
MockingFunc();
instance->initializeResourcePresence(pResource);
ASSERT_NE(nullptr,instance->getPrimitiveResource());
-
+ TearDown();
}
TEST_F(ResourcePresenceTest,addBrokerRequester_ReturnNormalValueIfNormalParams)
{
+ SetUp();
MockingFunc();
instance->initializeResourcePresence(pResource);
id = 1;
instance->addBrokerRequester(id,cb);
EXPECT_FALSE(instance->isEmptyRequester());
+ TearDown();
}
TEST_F(ResourcePresenceTest,removeBrokerRequester_NormalHandlingIfNormalId)
{
+ SetUp();
MockingFunc();
instance->initializeResourcePresence(pResource);
instance->removeBrokerRequester(id);
ASSERT_EQ(1,instance->requesterListSize());
-
+ TearDown();
}
TEST_F(ResourcePresenceTest,removeAllBrokerRequester_NormalHandling)
{
+ SetUp();
MockingFunc();
instance->initializeResourcePresence(pResource);
instance->removeAllBrokerRequester();
ASSERT_TRUE(instance->isEmptyRequester());
+ TearDown();
}
TEST_F(ResourcePresenceTest,removeAllBrokerRequester_ErrorHandlingIfListNull)
{
+ SetUp();
MockingFunc();
instance->initializeResourcePresence(pResource);
instance->removeAllBrokerRequester();
+ TearDown();
}
TEST_F(ResourcePresenceTest,requestResourceState_NormalHandling)
{
+ SetUp();
MockingFunc();
instance->initializeResourcePresence(pResource);
ASSERT_NO_THROW(instance->requestResourceState());
+ TearDown();
}
TEST_F(ResourcePresenceTest,changePresenceMode_NormalHandlingIfNewModeDifferent)
{
+ SetUp();
MockingFunc();
instance->initializeResourcePresence(pResource);
instance->changePresenceMode(BROKER_MODE::DEVICE_PRESENCE_MODE);
-
+ TearDown();
}
TEST_F(ResourcePresenceTest,getResourceState_NormalHandling)
{
+ SetUp();
ASSERT_EQ(BROKER_STATE::REQUESTED,instance->getResourceState());
+ TearDown();
}
TEST_F(ResourcePresenceTest,changePresenceMode_NormalHandlingIfNewModeSame)
{
+ SetUp();
MockingFunc();
instance->initializeResourcePresence(pResource);
instance->changePresenceMode(BROKER_MODE::NON_PRESENCE_MODE);
-
+ TearDown();
}
TEST_F(ResourcePresenceTest,getPrimitiveResource_NormalHandling)
{
+ SetUp();
MockingFunc();
instance->initializeResourcePresence(pResource);
ASSERT_NE(nullptr,instance->getPrimitiveResource());
+ TearDown();
}
TEST_F(ResourcePresenceTest,getCB_NormalHandlingIfMessageOC_STACK_OK)
{
+ SetUp();
mocks.ExpectCall(pResource.get(), PrimitiveResource::requestGet).Do(
[](GetCallback callback){
instance->initializeResourcePresence(pResource);
sleep(3);
+ TearDown();
}
+TEST_F(ResourcePresenceTest,isEmptyRequester_NormalHandling)
+{
+ SetUp();
+ MockingFunc();
+
+ instance->initializeResourcePresence(pResource);
+ id = 1;
+ instance->addBrokerRequester(id,cb);
+ instance->removeAllBrokerRequester();
+ ASSERT_TRUE(instance->isEmptyRequester());
+ TearDown();
+}