// Ensure that the handle the SDK hands back up to the application layer for the
// OCDoResource call matches the found ClientCB Node.
*clientCB = cbNode;
- OCFree(requestUri);
+ cbData->cd(cbData->context);
+ OCFree(*token);
OCFree(*handle);
+ OCFree(requestUri);
+ OCFree(resourceTypeName);
*handle = cbNode->handle;
}
#ifdef WITH_PRESENCE
if(method == OC_REST_PRESENCE && resourceTypeName)
{ // Amend the found or created node by adding a new resourceType to it.
- return InsertResourceTypeFilter(cbNode, (const char *)resourceTypeName);
+ return InsertResourceTypeFilter(cbNode, resourceTypeName);
}
#endif
}
#ifdef WITH_PRESENCE
-OCStackResult InsertResourceTypeFilter(ClientCB * cbNode, const char * resourceTypeName)
+OCStackResult InsertResourceTypeFilter(ClientCB * cbNode, char * resourceTypeName)
{
OCResourceType * newResourceType = NULL;
if(cbNode && resourceTypeName)
}
newResourceType->next = NULL;
- newResourceType->resourcetypename = (char *) resourceTypeName;
+ newResourceType->resourcetypename = resourceTypeName;
LL_APPEND(cbNode->filterResourceType, newResourceType);
return OC_STACK_OK;
{
OC_LOG(ERROR, TAG, PCF("CAGenerateToken error"));
CADestroyToken(token);
+ result = CAResultToOCResult(caResult);
goto exit;
}
if (caResult != CA_STATUS_OK)
{
OC_LOG(ERROR, TAG, PCF("CACreateRemoteEndpoint error"));
+ result = CAResultToOCResult(caResult);
goto exit;
}
if (caResult != CA_STATUS_OK)
{
OC_LOG(ERROR, TAG, PCF("CASendRequest"));
+ result = CAResultToOCResult(caResult);
goto exit;
}
OC_LOG(ERROR, TAG, PCF("OCDoResource error"));
FindAndDeleteClientCB(clientCB);
OCFree(resHandle);
+ OCFree(requestUri);
+ OCFree(resourceType);
}
CADestroyRemoteEndpoint(endpoint);
OCFree(grpEnd.resourceUri);
}
//Helper method
- OCResource::Ptr ConstructResourceObject(std::string uri)
+ OCResource::Ptr ConstructResourceObject(std::string host, std::string uri)
{
OCConnectivityType connectivityType = OC_WIFI;
std::vector<std::string> types = {"intel.rpost"};
std::vector<std::string> ifaces = {DEFAULT_INTERFACE};
- return OCPlatform::constructResourceObject(std::string(""), uri,
+ return OCPlatform::constructResourceObject(host, uri,
connectivityType, false, types, ifaces);
}
//ConstructResourceTest
TEST(ConstructResourceTest, ConstructResourceObject)
{
- EXPECT_ANY_THROW(ConstructResourceObject(std::string("")));
+ EXPECT_ANY_THROW(ConstructResourceObject(std::string(""), std::string("")));
}
TEST(ResourceGetTest, ResourceGetForValidUri)
{
- OCResource::Ptr resource = ConstructResourceObject("coap://192.168.1.2:5000");
+ OCResource::Ptr resource = ConstructResourceObject("coap://192.168.1.2:5000", "/resource");
if(resource)
{
QueryParamsMap test;
}
}
+ TEST(ResourceGetTest, ResourceGetForBadUri)
+ {
+ OCResource::Ptr resource = ConstructResourceObject("", "coap://192.168.1.2:5000");
+ if(resource)
+ {
+ QueryParamsMap test;
+ EXPECT_THROW(resource->get(OC::QueryParamsMap(), &onGetPut), OC::OCException);
+ }
+ }
+
TEST(ResourcePutTest, ResourcePutForValid)
{
- OCResource::Ptr resource = ConstructResourceObject("coap://192.168.1.2:5000");
+ OCResource::Ptr resource = ConstructResourceObject("coap://192.168.1.2:5000", "/resource");
if(resource)
{
QueryParamsMap test;
}
}
-
TEST(ResourcePostTest, ResourcePostValidConfiguration)
{
PlatformConfig cfg;
OCPlatform::Configure(cfg);
- OCResource::Ptr resource = ConstructResourceObject("coap://192.168.1.2:5000");
+ OCResource::Ptr resource = ConstructResourceObject("coap://192.168.1.2:5000", "/resource");
if(resource)
{
OCRepresentation rep;
TEST(ResourceObserveTest, ResourceObserveValidUri)
{
- OCResource::Ptr resource = ConstructResourceObject("coap://192.168.1.2:5000");
+ OCResource::Ptr resource = ConstructResourceObject("coap://192.168.1.2:5000", "/resource");
if(resource)
{
QueryParamsMap test;