FRDM K64F Metronome

Committer:
ram54288
Date:
Sun May 14 18:37:05 2017 +0000
Revision:
0:dbad57390bd1
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ram54288 0:dbad57390bd1 1 /*
ram54288 0:dbad57390bd1 2 * Copyright (c) 2015 ARM Limited. All rights reserved.
ram54288 0:dbad57390bd1 3 * SPDX-License-Identifier: Apache-2.0
ram54288 0:dbad57390bd1 4 * Licensed under the Apache License, Version 2.0 (the License); you may
ram54288 0:dbad57390bd1 5 * not use this file except in compliance with the License.
ram54288 0:dbad57390bd1 6 * You may obtain a copy of the License at
ram54288 0:dbad57390bd1 7 *
ram54288 0:dbad57390bd1 8 * http://www.apache.org/licenses/LICENSE-2.0
ram54288 0:dbad57390bd1 9 *
ram54288 0:dbad57390bd1 10 * Unless required by applicable law or agreed to in writing, software
ram54288 0:dbad57390bd1 11 * distributed under the License is distributed on an AS IS BASIS, WITHOUT
ram54288 0:dbad57390bd1 12 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
ram54288 0:dbad57390bd1 13 * See the License for the specific language governing permissions and
ram54288 0:dbad57390bd1 14 * limitations under the License.
ram54288 0:dbad57390bd1 15 */
ram54288 0:dbad57390bd1 16 #include "CppUTest/TestHarness.h"
ram54288 0:dbad57390bd1 17 #include "test_m2mtlvdeserializer.h"
ram54288 0:dbad57390bd1 18 #include "m2mtlvserializer.h"
ram54288 0:dbad57390bd1 19 #include "m2mobject_stub.h"
ram54288 0:dbad57390bd1 20 #include "m2mobjectinstance_stub.h"
ram54288 0:dbad57390bd1 21 #include "m2mresource_stub.h"
ram54288 0:dbad57390bd1 22 #include "m2mresourceinstance_stub.h"
ram54288 0:dbad57390bd1 23 #include "m2mbase_stub.h"
ram54288 0:dbad57390bd1 24
ram54288 0:dbad57390bd1 25
ram54288 0:dbad57390bd1 26 Test_M2MTLVDeserializer::Test_M2MTLVDeserializer()
ram54288 0:dbad57390bd1 27 {
ram54288 0:dbad57390bd1 28 deserializer = new M2MTLVDeserializer();
ram54288 0:dbad57390bd1 29 }
ram54288 0:dbad57390bd1 30
ram54288 0:dbad57390bd1 31 Test_M2MTLVDeserializer::~Test_M2MTLVDeserializer()
ram54288 0:dbad57390bd1 32 {
ram54288 0:dbad57390bd1 33 delete deserializer;
ram54288 0:dbad57390bd1 34 m2mbase_stub::clear();
ram54288 0:dbad57390bd1 35 m2mresourceinstance_stub::clear();
ram54288 0:dbad57390bd1 36 m2mobjectinstance_stub::clear();
ram54288 0:dbad57390bd1 37 m2mobject_stub::clear();
ram54288 0:dbad57390bd1 38 m2mresource_stub::clear();
ram54288 0:dbad57390bd1 39 }
ram54288 0:dbad57390bd1 40
ram54288 0:dbad57390bd1 41 void Test_M2MTLVDeserializer::test_is_object_instance()
ram54288 0:dbad57390bd1 42 {
ram54288 0:dbad57390bd1 43 uint8_t data_resource[] = {0xC3,0x0};
ram54288 0:dbad57390bd1 44 uint8_t data_object[] = {0x08,0x0};
ram54288 0:dbad57390bd1 45
ram54288 0:dbad57390bd1 46 CHECK(deserializer->is_object_instance(data_resource) == false);
ram54288 0:dbad57390bd1 47 CHECK(deserializer->is_object_instance(data_object) == true);
ram54288 0:dbad57390bd1 48 }
ram54288 0:dbad57390bd1 49
ram54288 0:dbad57390bd1 50 void Test_M2MTLVDeserializer::test_is_resource()
ram54288 0:dbad57390bd1 51 {
ram54288 0:dbad57390bd1 52 uint8_t data_resource[] = {0xC3,0x0};
ram54288 0:dbad57390bd1 53 uint8_t data_object[] = {0x08,0x0};
ram54288 0:dbad57390bd1 54
ram54288 0:dbad57390bd1 55 CHECK(deserializer->is_resource(data_resource) == true);
ram54288 0:dbad57390bd1 56 CHECK(deserializer->is_resource(data_object) == false);
ram54288 0:dbad57390bd1 57
ram54288 0:dbad57390bd1 58 }
ram54288 0:dbad57390bd1 59
ram54288 0:dbad57390bd1 60 void Test_M2MTLVDeserializer::test_is_multiple_resource()
ram54288 0:dbad57390bd1 61 {
ram54288 0:dbad57390bd1 62 uint8_t data_resource[] = {0xC3,0x0};
ram54288 0:dbad57390bd1 63 uint8_t data_object[] = {0x88,0x0};
ram54288 0:dbad57390bd1 64
ram54288 0:dbad57390bd1 65 CHECK(deserializer->is_multiple_resource(data_resource) == false);
ram54288 0:dbad57390bd1 66 CHECK(deserializer->is_multiple_resource(data_object) == true);
ram54288 0:dbad57390bd1 67 }
ram54288 0:dbad57390bd1 68
ram54288 0:dbad57390bd1 69 void Test_M2MTLVDeserializer::test_is_resource_instance()
ram54288 0:dbad57390bd1 70 {
ram54288 0:dbad57390bd1 71 uint8_t data_resource[] = {0xC3,0x0};
ram54288 0:dbad57390bd1 72 uint8_t data_object[] = {0x44,0x0};
ram54288 0:dbad57390bd1 73
ram54288 0:dbad57390bd1 74 CHECK(deserializer->is_resource_instance(data_object) == true);
ram54288 0:dbad57390bd1 75 CHECK(deserializer->is_resource_instance(data_resource) == false);
ram54288 0:dbad57390bd1 76 }
ram54288 0:dbad57390bd1 77
ram54288 0:dbad57390bd1 78 void Test_M2MTLVDeserializer::test_deserialise_object_instances()
ram54288 0:dbad57390bd1 79 {
ram54288 0:dbad57390bd1 80 uint32_t size = 0;
ram54288 0:dbad57390bd1 81 uint8_t *data = 0;
ram54288 0:dbad57390bd1 82
ram54288 0:dbad57390bd1 83
ram54288 0:dbad57390bd1 84 M2MObject *object = new M2MObject("1", "1");
ram54288 0:dbad57390bd1 85 M2MObjectInstance* instance = new M2MObjectInstance(*object,"1", "type", "1");
ram54288 0:dbad57390bd1 86
ram54288 0:dbad57390bd1 87 M2MObjectInstance* instance_1 = new M2MObjectInstance(*object,"2", "type", "2");
ram54288 0:dbad57390bd1 88
ram54288 0:dbad57390bd1 89
ram54288 0:dbad57390bd1 90 m2mobject_stub::instance_list.push_back(instance);
ram54288 0:dbad57390bd1 91
ram54288 0:dbad57390bd1 92 M2MResource* resource = new M2MResource(*instance,
ram54288 0:dbad57390bd1 93 "1",
ram54288 0:dbad57390bd1 94 "type",
ram54288 0:dbad57390bd1 95 M2MResourceInstance::INTEGER,
ram54288 0:dbad57390bd1 96 false,
ram54288 0:dbad57390bd1 97 "1");
ram54288 0:dbad57390bd1 98
ram54288 0:dbad57390bd1 99 M2MResource* resource_1 = new M2MResource(*instance,
ram54288 0:dbad57390bd1 100 "2",
ram54288 0:dbad57390bd1 101 "type",
ram54288 0:dbad57390bd1 102 M2MResourceInstance::INTEGER,
ram54288 0:dbad57390bd1 103 false,
ram54288 0:dbad57390bd1 104 "2");
ram54288 0:dbad57390bd1 105
ram54288 0:dbad57390bd1 106 m2mobjectinstance_stub::resource_list.push_back(resource);
ram54288 0:dbad57390bd1 107 m2mobjectinstance_stub::resource_list.push_back(resource_1);
ram54288 0:dbad57390bd1 108
ram54288 0:dbad57390bd1 109 m2mbase_stub::name_id_value = 0;
ram54288 0:dbad57390bd1 110 m2mbase_stub::operation = M2MBase::GET_PUT_POST_ALLOWED;
ram54288 0:dbad57390bd1 111
ram54288 0:dbad57390bd1 112 M2MTLVSerializer *serializer = new M2MTLVSerializer();
ram54288 0:dbad57390bd1 113
ram54288 0:dbad57390bd1 114 data = serializer->serialize( m2mobject_stub::instance_list,size);
ram54288 0:dbad57390bd1 115
ram54288 0:dbad57390bd1 116 CHECK(M2MTLVDeserializer::None == deserializer->deserialise_object_instances(data,size,*object,M2MTLVDeserializer::Post));
ram54288 0:dbad57390bd1 117
ram54288 0:dbad57390bd1 118 size = 0;
ram54288 0:dbad57390bd1 119
ram54288 0:dbad57390bd1 120 if(data) {
ram54288 0:dbad57390bd1 121 free(data);
ram54288 0:dbad57390bd1 122 data = 0;
ram54288 0:dbad57390bd1 123 }
ram54288 0:dbad57390bd1 124
ram54288 0:dbad57390bd1 125 m2mbase_stub::operation = M2MBase::GET_ALLOWED;
ram54288 0:dbad57390bd1 126
ram54288 0:dbad57390bd1 127 data = serializer->serialize( m2mobject_stub::instance_list,size);
ram54288 0:dbad57390bd1 128
ram54288 0:dbad57390bd1 129 CHECK(M2MTLVDeserializer::NotAllowed == deserializer->deserialise_object_instances(data,size,*object,M2MTLVDeserializer::Post));
ram54288 0:dbad57390bd1 130
ram54288 0:dbad57390bd1 131 size = 0;
ram54288 0:dbad57390bd1 132
ram54288 0:dbad57390bd1 133 if(data) {
ram54288 0:dbad57390bd1 134 free(data);
ram54288 0:dbad57390bd1 135 data = 0;
ram54288 0:dbad57390bd1 136 }
ram54288 0:dbad57390bd1 137
ram54288 0:dbad57390bd1 138 m2mbase_stub::operation = M2MBase::GET_PUT_POST_ALLOWED;
ram54288 0:dbad57390bd1 139
ram54288 0:dbad57390bd1 140 u_int8_t value[] = {"value"};
ram54288 0:dbad57390bd1 141 m2mresourceinstance_stub::value = value;
ram54288 0:dbad57390bd1 142 m2mresourceinstance_stub::int_value = sizeof(value);
ram54288 0:dbad57390bd1 143
ram54288 0:dbad57390bd1 144 data = serializer->serialize( m2mobject_stub::instance_list,size);
ram54288 0:dbad57390bd1 145
ram54288 0:dbad57390bd1 146 delete serializer;
ram54288 0:dbad57390bd1 147
ram54288 0:dbad57390bd1 148 CHECK(M2MTLVDeserializer::None == deserializer->deserialise_object_instances(data,size,*object,M2MTLVDeserializer::Post));
ram54288 0:dbad57390bd1 149 CHECK(M2MTLVDeserializer::None == deserializer->deserialise_object_instances(data,size,*object,M2MTLVDeserializer::Put));
ram54288 0:dbad57390bd1 150
ram54288 0:dbad57390bd1 151 size = 0;
ram54288 0:dbad57390bd1 152
ram54288 0:dbad57390bd1 153 if(data) {
ram54288 0:dbad57390bd1 154 free(data);
ram54288 0:dbad57390bd1 155 data = 0;
ram54288 0:dbad57390bd1 156 }
ram54288 0:dbad57390bd1 157
ram54288 0:dbad57390bd1 158 m2mobject_stub::instance_list.push_back(instance_1);
ram54288 0:dbad57390bd1 159
ram54288 0:dbad57390bd1 160 m2mbase_stub::operation = M2MBase::NOT_ALLOWED;
ram54288 0:dbad57390bd1 161 serializer = new M2MTLVSerializer();
ram54288 0:dbad57390bd1 162
ram54288 0:dbad57390bd1 163 data = serializer->serialize( m2mobject_stub::instance_list,size);
ram54288 0:dbad57390bd1 164
ram54288 0:dbad57390bd1 165 delete serializer;
ram54288 0:dbad57390bd1 166
ram54288 0:dbad57390bd1 167 CHECK(M2MTLVDeserializer::None != deserializer->deserialise_object_instances(data,size,*object,M2MTLVDeserializer::Post));
ram54288 0:dbad57390bd1 168 size = 0;
ram54288 0:dbad57390bd1 169
ram54288 0:dbad57390bd1 170 if(data) {
ram54288 0:dbad57390bd1 171 free(data);
ram54288 0:dbad57390bd1 172 data = 0;
ram54288 0:dbad57390bd1 173 }
ram54288 0:dbad57390bd1 174
ram54288 0:dbad57390bd1 175 CHECK(M2MTLVDeserializer::NotValid == deserializer->deserialise_object_instances(data,size,*object,M2MTLVDeserializer::Post));
ram54288 0:dbad57390bd1 176
ram54288 0:dbad57390bd1 177 M2MResourceInstance* res_instance = new M2MResourceInstance(*resource,
ram54288 0:dbad57390bd1 178 "1",
ram54288 0:dbad57390bd1 179 "type",
ram54288 0:dbad57390bd1 180 M2MResourceInstance::INTEGER,
ram54288 0:dbad57390bd1 181 0,
ram54288 0:dbad57390bd1 182 "1",
ram54288 0:dbad57390bd1 183 false);
ram54288 0:dbad57390bd1 184
ram54288 0:dbad57390bd1 185
ram54288 0:dbad57390bd1 186 M2MResourceInstance* res_instance_1 = new M2MResourceInstance(*resource,
ram54288 0:dbad57390bd1 187 "2",
ram54288 0:dbad57390bd1 188 "type",
ram54288 0:dbad57390bd1 189 M2MResourceInstance::INTEGER,
ram54288 0:dbad57390bd1 190 0,
ram54288 0:dbad57390bd1 191 "1",
ram54288 0:dbad57390bd1 192 false);
ram54288 0:dbad57390bd1 193
ram54288 0:dbad57390bd1 194 m2mresource_stub::bool_value = true;
ram54288 0:dbad57390bd1 195 m2mresource_stub::list.push_back(res_instance);
ram54288 0:dbad57390bd1 196 m2mresource_stub::list.push_back(res_instance_1);
ram54288 0:dbad57390bd1 197
ram54288 0:dbad57390bd1 198 m2mobject_stub::instance_list.pop_back();
ram54288 0:dbad57390bd1 199
ram54288 0:dbad57390bd1 200 serializer = new M2MTLVSerializer();
ram54288 0:dbad57390bd1 201 data = serializer->serialize( m2mobject_stub::instance_list,size);
ram54288 0:dbad57390bd1 202 delete serializer;
ram54288 0:dbad57390bd1 203
ram54288 0:dbad57390bd1 204 m2mbase_stub::operation = M2MBase::GET_PUT_POST_ALLOWED;
ram54288 0:dbad57390bd1 205
ram54288 0:dbad57390bd1 206 m2mbase_stub::string_value = "name";
ram54288 0:dbad57390bd1 207 m2mobjectinstance_stub::create_resource_instance = new M2MResource(*instance,
ram54288 0:dbad57390bd1 208 "1",
ram54288 0:dbad57390bd1 209 "type",
ram54288 0:dbad57390bd1 210 M2MResourceInstance::INTEGER,
ram54288 0:dbad57390bd1 211 false,
ram54288 0:dbad57390bd1 212 "1");
ram54288 0:dbad57390bd1 213
ram54288 0:dbad57390bd1 214 deserializer->deserialise_object_instances(data,size,*object,M2MTLVDeserializer::Post);
ram54288 0:dbad57390bd1 215
ram54288 0:dbad57390bd1 216 deserializer->deserialise_object_instances(data,size,*object,M2MTLVDeserializer::Put);
ram54288 0:dbad57390bd1 217
ram54288 0:dbad57390bd1 218 size = 0;
ram54288 0:dbad57390bd1 219 if(data) {
ram54288 0:dbad57390bd1 220 free(data);
ram54288 0:dbad57390bd1 221 data = 0;
ram54288 0:dbad57390bd1 222 }
ram54288 0:dbad57390bd1 223
ram54288 0:dbad57390bd1 224 m2mbase_stub::name_id_value = 300;
ram54288 0:dbad57390bd1 225
ram54288 0:dbad57390bd1 226 m2mresourceinstance_stub::int_value = 6;
ram54288 0:dbad57390bd1 227 m2mresourceinstance_stub::value = (uint8_t*) malloc(m2mresourceinstance_stub::int_value);
ram54288 0:dbad57390bd1 228 serializer = new M2MTLVSerializer();
ram54288 0:dbad57390bd1 229 data = serializer->serialize( m2mobject_stub::instance_list,size);
ram54288 0:dbad57390bd1 230 delete serializer;
ram54288 0:dbad57390bd1 231
ram54288 0:dbad57390bd1 232 deserializer->deserialise_object_instances(data,size,*object, M2MTLVDeserializer::Post);
ram54288 0:dbad57390bd1 233 deserializer->deserialise_object_instances(data,size,*object, M2MTLVDeserializer::Put);
ram54288 0:dbad57390bd1 234 size = 0;
ram54288 0:dbad57390bd1 235
ram54288 0:dbad57390bd1 236 if(data) {
ram54288 0:dbad57390bd1 237 free(data);
ram54288 0:dbad57390bd1 238 data = 0;
ram54288 0:dbad57390bd1 239 }
ram54288 0:dbad57390bd1 240 free(m2mresourceinstance_stub::value);
ram54288 0:dbad57390bd1 241 m2mresourceinstance_stub::value = NULL;
ram54288 0:dbad57390bd1 242
ram54288 0:dbad57390bd1 243 m2mresourceinstance_stub::int_value = 256;
ram54288 0:dbad57390bd1 244 m2mresourceinstance_stub::value = (uint8_t*) malloc(m2mresourceinstance_stub::int_value);
ram54288 0:dbad57390bd1 245 serializer = new M2MTLVSerializer();
ram54288 0:dbad57390bd1 246 data = serializer->serialize( m2mobject_stub::instance_list,size);
ram54288 0:dbad57390bd1 247 delete serializer;
ram54288 0:dbad57390bd1 248
ram54288 0:dbad57390bd1 249 deserializer->deserialise_object_instances(data,size,*object,M2MTLVDeserializer::Post);
ram54288 0:dbad57390bd1 250 deserializer->deserialise_object_instances(data,size,*object,M2MTLVDeserializer::Put);
ram54288 0:dbad57390bd1 251 size = 0;
ram54288 0:dbad57390bd1 252
ram54288 0:dbad57390bd1 253 if(data) {
ram54288 0:dbad57390bd1 254 free(data);
ram54288 0:dbad57390bd1 255 data = 0;
ram54288 0:dbad57390bd1 256 }
ram54288 0:dbad57390bd1 257 free(m2mresourceinstance_stub::value);
ram54288 0:dbad57390bd1 258 m2mresourceinstance_stub::value = NULL;
ram54288 0:dbad57390bd1 259
ram54288 0:dbad57390bd1 260 m2mresourceinstance_stub::int_value = 65536;
ram54288 0:dbad57390bd1 261 m2mresourceinstance_stub::value = (uint8_t*) malloc(m2mresourceinstance_stub::int_value);
ram54288 0:dbad57390bd1 262 serializer = new M2MTLVSerializer();
ram54288 0:dbad57390bd1 263 data = serializer->serialize( m2mobject_stub::instance_list,size);
ram54288 0:dbad57390bd1 264 delete serializer;
ram54288 0:dbad57390bd1 265
ram54288 0:dbad57390bd1 266 deserializer->deserialise_object_instances(data,size,*object,M2MTLVDeserializer::Post);
ram54288 0:dbad57390bd1 267 deserializer->deserialise_object_instances(data,size,*object,M2MTLVDeserializer::Put);
ram54288 0:dbad57390bd1 268 size = 0;
ram54288 0:dbad57390bd1 269
ram54288 0:dbad57390bd1 270 if(data) {
ram54288 0:dbad57390bd1 271 free(data);
ram54288 0:dbad57390bd1 272 data = 0;
ram54288 0:dbad57390bd1 273 }
ram54288 0:dbad57390bd1 274
ram54288 0:dbad57390bd1 275 free(m2mresourceinstance_stub::value);
ram54288 0:dbad57390bd1 276 m2mresourceinstance_stub::value = NULL;
ram54288 0:dbad57390bd1 277
ram54288 0:dbad57390bd1 278 delete m2mobjectinstance_stub::create_resource_instance;
ram54288 0:dbad57390bd1 279 m2mobjectinstance_stub::create_resource_instance = NULL;
ram54288 0:dbad57390bd1 280
ram54288 0:dbad57390bd1 281 delete res_instance;
ram54288 0:dbad57390bd1 282 delete res_instance_1;
ram54288 0:dbad57390bd1 283 delete resource;
ram54288 0:dbad57390bd1 284 delete resource_1;
ram54288 0:dbad57390bd1 285 delete instance;
ram54288 0:dbad57390bd1 286 delete instance_1;
ram54288 0:dbad57390bd1 287 delete object;
ram54288 0:dbad57390bd1 288 }
ram54288 0:dbad57390bd1 289
ram54288 0:dbad57390bd1 290 void Test_M2MTLVDeserializer::test_deserialize_resources()
ram54288 0:dbad57390bd1 291 {
ram54288 0:dbad57390bd1 292 uint8_t data_resource[] = {0xC3,0x0,'A','R','M'};
ram54288 0:dbad57390bd1 293
ram54288 0:dbad57390bd1 294 M2MObject *object = new M2MObject("1","1");
ram54288 0:dbad57390bd1 295 M2MObjectInstance* instance = new M2MObjectInstance(*object,"1","type", "1");
ram54288 0:dbad57390bd1 296
ram54288 0:dbad57390bd1 297 m2mobject_stub::instance_list.push_back(instance);
ram54288 0:dbad57390bd1 298
ram54288 0:dbad57390bd1 299 M2MResource* resource = new M2MResource(*instance,
ram54288 0:dbad57390bd1 300 "1",
ram54288 0:dbad57390bd1 301 "type",
ram54288 0:dbad57390bd1 302 M2MResourceInstance::INTEGER,
ram54288 0:dbad57390bd1 303 false,
ram54288 0:dbad57390bd1 304 "1");
ram54288 0:dbad57390bd1 305
ram54288 0:dbad57390bd1 306
ram54288 0:dbad57390bd1 307 m2mobjectinstance_stub::resource_list.push_back(resource);
ram54288 0:dbad57390bd1 308
ram54288 0:dbad57390bd1 309 CHECK(deserializer->is_resource(data_resource) == true);
ram54288 0:dbad57390bd1 310
ram54288 0:dbad57390bd1 311 uint8_t invalid_data_resource[] = {0x65,0x0,'A','R','M'};
ram54288 0:dbad57390bd1 312
ram54288 0:dbad57390bd1 313 CHECK( M2MTLVDeserializer::NotValid == deserializer->deserialize_resources(invalid_data_resource,
ram54288 0:dbad57390bd1 314 sizeof(invalid_data_resource),
ram54288 0:dbad57390bd1 315 *instance,M2MTLVDeserializer::Post));
ram54288 0:dbad57390bd1 316
ram54288 0:dbad57390bd1 317 m2mbase_stub::operation = M2MBase::GET_PUT_POST_ALLOWED;
ram54288 0:dbad57390bd1 318
ram54288 0:dbad57390bd1 319 m2mobjectinstance_stub::create_resource = new M2MResource(*instance,
ram54288 0:dbad57390bd1 320 "1",
ram54288 0:dbad57390bd1 321 "type",
ram54288 0:dbad57390bd1 322 M2MResourceInstance::INTEGER,
ram54288 0:dbad57390bd1 323 false,
ram54288 0:dbad57390bd1 324 "1");
ram54288 0:dbad57390bd1 325
ram54288 0:dbad57390bd1 326 CHECK( M2MTLVDeserializer::None == deserializer->deserialize_resources(data_resource,sizeof(data_resource),*instance,M2MTLVDeserializer::Post));
ram54288 0:dbad57390bd1 327
ram54288 0:dbad57390bd1 328 delete m2mobjectinstance_stub::create_resource;
ram54288 0:dbad57390bd1 329 m2mobjectinstance_stub::create_resource = NULL;
ram54288 0:dbad57390bd1 330
ram54288 0:dbad57390bd1 331 CHECK( M2MTLVDeserializer::NotFound == deserializer->deserialize_resources(data_resource,sizeof(data_resource),*instance,M2MTLVDeserializer::Put));
ram54288 0:dbad57390bd1 332
ram54288 0:dbad57390bd1 333 m2mbase_stub::operation = M2MBase::NOT_ALLOWED;
ram54288 0:dbad57390bd1 334
ram54288 0:dbad57390bd1 335 deserializer->deserialize_resources(data_resource,sizeof(data_resource),*instance,M2MTLVDeserializer::Post);
ram54288 0:dbad57390bd1 336
ram54288 0:dbad57390bd1 337
ram54288 0:dbad57390bd1 338 M2MResourceInstance* res_instance = new M2MResourceInstance(*resource,
ram54288 0:dbad57390bd1 339 "1",
ram54288 0:dbad57390bd1 340 "type",
ram54288 0:dbad57390bd1 341 M2MResourceInstance::INTEGER,
ram54288 0:dbad57390bd1 342 0,
ram54288 0:dbad57390bd1 343 "1",
ram54288 0:dbad57390bd1 344 false);
ram54288 0:dbad57390bd1 345
ram54288 0:dbad57390bd1 346
ram54288 0:dbad57390bd1 347 m2mresource_stub::bool_value = true;
ram54288 0:dbad57390bd1 348 m2mresource_stub::list.push_back(res_instance);
ram54288 0:dbad57390bd1 349
ram54288 0:dbad57390bd1 350 // M2MResourceInstance* res_instance_1 = new M2MResourceInstance("2",
ram54288 0:dbad57390bd1 351 // *name,
ram54288 0:dbad57390bd1 352 // M2MResourceInstance::INTEGER,
ram54288 0:dbad57390bd1 353 // *instance);
ram54288 0:dbad57390bd1 354
ram54288 0:dbad57390bd1 355 // m2mresource_stub::list.push_back(res_instance_1);
ram54288 0:dbad57390bd1 356 m2mbase_stub::string_value = "1";
ram54288 0:dbad57390bd1 357 uint8_t data_multiple_resource[] = {0x86,0x6, 0x81,0x0, 0x01, 0x41, 0x01, 0x05};
ram54288 0:dbad57390bd1 358 CHECK(deserializer->is_multiple_resource(data_multiple_resource) == true);
ram54288 0:dbad57390bd1 359 deserializer->deserialize_resources(data_multiple_resource,sizeof(data_multiple_resource),*instance,M2MTLVDeserializer::Post);
ram54288 0:dbad57390bd1 360
ram54288 0:dbad57390bd1 361 M2MTLVSerializer *serializer = new M2MTLVSerializer();
ram54288 0:dbad57390bd1 362
ram54288 0:dbad57390bd1 363 m2mbase_stub::name_id_value = 1;
ram54288 0:dbad57390bd1 364 uint32_t size = 0;
ram54288 0:dbad57390bd1 365 uint8_t* data = serializer->serialize(resource,size);
ram54288 0:dbad57390bd1 366
ram54288 0:dbad57390bd1 367 delete serializer;
ram54288 0:dbad57390bd1 368
ram54288 0:dbad57390bd1 369 m2mbase_stub::operation = M2MBase::GET_PUT_POST_ALLOWED;
ram54288 0:dbad57390bd1 370
ram54288 0:dbad57390bd1 371 deserializer->deserialize_resources(data,size,*instance,M2MTLVDeserializer::Post);
ram54288 0:dbad57390bd1 372
ram54288 0:dbad57390bd1 373 free(data);
ram54288 0:dbad57390bd1 374
ram54288 0:dbad57390bd1 375 delete res_instance;
ram54288 0:dbad57390bd1 376 // delete res_instance_1;
ram54288 0:dbad57390bd1 377 delete resource;
ram54288 0:dbad57390bd1 378 delete instance;
ram54288 0:dbad57390bd1 379 delete object;
ram54288 0:dbad57390bd1 380
ram54288 0:dbad57390bd1 381 m2mresourceinstance_stub::clear();
ram54288 0:dbad57390bd1 382 m2mresource_stub::clear();
ram54288 0:dbad57390bd1 383 m2mobjectinstance_stub::clear();
ram54288 0:dbad57390bd1 384 m2mobject_stub::clear();
ram54288 0:dbad57390bd1 385 }
ram54288 0:dbad57390bd1 386
ram54288 0:dbad57390bd1 387 void Test_M2MTLVDeserializer::test_deserialize_resource_instance_1()
ram54288 0:dbad57390bd1 388 {
ram54288 0:dbad57390bd1 389 uint8_t data_resource[] = {0xC3,0x0,'A','R','M'};
ram54288 0:dbad57390bd1 390
ram54288 0:dbad57390bd1 391 m2mbase_stub::name_id_value = 1;
ram54288 0:dbad57390bd1 392
ram54288 0:dbad57390bd1 393 M2MObject *object = new M2MObject("1","1");
ram54288 0:dbad57390bd1 394 M2MObjectInstance* instance = new M2MObjectInstance(*object,"1","type", "1");
ram54288 0:dbad57390bd1 395
ram54288 0:dbad57390bd1 396 m2mobject_stub::instance_list.push_back(instance);
ram54288 0:dbad57390bd1 397
ram54288 0:dbad57390bd1 398 M2MResource* resource = new M2MResource(*instance,
ram54288 0:dbad57390bd1 399 "1",
ram54288 0:dbad57390bd1 400 "type",
ram54288 0:dbad57390bd1 401 M2MResourceInstance::INTEGER,
ram54288 0:dbad57390bd1 402 false,
ram54288 0:dbad57390bd1 403 "1");
ram54288 0:dbad57390bd1 404
ram54288 0:dbad57390bd1 405 m2mobjectinstance_stub::resource_list.push_back(resource);
ram54288 0:dbad57390bd1 406
ram54288 0:dbad57390bd1 407 CHECK(deserializer->is_resource(data_resource) == true);
ram54288 0:dbad57390bd1 408
ram54288 0:dbad57390bd1 409 m2mbase_stub::operation = M2MBase::GET_PUT_POST_ALLOWED;
ram54288 0:dbad57390bd1 410
ram54288 0:dbad57390bd1 411 deserializer->deserialize_resource_instances(data_resource,sizeof(data_resource),
ram54288 0:dbad57390bd1 412 *resource,M2MTLVDeserializer::Put);
ram54288 0:dbad57390bd1 413
ram54288 0:dbad57390bd1 414 M2MResourceInstance* res_instance = new M2MResourceInstance(*resource,
ram54288 0:dbad57390bd1 415 "1",
ram54288 0:dbad57390bd1 416 "type",
ram54288 0:dbad57390bd1 417 M2MResourceInstance::INTEGER,
ram54288 0:dbad57390bd1 418 0,
ram54288 0:dbad57390bd1 419 "1",
ram54288 0:dbad57390bd1 420 false);
ram54288 0:dbad57390bd1 421
ram54288 0:dbad57390bd1 422 m2mresource_stub::bool_value = true;
ram54288 0:dbad57390bd1 423 m2mresource_stub::list.push_back(res_instance);
ram54288 0:dbad57390bd1 424
ram54288 0:dbad57390bd1 425 M2MResourceInstance* res_instance_1 = new M2MResourceInstance(*resource,
ram54288 0:dbad57390bd1 426 "2",
ram54288 0:dbad57390bd1 427 "type",
ram54288 0:dbad57390bd1 428 M2MResourceInstance::INTEGER,
ram54288 0:dbad57390bd1 429 0,
ram54288 0:dbad57390bd1 430 "2",
ram54288 0:dbad57390bd1 431 false);
ram54288 0:dbad57390bd1 432
ram54288 0:dbad57390bd1 433 m2mresource_stub::list.push_back(res_instance_1);
ram54288 0:dbad57390bd1 434
ram54288 0:dbad57390bd1 435 M2MTLVSerializer *serializer = new M2MTLVSerializer();
ram54288 0:dbad57390bd1 436
ram54288 0:dbad57390bd1 437 uint32_t size = 0;
ram54288 0:dbad57390bd1 438 uint8_t* data = serializer->serialize( resource,size);
ram54288 0:dbad57390bd1 439
ram54288 0:dbad57390bd1 440 delete serializer;
ram54288 0:dbad57390bd1 441
ram54288 0:dbad57390bd1 442 deserializer->deserialize_resource_instances(data,size,
ram54288 0:dbad57390bd1 443 *resource,M2MTLVDeserializer::Put);
ram54288 0:dbad57390bd1 444
ram54288 0:dbad57390bd1 445
ram54288 0:dbad57390bd1 446 free(data);
ram54288 0:dbad57390bd1 447
ram54288 0:dbad57390bd1 448 delete res_instance;
ram54288 0:dbad57390bd1 449 delete res_instance_1;
ram54288 0:dbad57390bd1 450 delete resource;
ram54288 0:dbad57390bd1 451 delete instance;
ram54288 0:dbad57390bd1 452 delete object;
ram54288 0:dbad57390bd1 453
ram54288 0:dbad57390bd1 454 m2mresourceinstance_stub::clear();
ram54288 0:dbad57390bd1 455 m2mresource_stub::clear();
ram54288 0:dbad57390bd1 456 m2mobjectinstance_stub::clear();
ram54288 0:dbad57390bd1 457 m2mobject_stub::clear();
ram54288 0:dbad57390bd1 458 }
ram54288 0:dbad57390bd1 459
ram54288 0:dbad57390bd1 460
ram54288 0:dbad57390bd1 461 void Test_M2MTLVDeserializer::test_deserialize_resource_instance()
ram54288 0:dbad57390bd1 462 {
ram54288 0:dbad57390bd1 463 uint32_t size = 0;
ram54288 0:dbad57390bd1 464 uint8_t *data = 0;
ram54288 0:dbad57390bd1 465
ram54288 0:dbad57390bd1 466 M2MObject *object = new M2MObject("1","1");
ram54288 0:dbad57390bd1 467 M2MObjectInstance* instance = new M2MObjectInstance(*object,"1","type", "1");
ram54288 0:dbad57390bd1 468
ram54288 0:dbad57390bd1 469 M2MObjectInstance* instance_1 = new M2MObjectInstance(*object,"2","type", "1");
ram54288 0:dbad57390bd1 470
ram54288 0:dbad57390bd1 471
ram54288 0:dbad57390bd1 472 m2mobject_stub::instance_list.push_back(instance);
ram54288 0:dbad57390bd1 473 m2mobject_stub::instance_list.push_back(instance_1);
ram54288 0:dbad57390bd1 474
ram54288 0:dbad57390bd1 475
ram54288 0:dbad57390bd1 476 M2MResource* resource = new M2MResource(*instance,
ram54288 0:dbad57390bd1 477 "1",
ram54288 0:dbad57390bd1 478 "type",
ram54288 0:dbad57390bd1 479 M2MResourceInstance::INTEGER,
ram54288 0:dbad57390bd1 480 false,
ram54288 0:dbad57390bd1 481 "1");
ram54288 0:dbad57390bd1 482
ram54288 0:dbad57390bd1 483 M2MResource* resource_1 = new M2MResource(*instance,
ram54288 0:dbad57390bd1 484 "2",
ram54288 0:dbad57390bd1 485 "type",
ram54288 0:dbad57390bd1 486 M2MResourceInstance::INTEGER,
ram54288 0:dbad57390bd1 487 false,
ram54288 0:dbad57390bd1 488 "2");
ram54288 0:dbad57390bd1 489
ram54288 0:dbad57390bd1 490 m2mobjectinstance_stub::resource_list.push_back(resource);
ram54288 0:dbad57390bd1 491 m2mobjectinstance_stub::resource_list.push_back(resource_1);
ram54288 0:dbad57390bd1 492
ram54288 0:dbad57390bd1 493 m2mbase_stub::name_id_value = 0;
ram54288 0:dbad57390bd1 494
ram54288 0:dbad57390bd1 495 M2MTLVSerializer *serializer = new M2MTLVSerializer();
ram54288 0:dbad57390bd1 496
ram54288 0:dbad57390bd1 497 data = serializer->serialize( resource,size);
ram54288 0:dbad57390bd1 498
ram54288 0:dbad57390bd1 499 delete serializer;
ram54288 0:dbad57390bd1 500
ram54288 0:dbad57390bd1 501 m2mbase_stub::operation = M2MBase::GET_PUT_POST_ALLOWED;
ram54288 0:dbad57390bd1 502
ram54288 0:dbad57390bd1 503 deserializer->deserialize_resource_instances(data,size,*resource,M2MTLVDeserializer::Post);
ram54288 0:dbad57390bd1 504 size = 0;
ram54288 0:dbad57390bd1 505
ram54288 0:dbad57390bd1 506 if(data) {
ram54288 0:dbad57390bd1 507 free(data);
ram54288 0:dbad57390bd1 508 data = 0;
ram54288 0:dbad57390bd1 509 }
ram54288 0:dbad57390bd1 510
ram54288 0:dbad57390bd1 511 m2mbase_stub::operation = M2MBase::NOT_ALLOWED;
ram54288 0:dbad57390bd1 512
ram54288 0:dbad57390bd1 513 deserializer->deserialize_resource_instances(data,size,*resource,M2MTLVDeserializer::Post);
ram54288 0:dbad57390bd1 514 size = 0;
ram54288 0:dbad57390bd1 515
ram54288 0:dbad57390bd1 516 if(data) {
ram54288 0:dbad57390bd1 517 free(data);
ram54288 0:dbad57390bd1 518 data = 0;
ram54288 0:dbad57390bd1 519 }
ram54288 0:dbad57390bd1 520
ram54288 0:dbad57390bd1 521 M2MResourceInstance* res_instance = new M2MResourceInstance(*resource,
ram54288 0:dbad57390bd1 522 "1",
ram54288 0:dbad57390bd1 523 "type",
ram54288 0:dbad57390bd1 524 M2MResourceInstance::INTEGER,
ram54288 0:dbad57390bd1 525 0,
ram54288 0:dbad57390bd1 526 "1",
ram54288 0:dbad57390bd1 527 false);
ram54288 0:dbad57390bd1 528
ram54288 0:dbad57390bd1 529 M2MResourceInstance* res_instance_1 = new M2MResourceInstance(*resource,
ram54288 0:dbad57390bd1 530 "2",
ram54288 0:dbad57390bd1 531 "type",
ram54288 0:dbad57390bd1 532 M2MResourceInstance::INTEGER,
ram54288 0:dbad57390bd1 533 0,
ram54288 0:dbad57390bd1 534 "2",
ram54288 0:dbad57390bd1 535 false);
ram54288 0:dbad57390bd1 536
ram54288 0:dbad57390bd1 537
ram54288 0:dbad57390bd1 538 m2mbase_stub::operation = M2MBase::GET_ALLOWED;
ram54288 0:dbad57390bd1 539
ram54288 0:dbad57390bd1 540 m2mresource_stub::bool_value = true;
ram54288 0:dbad57390bd1 541 m2mresource_stub::list.push_back(res_instance);
ram54288 0:dbad57390bd1 542 m2mresource_stub::list.push_back(res_instance_1);
ram54288 0:dbad57390bd1 543 serializer = new M2MTLVSerializer();
ram54288 0:dbad57390bd1 544 data = serializer->serialize( resource,size);
ram54288 0:dbad57390bd1 545 delete serializer;
ram54288 0:dbad57390bd1 546
ram54288 0:dbad57390bd1 547 deserializer->deserialize_resource_instances(data,size,*resource,M2MTLVDeserializer::Post);
ram54288 0:dbad57390bd1 548
ram54288 0:dbad57390bd1 549 m2mbase_stub::operation = M2MBase::GET_PUT_POST_ALLOWED;
ram54288 0:dbad57390bd1 550 deserializer->deserialize_resource_instances(data,size,*resource,M2MTLVDeserializer::Post);
ram54288 0:dbad57390bd1 551
ram54288 0:dbad57390bd1 552 m2mresource_stub::list.pop_back();
ram54288 0:dbad57390bd1 553 m2mresource_stub::list.pop_back();
ram54288 0:dbad57390bd1 554
ram54288 0:dbad57390bd1 555 CHECK(M2MTLVDeserializer::NotAllowed ==deserializer->deserialize_resource_instances(data,size,*resource,M2MTLVDeserializer::Post));
ram54288 0:dbad57390bd1 556
ram54288 0:dbad57390bd1 557 CHECK(M2MTLVDeserializer::NotFound == deserializer->deserialize_resource_instances(data,size,*resource,M2MTLVDeserializer::Put));
ram54288 0:dbad57390bd1 558
ram54288 0:dbad57390bd1 559 size = 0;
ram54288 0:dbad57390bd1 560 if(data) {
ram54288 0:dbad57390bd1 561 free(data);
ram54288 0:dbad57390bd1 562 data = 0;
ram54288 0:dbad57390bd1 563 }
ram54288 0:dbad57390bd1 564
ram54288 0:dbad57390bd1 565 serializer = new M2MTLVSerializer();
ram54288 0:dbad57390bd1 566 data = serializer->serialize( resource,size);
ram54288 0:dbad57390bd1 567 delete serializer;
ram54288 0:dbad57390bd1 568
ram54288 0:dbad57390bd1 569 deserializer->deserialize_resource_instances(data,size,*resource,M2MTLVDeserializer::Put);
ram54288 0:dbad57390bd1 570 size = 0;
ram54288 0:dbad57390bd1 571 if(data) {
ram54288 0:dbad57390bd1 572 free(data);
ram54288 0:dbad57390bd1 573 data = 0;
ram54288 0:dbad57390bd1 574 }
ram54288 0:dbad57390bd1 575
ram54288 0:dbad57390bd1 576 m2mresource_stub::list.push_back(res_instance);
ram54288 0:dbad57390bd1 577 m2mresource_stub::list.push_back(res_instance_1);
ram54288 0:dbad57390bd1 578
ram54288 0:dbad57390bd1 579 m2mbase_stub::name_id_value = 300;
ram54288 0:dbad57390bd1 580
ram54288 0:dbad57390bd1 581 m2mresourceinstance_stub::int_value = 6;
ram54288 0:dbad57390bd1 582 m2mresourceinstance_stub::value = (uint8_t*) malloc(m2mresourceinstance_stub::int_value);
ram54288 0:dbad57390bd1 583 serializer = new M2MTLVSerializer();
ram54288 0:dbad57390bd1 584 data = serializer->serialize( resource,size);
ram54288 0:dbad57390bd1 585 delete serializer;
ram54288 0:dbad57390bd1 586
ram54288 0:dbad57390bd1 587 deserializer->deserialize_resource_instances(data,size,*resource, M2MTLVDeserializer::Post);
ram54288 0:dbad57390bd1 588 size = 0;
ram54288 0:dbad57390bd1 589
ram54288 0:dbad57390bd1 590 if(data) {
ram54288 0:dbad57390bd1 591 free(data);
ram54288 0:dbad57390bd1 592 data = 0;
ram54288 0:dbad57390bd1 593 }
ram54288 0:dbad57390bd1 594 free(m2mresourceinstance_stub::value);
ram54288 0:dbad57390bd1 595 m2mresourceinstance_stub::value = NULL;
ram54288 0:dbad57390bd1 596
ram54288 0:dbad57390bd1 597 m2mresourceinstance_stub::int_value = 256;
ram54288 0:dbad57390bd1 598 m2mresourceinstance_stub::value = (uint8_t*) malloc(m2mresourceinstance_stub::int_value);
ram54288 0:dbad57390bd1 599 serializer = new M2MTLVSerializer();
ram54288 0:dbad57390bd1 600 data = serializer->serialize( resource,size);
ram54288 0:dbad57390bd1 601 delete serializer;
ram54288 0:dbad57390bd1 602
ram54288 0:dbad57390bd1 603 deserializer->deserialize_resource_instances(data,size,*resource,M2MTLVDeserializer::Post);
ram54288 0:dbad57390bd1 604 size = 0;
ram54288 0:dbad57390bd1 605
ram54288 0:dbad57390bd1 606 if(data) {
ram54288 0:dbad57390bd1 607 free(data);
ram54288 0:dbad57390bd1 608 data = 0;
ram54288 0:dbad57390bd1 609 }
ram54288 0:dbad57390bd1 610 free(m2mresourceinstance_stub::value);
ram54288 0:dbad57390bd1 611 m2mresourceinstance_stub::value = NULL;
ram54288 0:dbad57390bd1 612
ram54288 0:dbad57390bd1 613 m2mresourceinstance_stub::int_value = 65536;
ram54288 0:dbad57390bd1 614 m2mresourceinstance_stub::value = (uint8_t*) malloc(m2mresourceinstance_stub::int_value);
ram54288 0:dbad57390bd1 615 serializer = new M2MTLVSerializer();
ram54288 0:dbad57390bd1 616 data = serializer->serialize( resource,size);
ram54288 0:dbad57390bd1 617 delete serializer;
ram54288 0:dbad57390bd1 618
ram54288 0:dbad57390bd1 619 deserializer->deserialize_resource_instances(data,size,*resource,M2MTLVDeserializer::Post);
ram54288 0:dbad57390bd1 620 size = 0;
ram54288 0:dbad57390bd1 621
ram54288 0:dbad57390bd1 622 if(data) {
ram54288 0:dbad57390bd1 623 free(data);
ram54288 0:dbad57390bd1 624 data = 0;
ram54288 0:dbad57390bd1 625 }
ram54288 0:dbad57390bd1 626
ram54288 0:dbad57390bd1 627 free(m2mresourceinstance_stub::value);
ram54288 0:dbad57390bd1 628 m2mresourceinstance_stub::value = NULL;
ram54288 0:dbad57390bd1 629
ram54288 0:dbad57390bd1 630 delete res_instance;
ram54288 0:dbad57390bd1 631 delete res_instance_1;
ram54288 0:dbad57390bd1 632 delete resource;
ram54288 0:dbad57390bd1 633 delete resource_1;
ram54288 0:dbad57390bd1 634 delete instance;
ram54288 0:dbad57390bd1 635 delete instance_1;
ram54288 0:dbad57390bd1 636 delete object;
ram54288 0:dbad57390bd1 637 }
ram54288 0:dbad57390bd1 638
ram54288 0:dbad57390bd1 639 void Test_M2MTLVDeserializer::test_instance_id()
ram54288 0:dbad57390bd1 640 {
ram54288 0:dbad57390bd1 641 uint8_t data_resource[] = {0xC3,0x1};
ram54288 0:dbad57390bd1 642 uint8_t data_object[] = {0x08,0x2};
ram54288 0:dbad57390bd1 643
ram54288 0:dbad57390bd1 644 CHECK(deserializer->instance_id(data_resource) == 1);
ram54288 0:dbad57390bd1 645 CHECK(deserializer->instance_id(data_object) == 2);
ram54288 0:dbad57390bd1 646 }