// CBOR->OCPayload and OCPayload->OCRepresentation conversions
namespace OCRepresentationEncodingTest
{
-
- static const char uri1[] = "/testuri";
static const uint8_t sid1[] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
static const char devicename1[] = "device name";
static const char specver1[] = "spec version";
TEST(DeviceDiscoveryEncoding, Normal)
{
OCDevicePayload* device = OCDevicePayloadCreate(
- uri1,
sid1,
devicename1,
specver1,
dmver1);
- EXPECT_STREQ(uri1, device->uri);
EXPECT_STREQ(devicename1, device->deviceName);
EXPECT_STREQ(specver1, device->specVersion);
EXPECT_STREQ(dmver1, device->dataModelVersion);
cborData, cborSize));
OICFree(cborData);
- EXPECT_STREQ(device->uri, ((OCDevicePayload*)parsedDevice)->uri);
EXPECT_STREQ(device->deviceName, ((OCDevicePayload*)parsedDevice)->deviceName);
EXPECT_STREQ(device->specVersion, ((OCDevicePayload*)parsedDevice)->specVersion);
EXPECT_STREQ(device->dataModelVersion, ((OCDevicePayload*)parsedDevice)->dataModelVersion);
mc.setPayload(parsedDevice);
EXPECT_EQ(1u, mc.representations().size());
const OC::OCRepresentation& r = mc.representations()[0];
- EXPECT_STREQ(uri1, r.getUri().c_str());
EXPECT_STREQ(devicename1, r.getValue<std::string>(OC_RSRVD_DEVICE_NAME).c_str());
EXPECT_STREQ(specver1, r.getValue<std::string>(OC_RSRVD_SPEC_VERSION).c_str());
EXPECT_STREQ(dmver1, r.getValue<std::string>(OC_RSRVD_DATA_MODEL_VERSION).c_str());
-
OCPayloadDestroy(parsedDevice);
}
+ static const char uri1[] = "/testuri";
static char pfid1[] = "pfid";
static char mfgnm1[] = "mfgnm";
static char mfgurl1[] = "mfgurl";
{
OCPlatformInfo info {pfid1, mfgnm1, mfgurl1, modelnum1, dom1, pfver1, osver1, hwver1,
fwver1, url1, time1};
- OCPlatformPayload* platform = OCPlatformPayloadCreate(uri1, &info);
+ OCPlatformPayload* platform = OCPlatformPayloadCreate(&info);
EXPECT_EQ(PAYLOAD_TYPE_PLATFORM, ((OCPayload*)platform)->type);
- EXPECT_STREQ(uri1, platform->uri);
EXPECT_STREQ(pfid1, platform->info.platformID);
EXPECT_STREQ(mfgnm1, platform->info.manufacturerName);
EXPECT_STREQ(mfgurl1, platform->info.manufacturerUrl);
EXPECT_EQ(platform->base.type, ((OCPlatformPayload*)parsedPlatform)->base.type);
OCPlatformPayload* platform2 = (OCPlatformPayload*)parsedPlatform;
- EXPECT_STREQ(platform->uri, platform2->uri);
EXPECT_STREQ(platform->info.platformID, platform2->info.platformID);
EXPECT_STREQ(platform->info.manufacturerName, platform->info.manufacturerName);
EXPECT_STREQ(platform->info.manufacturerUrl, platform->info.manufacturerUrl);
mc.setPayload(parsedPlatform);
EXPECT_EQ(1u, mc.representations().size());
const OC::OCRepresentation& r = mc.representations()[0];
- EXPECT_STREQ(uri1, r.getUri().c_str());
EXPECT_STREQ(pfid1, r.getValue<std::string>(OC_RSRVD_PLATFORM_ID).c_str());
EXPECT_STREQ(mfgnm1, r.getValue<std::string>(OC_RSRVD_MFG_NAME).c_str());
EXPECT_STREQ(mfgurl1, r.getValue<std::string>(OC_RSRVD_MFG_URL).c_str());
OCPayloadDestroy(parsedPlatform);
}
+ TEST(PresencePayload, Normal)
+ {
+ uint32_t maxAge = 0;
+ uint32_t sequenceNumber = 0;
+ OCPresenceTrigger trigger = OC_PRESENCE_TRIGGER_CREATE;
+ OCPresencePayload *presence = OCPresencePayloadCreate(sequenceNumber, maxAge, trigger, uri1);
+
+ uint8_t* cborData;
+ size_t cborSize;
+ OCPayload* cparsed;
+ EXPECT_EQ(OC_STACK_OK, OCConvertPayload((OCPayload*)presence, &cborData, &cborSize));
+ EXPECT_EQ(OC_STACK_OK, OCParsePayload(&cparsed, PAYLOAD_TYPE_PRESENCE,
+ cborData, cborSize));
+ OCPayloadDestroy((OCPayload*)presence);
+ OICFree(cborData);
+ OCPresencePayload* parsed = ((OCPresencePayload*)cparsed);
+ EXPECT_EQ(sequenceNumber, parsed->sequenceNumber);
+ EXPECT_EQ(maxAge, parsed->maxAge);
+ EXPECT_EQ(trigger, parsed->trigger);
+ EXPECT_STREQ(uri1, parsed->resourceType);
+
+ OCPayloadDestroy(cparsed);
+ }
// Representation Payloads
TEST(RepresentationEncoding, BaseAttributeTypes)
{
{
OCDiscoveryPayload* payload = OCDiscoveryPayloadCreate();
OCResourcePayload* resource = (OCResourcePayload*)OICCalloc(1, sizeof(OCResourcePayload));
+ payload->sid = (uint8_t*)OICMalloc(16);
payload->resources = resource;
OCResourcePayloadAddResourceType(resource, "rt.singleitem");
OCResourcePayloadAddInterface(resource, "if.singleitem");
resource->uri = OICStrdup("/uri/thing");
- resource->sid = (uint8_t*)OICMalloc(16);
uint8_t* cborData;
size_t cborSize;
TEST(DiscoveryRTandIF, SingleItemFrontTrim)
{
OCDiscoveryPayload* payload = OCDiscoveryPayloadCreate();
+ payload->sid = (uint8_t*)OICMalloc(16);
OCResourcePayload* resource = (OCResourcePayload*)OICCalloc(1, sizeof(OCResourcePayload));
payload->resources = resource;
OCResourcePayloadAddResourceType(resource, " rt.singleitem");
OCResourcePayloadAddInterface(resource, " if.singleitem");
resource->uri = OICStrdup("/uri/thing");
- resource->sid = (uint8_t*)OICMalloc(16);
uint8_t* cborData;
size_t cborSize;
TEST(DiscoveryRTandIF, SingleItemBackTrim)
{
OCDiscoveryPayload* payload = OCDiscoveryPayloadCreate();
+ payload->sid = (uint8_t*)OICMalloc(16);
OCResourcePayload* resource = (OCResourcePayload*)OICCalloc(1, sizeof(OCResourcePayload));
payload->resources = resource;
OCResourcePayloadAddResourceType(resource, "rt.singleitem ");
OCResourcePayloadAddInterface(resource, "if.singleitem ");
resource->uri = OICStrdup("/uri/thing");
- resource->sid = (uint8_t*)OICMalloc(16);
uint8_t* cborData;
size_t cborSize;
TEST(DiscoveryRTandIF, SingleItemBothTrim)
{
OCDiscoveryPayload* payload = OCDiscoveryPayloadCreate();
+ payload->sid = (uint8_t*)OICMalloc(16);
OCResourcePayload* resource = (OCResourcePayload*)OICCalloc(1, sizeof(OCResourcePayload));
payload->resources = resource;
OCResourcePayloadAddResourceType(resource, " rt.singleitem ");
OCResourcePayloadAddInterface(resource, " if.singleitem ");
resource->uri = OICStrdup("/uri/thing");
- resource->sid = (uint8_t*)OICMalloc(16);
uint8_t* cborData;
size_t cborSize;
TEST(DiscoveryRTandIF, MultiItemsNormal)
{
OCDiscoveryPayload* payload = OCDiscoveryPayloadCreate();
+ payload->sid = (uint8_t*)OICMalloc(16);
OCResourcePayload* resource = (OCResourcePayload*)OICCalloc(1, sizeof(OCResourcePayload));
payload->resources = resource;
OCResourcePayloadAddInterface(resource, "if.firstitem");
OCResourcePayloadAddInterface(resource, "if.seconditem");
resource->uri = OICStrdup("/uri/thing");
- resource->sid = (uint8_t*)OICMalloc(16);
uint8_t* cborData;
size_t cborSize;
TEST(DiscoveryRTandIF, MultiItemExtraLeadSpaces)
{
OCDiscoveryPayload* payload = OCDiscoveryPayloadCreate();
+ payload->sid = (uint8_t*)OICMalloc(16);
OCResourcePayload* resource = (OCResourcePayload*)OICCalloc(1, sizeof(OCResourcePayload));
payload->resources = resource;
OCResourcePayloadAddInterface(resource, " if.firstitem");
OCResourcePayloadAddInterface(resource, " if.seconditem");
resource->uri = OICStrdup("/uri/thing");
- resource->sid = (uint8_t*)OICMalloc(16);
uint8_t* cborData;
size_t cborSize;
TEST(DiscoveryRTandIF, MultiItemExtraTrailSpaces)
{
OCDiscoveryPayload* payload = OCDiscoveryPayloadCreate();
+ payload->sid = (uint8_t*)OICMalloc(16);
OCResourcePayload* resource = (OCResourcePayload*)OICCalloc(1, sizeof(OCResourcePayload));
payload->resources = resource;
OCResourcePayloadAddInterface(resource, "if.firstitem ");
OCResourcePayloadAddInterface(resource, "if.seconditem ");
resource->uri = OICStrdup("/uri/thing");
- resource->sid = (uint8_t*)OICMalloc(16);
uint8_t* cborData;
size_t cborSize;
TEST(DiscoveryRTandIF, MultiItemBothSpaces)
{
OCDiscoveryPayload* payload = OCDiscoveryPayloadCreate();
+ payload->sid = (uint8_t*)OICMalloc(16);
OCResourcePayload* resource = (OCResourcePayload*)OICCalloc(1, sizeof(OCResourcePayload));
payload->resources = resource;
OCResourcePayloadAddInterface(resource, " if.firstitem ");
OCResourcePayloadAddInterface(resource, " if.seconditem ");
resource->uri = OICStrdup("/uri/thing");
- resource->sid = (uint8_t*)OICMalloc(16);
uint8_t* cborData;
size_t cborSize;
TEST(RepresentationEncodingRTandIF, SingleItemNormal)
{
OCRepPayload* payload = OCRepPayloadCreate();
- OCRepPayloadSetUri(payload, "/this/uri");
OCRepPayloadAddResourceType(payload, "rt.firstitem");
OCRepPayloadAddInterface(payload, "if.firstitem");
TEST(RepresentationEncodingRTandIF, SingleItemFrontTrim)
{
OCRepPayload* payload = OCRepPayloadCreate();
- OCRepPayloadSetUri(payload, "/this/uri");
OCRepPayloadAddResourceType(payload, " rt.firstitem");
OCRepPayloadAddInterface(payload, " if.firstitem");
TEST(RepresentationEncodingRTandIF, SingleItemBackTrim)
{
OCRepPayload* payload = OCRepPayloadCreate();
- OCRepPayloadSetUri(payload, "/this/uri");
OCRepPayloadAddResourceType(payload, "rt.firstitem ");
OCRepPayloadAddInterface(payload, "if.firstitem ");
TEST(RepresentationEncodingRTandIF, SingleItemBothTrim)
{
OCRepPayload* payload = OCRepPayloadCreate();
- OCRepPayloadSetUri(payload, "/this/uri");
OCRepPayloadAddResourceType(payload, " rt.firstitem ");
OCRepPayloadAddInterface(payload, " if.firstitem ");
TEST(RepresentationEncodingRTandIF, MultiItemsNormal)
{
OCRepPayload* payload = OCRepPayloadCreate();
- OCRepPayloadSetUri(payload, "/this/uri");
OCRepPayloadAddResourceType(payload, "rt.firstitem");
OCRepPayloadAddResourceType(payload, "rt.seconditem");
OCRepPayloadAddInterface(payload, "if.firstitem");
TEST(RepresentationEncodingRTandIF, MultiItemExtraLeadSpaces)
{
OCRepPayload* payload = OCRepPayloadCreate();
- OCRepPayloadSetUri(payload, "/this/uri");
OCRepPayloadAddResourceType(payload, " rt.firstitem");
OCRepPayloadAddResourceType(payload, " rt.seconditem");
OCRepPayloadAddInterface(payload, " if.firstitem");
TEST(RepresentationEncodingRTandIF, MultiItemExtraTrailSpaces)
{
OCRepPayload* payload = OCRepPayloadCreate();
- OCRepPayloadSetUri(payload, "/this/uri");
OCRepPayloadAddResourceType(payload, "rt.firstitem ");
OCRepPayloadAddResourceType(payload, "rt.seconditem ");
OCRepPayloadAddInterface(payload, "if.firstitem ");
TEST(RepresentationEncodingRTandIF, MultiItemExtraMiddleSpaces)
{
OCRepPayload* payload = OCRepPayloadCreate();
- OCRepPayloadSetUri(payload, "/this/uri");
OCRepPayloadAddResourceType(payload, " rt.firstitem ");
OCRepPayloadAddResourceType(payload, " rt.seconditem ");
OCRepPayloadAddInterface(payload, " if.firstitem ");