A metronome using the FRDM K64F board

Committer:
ram54288
Date:
Sun May 14 18:40:18 2017 +0000
Revision:
0:a7a43371b306
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ram54288 0:a7a43371b306 1 /*
ram54288 0:a7a43371b306 2 * Copyright (c) 2015 ARM Limited. All rights reserved.
ram54288 0:a7a43371b306 3 * SPDX-License-Identifier: Apache-2.0
ram54288 0:a7a43371b306 4 * Licensed under the Apache License, Version 2.0 (the License); you may
ram54288 0:a7a43371b306 5 * not use this file except in compliance with the License.
ram54288 0:a7a43371b306 6 * You may obtain a copy of the License at
ram54288 0:a7a43371b306 7 *
ram54288 0:a7a43371b306 8 * http://www.apache.org/licenses/LICENSE-2.0
ram54288 0:a7a43371b306 9 *
ram54288 0:a7a43371b306 10 * Unless required by applicable law or agreed to in writing, software
ram54288 0:a7a43371b306 11 * distributed under the License is distributed on an AS IS BASIS, WITHOUT
ram54288 0:a7a43371b306 12 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
ram54288 0:a7a43371b306 13 * See the License for the specific language governing permissions and
ram54288 0:a7a43371b306 14 * limitations under the License.
ram54288 0:a7a43371b306 15 */
ram54288 0:a7a43371b306 16 #include "CppUTest/TestHarness.h"
ram54288 0:a7a43371b306 17 #include "test_m2mobjectinstance.h"
ram54288 0:a7a43371b306 18 #include "m2mresource_stub.h"
ram54288 0:a7a43371b306 19 #include "common_stub.h"
ram54288 0:a7a43371b306 20 #include "m2mresourceinstance_stub.h"
ram54288 0:a7a43371b306 21 #include "m2mbase_stub.h"
ram54288 0:a7a43371b306 22 #include "m2mtlvdeserializer_stub.h"
ram54288 0:a7a43371b306 23 #include "m2mtlvserializer_stub.h"
ram54288 0:a7a43371b306 24 #include "m2mreporthandler_stub.h"
ram54288 0:a7a43371b306 25 #include "m2mobject_stub.h"
ram54288 0:a7a43371b306 26
ram54288 0:a7a43371b306 27 class Handler : public M2MObservationHandler {
ram54288 0:a7a43371b306 28
ram54288 0:a7a43371b306 29 public:
ram54288 0:a7a43371b306 30
ram54288 0:a7a43371b306 31 Handler(){}
ram54288 0:a7a43371b306 32 ~Handler(){}
ram54288 0:a7a43371b306 33 void observation_to_be_sent(M2MBase *, uint16_t, m2m::Vector<uint16_t>,bool){
ram54288 0:a7a43371b306 34 visited = true;
ram54288 0:a7a43371b306 35 }
ram54288 0:a7a43371b306 36 void send_delayed_response(M2MBase *){}
ram54288 0:a7a43371b306 37 void resource_to_be_deleted(M2MBase *){visited=true;}
ram54288 0:a7a43371b306 38 void remove_object(M2MBase *){visited = true;}
ram54288 0:a7a43371b306 39 void value_updated(M2MBase *,const String&){visited = true;}
ram54288 0:a7a43371b306 40
ram54288 0:a7a43371b306 41 void clear() {visited = false;}
ram54288 0:a7a43371b306 42 bool visited;
ram54288 0:a7a43371b306 43 };
ram54288 0:a7a43371b306 44
ram54288 0:a7a43371b306 45 class TestReportObserver : public M2MReportObserver{
ram54288 0:a7a43371b306 46 public :
ram54288 0:a7a43371b306 47 TestReportObserver() {}
ram54288 0:a7a43371b306 48 ~TestReportObserver() {}
ram54288 0:a7a43371b306 49 void observation_to_be_sent(m2m::Vector<uint16_t>,bool){ }
ram54288 0:a7a43371b306 50 };
ram54288 0:a7a43371b306 51
ram54288 0:a7a43371b306 52 Test_M2MObjectInstance::Test_M2MObjectInstance()
ram54288 0:a7a43371b306 53 {
ram54288 0:a7a43371b306 54 handler = new Handler();
ram54288 0:a7a43371b306 55 object = new M2MObject("name", "name");
ram54288 0:a7a43371b306 56 object_instance = new M2MObjectInstance(*object, "name", "type", "");
ram54288 0:a7a43371b306 57 }
ram54288 0:a7a43371b306 58
ram54288 0:a7a43371b306 59 Test_M2MObjectInstance::~Test_M2MObjectInstance()
ram54288 0:a7a43371b306 60 {
ram54288 0:a7a43371b306 61 delete object;
ram54288 0:a7a43371b306 62 delete object_instance;
ram54288 0:a7a43371b306 63 delete handler;
ram54288 0:a7a43371b306 64 m2mresource_stub::clear();
ram54288 0:a7a43371b306 65 m2mbase_stub::clear();
ram54288 0:a7a43371b306 66 m2mtlvdeserializer_stub::clear();
ram54288 0:a7a43371b306 67 m2mtlvserializer_stub::clear();
ram54288 0:a7a43371b306 68 }
ram54288 0:a7a43371b306 69
ram54288 0:a7a43371b306 70 void Test_M2MObjectInstance::test_ctor()
ram54288 0:a7a43371b306 71 {
ram54288 0:a7a43371b306 72 M2MObject* obj = new M2MObject("name", "name");
ram54288 0:a7a43371b306 73 M2MObjectInstance *instance = new M2MObjectInstance(*obj,&params);
ram54288 0:a7a43371b306 74 delete instance;
ram54288 0:a7a43371b306 75 delete obj;
ram54288 0:a7a43371b306 76 }
ram54288 0:a7a43371b306 77
ram54288 0:a7a43371b306 78 void Test_M2MObjectInstance::test_create_static_resource()
ram54288 0:a7a43371b306 79 {
ram54288 0:a7a43371b306 80 m2mbase_stub::string_value = "name";
ram54288 0:a7a43371b306 81 u_int8_t value[] = {"value"};
ram54288 0:a7a43371b306 82
ram54288 0:a7a43371b306 83 m2mbase_stub::bool_value = true;
ram54288 0:a7a43371b306 84
ram54288 0:a7a43371b306 85 m2mbase_stub::uint8_value = 99;
ram54288 0:a7a43371b306 86 M2MResource * res = object_instance->create_static_resource("name","type",M2MResourceInstance::STRING,value,(u_int32_t)sizeof(value),false);
ram54288 0:a7a43371b306 87
ram54288 0:a7a43371b306 88 CHECK(res != NULL);
ram54288 0:a7a43371b306 89 res = object_instance->create_static_resource("name2","type",M2MResourceInstance::STRING,value,(u_int32_t)sizeof(value),true);
ram54288 0:a7a43371b306 90
ram54288 0:a7a43371b306 91 CHECK(res != NULL);
ram54288 0:a7a43371b306 92 CHECK(2 == object_instance->_resource_list.size());
ram54288 0:a7a43371b306 93
ram54288 0:a7a43371b306 94 m2mbase_stub::bool_value = false;
ram54288 0:a7a43371b306 95 res = object_instance->create_static_resource("","type",M2MResourceInstance::STRING,value,(u_int32_t)sizeof(value));
ram54288 0:a7a43371b306 96 CHECK(res == NULL);
ram54288 0:a7a43371b306 97
ram54288 0:a7a43371b306 98 m2mbase_stub::bool_value = true;
ram54288 0:a7a43371b306 99 res = object_instance->create_static_resource(&params,M2MResourceInstance::STRING);
ram54288 0:a7a43371b306 100 CHECK(res != NULL);
ram54288 0:a7a43371b306 101
ram54288 0:a7a43371b306 102 m2mbase_stub::bool_value = false;
ram54288 0:a7a43371b306 103 res = object_instance->create_static_resource(&params,M2MResourceInstance::STRING);
ram54288 0:a7a43371b306 104 CHECK(res == NULL);
ram54288 0:a7a43371b306 105
ram54288 0:a7a43371b306 106 }
ram54288 0:a7a43371b306 107
ram54288 0:a7a43371b306 108 void Test_M2MObjectInstance::test_create_static_resource_instance()
ram54288 0:a7a43371b306 109 {
ram54288 0:a7a43371b306 110 m2mbase_stub::string_value = "name";
ram54288 0:a7a43371b306 111 u_int8_t value[] = {"value"};
ram54288 0:a7a43371b306 112
ram54288 0:a7a43371b306 113 m2mbase_stub::bool_value = true;
ram54288 0:a7a43371b306 114 m2mresource_stub::bool_value = true;
ram54288 0:a7a43371b306 115 m2mbase_stub::uint8_value = 99;
ram54288 0:a7a43371b306 116 M2MResourceInstance *ins = object_instance->create_static_resource_instance("name","type",
ram54288 0:a7a43371b306 117 M2MResourceInstance::STRING,
ram54288 0:a7a43371b306 118 value,(u_int32_t)sizeof(value),
ram54288 0:a7a43371b306 119 0);
ram54288 0:a7a43371b306 120
ram54288 0:a7a43371b306 121 CHECK(ins != NULL);
ram54288 0:a7a43371b306 122 CHECK(1 == object_instance->_resource_list.size());
ram54288 0:a7a43371b306 123
ram54288 0:a7a43371b306 124 delete ins;
ram54288 0:a7a43371b306 125
ram54288 0:a7a43371b306 126 ins = object_instance->create_static_resource_instance("name","type",
ram54288 0:a7a43371b306 127 M2MResourceInstance::STRING,
ram54288 0:a7a43371b306 128 value,(u_int32_t)sizeof(value),
ram54288 0:a7a43371b306 129 1);
ram54288 0:a7a43371b306 130
ram54288 0:a7a43371b306 131 CHECK(ins != NULL);
ram54288 0:a7a43371b306 132 CHECK(1 == object_instance->_resource_list.size());
ram54288 0:a7a43371b306 133
ram54288 0:a7a43371b306 134 delete ins;
ram54288 0:a7a43371b306 135
ram54288 0:a7a43371b306 136 m2mbase_stub::bool_value = false;
ram54288 0:a7a43371b306 137 ins = object_instance->create_static_resource_instance("","type",
ram54288 0:a7a43371b306 138 M2MResourceInstance::STRING,value,
ram54288 0:a7a43371b306 139 (u_int32_t)sizeof(value),0);
ram54288 0:a7a43371b306 140 CHECK(ins == NULL);
ram54288 0:a7a43371b306 141 delete ins;
ram54288 0:a7a43371b306 142 }
ram54288 0:a7a43371b306 143
ram54288 0:a7a43371b306 144 void Test_M2MObjectInstance::test_create_dynamic_resource_instance()
ram54288 0:a7a43371b306 145 {
ram54288 0:a7a43371b306 146 m2mbase_stub::string_value = "name";
ram54288 0:a7a43371b306 147
ram54288 0:a7a43371b306 148 m2mresource_stub::bool_value = true;
ram54288 0:a7a43371b306 149 m2mbase_stub::uint8_value = 99;
ram54288 0:a7a43371b306 150 m2mbase_stub::bool_value = true;
ram54288 0:a7a43371b306 151 M2MResourceInstance * ins = object_instance->create_dynamic_resource_instance("name","type",
ram54288 0:a7a43371b306 152 M2MResourceInstance::STRING,
ram54288 0:a7a43371b306 153 false,0);
ram54288 0:a7a43371b306 154 CHECK(ins != NULL);
ram54288 0:a7a43371b306 155 CHECK(1 == object_instance->_resource_list.size());
ram54288 0:a7a43371b306 156
ram54288 0:a7a43371b306 157 delete ins;
ram54288 0:a7a43371b306 158
ram54288 0:a7a43371b306 159 ins = object_instance->create_dynamic_resource_instance("name","type",
ram54288 0:a7a43371b306 160 M2MResourceInstance::STRING,
ram54288 0:a7a43371b306 161 false,1);
ram54288 0:a7a43371b306 162 CHECK(ins != NULL);
ram54288 0:a7a43371b306 163 CHECK(1 == object_instance->_resource_list.size());
ram54288 0:a7a43371b306 164
ram54288 0:a7a43371b306 165 delete ins;
ram54288 0:a7a43371b306 166
ram54288 0:a7a43371b306 167 // Name empty, validate returns false
ram54288 0:a7a43371b306 168 m2mbase_stub::bool_value = false;
ram54288 0:a7a43371b306 169 ins = object_instance->create_dynamic_resource_instance("","type",
ram54288 0:a7a43371b306 170 M2MResourceInstance::STRING,
ram54288 0:a7a43371b306 171 false,1);
ram54288 0:a7a43371b306 172
ram54288 0:a7a43371b306 173 CHECK(ins == NULL);
ram54288 0:a7a43371b306 174 }
ram54288 0:a7a43371b306 175
ram54288 0:a7a43371b306 176 void Test_M2MObjectInstance::test_create_dynamic_resource()
ram54288 0:a7a43371b306 177 {
ram54288 0:a7a43371b306 178 m2mbase_stub::string_value = "name";
ram54288 0:a7a43371b306 179 m2mbase_stub::uint8_value = 99;
ram54288 0:a7a43371b306 180 m2mbase_stub::bool_value = true;
ram54288 0:a7a43371b306 181 M2MResource * res = object_instance->create_dynamic_resource("name","type",M2MResourceInstance::STRING,false,false);
ram54288 0:a7a43371b306 182 CHECK(res != NULL);
ram54288 0:a7a43371b306 183 CHECK(1 == object_instance->_resource_list.size());
ram54288 0:a7a43371b306 184
ram54288 0:a7a43371b306 185 res = object_instance->create_dynamic_resource("multiple","type",M2MResourceInstance::STRING,false,true);
ram54288 0:a7a43371b306 186 CHECK(res != NULL);
ram54288 0:a7a43371b306 187 CHECK(2 == object_instance->_resource_list.size());
ram54288 0:a7a43371b306 188
ram54288 0:a7a43371b306 189 M2MResource * res1 = object_instance->create_dynamic_resource("name1","type",M2MResourceInstance::STRING,false,false);
ram54288 0:a7a43371b306 190 CHECK(res1 != NULL);
ram54288 0:a7a43371b306 191 CHECK(3 == object_instance->_resource_list.size());
ram54288 0:a7a43371b306 192
ram54288 0:a7a43371b306 193 m2mbase_stub::bool_value = false;
ram54288 0:a7a43371b306 194 M2MResource * res2 = object_instance->create_dynamic_resource("","type",M2MResourceInstance::STRING,false,false);
ram54288 0:a7a43371b306 195 CHECK(res2 == NULL);
ram54288 0:a7a43371b306 196
ram54288 0:a7a43371b306 197 m2mbase_stub::bool_value = true;
ram54288 0:a7a43371b306 198 M2MResource * res3 = object_instance->create_dynamic_resource(&params,M2MResourceInstance::STRING,false);
ram54288 0:a7a43371b306 199 CHECK(res3 != NULL);
ram54288 0:a7a43371b306 200
ram54288 0:a7a43371b306 201 m2mbase_stub::bool_value = false;
ram54288 0:a7a43371b306 202 res3 = object_instance->create_dynamic_resource(&params,M2MResourceInstance::STRING,false);
ram54288 0:a7a43371b306 203 CHECK(res3 == NULL);
ram54288 0:a7a43371b306 204 }
ram54288 0:a7a43371b306 205
ram54288 0:a7a43371b306 206 void Test_M2MObjectInstance::test_remove_resource()
ram54288 0:a7a43371b306 207 {
ram54288 0:a7a43371b306 208 CHECK(false == object_instance->remove_resource("name"));
ram54288 0:a7a43371b306 209 M2MResource *res = new M2MResource(*object_instance,"name","type",M2MResourceInstance::STRING,false, "name");
ram54288 0:a7a43371b306 210 object_instance->_resource_list.push_back(res);
ram54288 0:a7a43371b306 211
ram54288 0:a7a43371b306 212 m2mbase_stub::string_value = "name";
ram54288 0:a7a43371b306 213 m2mbase_stub::int_value = 0;
ram54288 0:a7a43371b306 214 m2mbase_stub::void_value = malloc(20);
ram54288 0:a7a43371b306 215
ram54288 0:a7a43371b306 216 m2mresource_stub::bool_value = true;
ram54288 0:a7a43371b306 217 CHECK(true == object_instance->remove_resource("name"));
ram54288 0:a7a43371b306 218 CHECK(0 == object_instance->_resource_list.size());
ram54288 0:a7a43371b306 219
ram54288 0:a7a43371b306 220 free(m2mbase_stub::void_value);
ram54288 0:a7a43371b306 221 }
ram54288 0:a7a43371b306 222
ram54288 0:a7a43371b306 223 void Test_M2MObjectInstance::test_remove_resource_instance()
ram54288 0:a7a43371b306 224 {
ram54288 0:a7a43371b306 225 CHECK(false == object_instance->remove_resource_instance("name",0));
ram54288 0:a7a43371b306 226
ram54288 0:a7a43371b306 227 M2MResource *res = new M2MResource(*object_instance,"name","type",M2MResourceInstance::STRING,false, "name");
ram54288 0:a7a43371b306 228 object_instance->_resource_list.push_back(res);
ram54288 0:a7a43371b306 229
ram54288 0:a7a43371b306 230 m2mbase_stub::string_value = "name";
ram54288 0:a7a43371b306 231 m2mbase_stub::int_value = 0;
ram54288 0:a7a43371b306 232 m2mbase_stub::void_value = malloc(20);
ram54288 0:a7a43371b306 233
ram54288 0:a7a43371b306 234 m2mresource_stub::bool_value = true;
ram54288 0:a7a43371b306 235 M2MResourceInstance *ins = new M2MResourceInstance(*res,"name","type",M2MResourceInstance::STRING,0,"name",false);
ram54288 0:a7a43371b306 236
ram54288 0:a7a43371b306 237 m2mresource_stub::list.push_back(ins);
ram54288 0:a7a43371b306 238
ram54288 0:a7a43371b306 239 CHECK(true == object_instance->remove_resource_instance("name",0));
ram54288 0:a7a43371b306 240 CHECK(0 == object_instance->_resource_list.size());
ram54288 0:a7a43371b306 241
ram54288 0:a7a43371b306 242 free(m2mbase_stub::void_value);
ram54288 0:a7a43371b306 243
ram54288 0:a7a43371b306 244 delete ins;
ram54288 0:a7a43371b306 245 ins = NULL;
ram54288 0:a7a43371b306 246 }
ram54288 0:a7a43371b306 247
ram54288 0:a7a43371b306 248
ram54288 0:a7a43371b306 249 void Test_M2MObjectInstance::test_resource()
ram54288 0:a7a43371b306 250 {
ram54288 0:a7a43371b306 251 M2MResource *res = new M2MResource(*object_instance,"name","type",M2MResourceInstance::STRING,false, "name");
ram54288 0:a7a43371b306 252 object_instance->_resource_list.push_back(res);
ram54288 0:a7a43371b306 253
ram54288 0:a7a43371b306 254 m2mbase_stub::string_value = "name";
ram54288 0:a7a43371b306 255 m2mbase_stub::int_value = 0;
ram54288 0:a7a43371b306 256
ram54288 0:a7a43371b306 257 M2MResource *result = object_instance->resource("name");
ram54288 0:a7a43371b306 258 CHECK(result != NULL);
ram54288 0:a7a43371b306 259
ram54288 0:a7a43371b306 260 res = new M2MResource(*object_instance,"name","type",M2MResourceInstance::STRING,false, "name");
ram54288 0:a7a43371b306 261 object_instance->_resource_list.push_back(res);
ram54288 0:a7a43371b306 262
ram54288 0:a7a43371b306 263 m2mbase_stub::int_value = 1;
ram54288 0:a7a43371b306 264
ram54288 0:a7a43371b306 265 result = object_instance->resource("name");
ram54288 0:a7a43371b306 266 CHECK(result != NULL);
ram54288 0:a7a43371b306 267 }
ram54288 0:a7a43371b306 268
ram54288 0:a7a43371b306 269 void Test_M2MObjectInstance::test_resources()
ram54288 0:a7a43371b306 270 {
ram54288 0:a7a43371b306 271 M2MResource *res = new M2MResource(*object_instance,"name","type",M2MResourceInstance::STRING,false, "name");
ram54288 0:a7a43371b306 272 m2mbase_stub::string_value = "name";
ram54288 0:a7a43371b306 273 object_instance->_resource_list.push_back(res);
ram54288 0:a7a43371b306 274
ram54288 0:a7a43371b306 275 res = new M2MResource(*object_instance,"name","type",M2MResourceInstance::STRING,false, "name");
ram54288 0:a7a43371b306 276 object_instance->_resource_list.push_back(res);
ram54288 0:a7a43371b306 277
ram54288 0:a7a43371b306 278 M2MResourceList resources =object_instance->resources();
ram54288 0:a7a43371b306 279
ram54288 0:a7a43371b306 280 CHECK(2 == resources.size());
ram54288 0:a7a43371b306 281 }
ram54288 0:a7a43371b306 282
ram54288 0:a7a43371b306 283 void Test_M2MObjectInstance::test_resource_count()
ram54288 0:a7a43371b306 284 {
ram54288 0:a7a43371b306 285 M2MResource *res = new M2MResource(*object_instance,"name","type",M2MResourceInstance::STRING,false, "name");
ram54288 0:a7a43371b306 286 m2mbase_stub::string_value = "name";
ram54288 0:a7a43371b306 287 object_instance->_resource_list.push_back(res);
ram54288 0:a7a43371b306 288
ram54288 0:a7a43371b306 289 res = new M2MResource(*object_instance,"name","type",M2MResourceInstance::STRING,false, "name");
ram54288 0:a7a43371b306 290 object_instance->_resource_list.push_back(res);
ram54288 0:a7a43371b306 291
ram54288 0:a7a43371b306 292
ram54288 0:a7a43371b306 293 m2mbase_stub::int_value = 0;
ram54288 0:a7a43371b306 294 m2mresource_stub::bool_value = true;
ram54288 0:a7a43371b306 295 m2mresource_stub::int_value = 1;
ram54288 0:a7a43371b306 296
ram54288 0:a7a43371b306 297 CHECK(2 == object_instance->resource_count("name"));
ram54288 0:a7a43371b306 298
ram54288 0:a7a43371b306 299 m2mresource_stub::bool_value = false;
ram54288 0:a7a43371b306 300
ram54288 0:a7a43371b306 301 CHECK(2 == object_instance->resource_count("name"));
ram54288 0:a7a43371b306 302 }
ram54288 0:a7a43371b306 303
ram54288 0:a7a43371b306 304 void Test_M2MObjectInstance::test_total_resource_count()
ram54288 0:a7a43371b306 305 {
ram54288 0:a7a43371b306 306 M2MResource *res = new M2MResource(*object_instance,"name","type",M2MResourceInstance::STRING,false, "name");
ram54288 0:a7a43371b306 307 m2mbase_stub::string_value = "name";
ram54288 0:a7a43371b306 308 object_instance->_resource_list.push_back(res);
ram54288 0:a7a43371b306 309
ram54288 0:a7a43371b306 310 res = new M2MResource(*object_instance,"name","type",M2MResourceInstance::STRING,false, "name");
ram54288 0:a7a43371b306 311 object_instance->_resource_list.push_back(res);
ram54288 0:a7a43371b306 312
ram54288 0:a7a43371b306 313 m2mresource_stub::bool_value = true;
ram54288 0:a7a43371b306 314 m2mresource_stub::int_value = 1;
ram54288 0:a7a43371b306 315
ram54288 0:a7a43371b306 316 CHECK(2 == object_instance->resource_count());
ram54288 0:a7a43371b306 317
ram54288 0:a7a43371b306 318 m2mresource_stub::bool_value = false;
ram54288 0:a7a43371b306 319
ram54288 0:a7a43371b306 320 CHECK(2 == object_instance->resource_count());
ram54288 0:a7a43371b306 321 }
ram54288 0:a7a43371b306 322
ram54288 0:a7a43371b306 323 void Test_M2MObjectInstance::test_base_type()
ram54288 0:a7a43371b306 324 {
ram54288 0:a7a43371b306 325 m2mbase_stub::base_type = M2MBase::ObjectInstance;
ram54288 0:a7a43371b306 326 CHECK(M2MBase::ObjectInstance == object_instance->base_type());
ram54288 0:a7a43371b306 327 }
ram54288 0:a7a43371b306 328
ram54288 0:a7a43371b306 329 void Test_M2MObjectInstance::test_handle_get_request()
ram54288 0:a7a43371b306 330 {
ram54288 0:a7a43371b306 331 M2MResource *res = new M2MResource(*object_instance,"name1","type1",M2MResourceInstance::STRING,false, "name1");
ram54288 0:a7a43371b306 332 object_instance->_resource_list.push_back(res);
ram54288 0:a7a43371b306 333 m2mbase_stub::string_value = "name1";
ram54288 0:a7a43371b306 334 uint8_t value[] = {"name"};
ram54288 0:a7a43371b306 335 sn_coap_hdr_s *coap_header = (sn_coap_hdr_s *)malloc(sizeof(sn_coap_hdr_s));
ram54288 0:a7a43371b306 336 memset(coap_header, 0, sizeof(sn_coap_hdr_s));
ram54288 0:a7a43371b306 337
ram54288 0:a7a43371b306 338 coap_header->uri_path_ptr = value;
ram54288 0:a7a43371b306 339 coap_header->uri_path_len = sizeof(value);
ram54288 0:a7a43371b306 340
ram54288 0:a7a43371b306 341 coap_header->msg_code = COAP_MSG_CODE_REQUEST_GET;
ram54288 0:a7a43371b306 342
ram54288 0:a7a43371b306 343 common_stub::int_value = 0;
ram54288 0:a7a43371b306 344
ram54288 0:a7a43371b306 345 m2mbase_stub::operation = M2MBase::GET_ALLOWED;
ram54288 0:a7a43371b306 346 m2mbase_stub::uint8_value = 200;
ram54288 0:a7a43371b306 347
ram54288 0:a7a43371b306 348 common_stub::coap_header = (sn_coap_hdr_ *)malloc(sizeof(sn_coap_hdr_));
ram54288 0:a7a43371b306 349 memset(common_stub::coap_header,0,sizeof(sn_coap_hdr_));
ram54288 0:a7a43371b306 350
ram54288 0:a7a43371b306 351 m2mtlvserializer_stub::uint8_value = (uint8_t*)malloc(1);
ram54288 0:a7a43371b306 352
ram54288 0:a7a43371b306 353 coap_header->token_ptr = (uint8_t*)malloc(sizeof(value));
ram54288 0:a7a43371b306 354 memcpy(coap_header->token_ptr, value, sizeof(value));
ram54288 0:a7a43371b306 355
ram54288 0:a7a43371b306 356 coap_header->options_list_ptr = (sn_coap_options_list_s*)malloc(sizeof(sn_coap_options_list_s));
ram54288 0:a7a43371b306 357 coap_header->options_list_ptr->observe = 0;
ram54288 0:a7a43371b306 358 coap_header->content_format = sn_coap_content_format_e(110);
ram54288 0:a7a43371b306 359
ram54288 0:a7a43371b306 360 CHECK(object_instance->handle_get_request(NULL,coap_header,handler) != NULL);
ram54288 0:a7a43371b306 361
ram54288 0:a7a43371b306 362 if(common_stub::coap_header->options_list_ptr) {
ram54288 0:a7a43371b306 363 free(common_stub::coap_header->options_list_ptr);
ram54288 0:a7a43371b306 364 common_stub::coap_header->options_list_ptr = NULL;
ram54288 0:a7a43371b306 365 }
ram54288 0:a7a43371b306 366
ram54288 0:a7a43371b306 367 // Not OMA TLV or JSON
ram54288 0:a7a43371b306 368 m2mbase_stub::uint8_value = 110;
ram54288 0:a7a43371b306 369 CHECK(object_instance->handle_get_request(NULL,coap_header,handler) != NULL);
ram54288 0:a7a43371b306 370
ram54288 0:a7a43371b306 371 if(common_stub::coap_header->options_list_ptr) {
ram54288 0:a7a43371b306 372 free(common_stub::coap_header->options_list_ptr);
ram54288 0:a7a43371b306 373 common_stub::coap_header->options_list_ptr = NULL;
ram54288 0:a7a43371b306 374 }
ram54288 0:a7a43371b306 375
ram54288 0:a7a43371b306 376 // Content type set CT_NONE
ram54288 0:a7a43371b306 377 common_stub::coap_header->options_list_ptr = (sn_coap_options_list_s*)malloc(sizeof(sn_coap_options_list_s));
ram54288 0:a7a43371b306 378 m2mbase_stub::uint8_value = 99;
ram54288 0:a7a43371b306 379 coap_header->content_format = sn_coap_content_format_e(-1);
ram54288 0:a7a43371b306 380 CHECK(object_instance->handle_get_request(NULL,coap_header,handler) != NULL);
ram54288 0:a7a43371b306 381
ram54288 0:a7a43371b306 382 common_stub::coap_header->content_format = sn_coap_content_format_e(-1); // CT_NONE
ram54288 0:a7a43371b306 383 m2mbase_stub::uint8_value = 100;
ram54288 0:a7a43371b306 384 coap_header->content_format = sn_coap_content_format_e(-1);
ram54288 0:a7a43371b306 385 CHECK(object_instance->handle_get_request(NULL,coap_header,handler) != NULL);
ram54288 0:a7a43371b306 386
ram54288 0:a7a43371b306 387 // OMA TLV
ram54288 0:a7a43371b306 388 m2mbase_stub::uint8_value = 99;
ram54288 0:a7a43371b306 389 CHECK(object_instance->handle_get_request(NULL,coap_header,handler) != NULL);
ram54288 0:a7a43371b306 390
ram54288 0:a7a43371b306 391 // OMA JSON
ram54288 0:a7a43371b306 392 m2mbase_stub::uint8_value = 100;
ram54288 0:a7a43371b306 393 CHECK(object_instance->handle_get_request(NULL,coap_header,handler) != NULL);
ram54288 0:a7a43371b306 394
ram54288 0:a7a43371b306 395 coap_header->options_list_ptr->observe = 0;
ram54288 0:a7a43371b306 396 m2mbase_stub::uint16_value = 0x1c1c;
ram54288 0:a7a43371b306 397 m2mbase_stub::uint8_value = 99;
ram54288 0:a7a43371b306 398 m2mbase_stub::bool_value = true;
ram54288 0:a7a43371b306 399
ram54288 0:a7a43371b306 400 CHECK(object_instance->handle_get_request(NULL,coap_header,handler) != NULL);
ram54288 0:a7a43371b306 401
ram54288 0:a7a43371b306 402 m2mbase_stub::uint16_value = 10;
ram54288 0:a7a43371b306 403
ram54288 0:a7a43371b306 404 CHECK(object_instance->handle_get_request(NULL,coap_header,handler) != NULL);
ram54288 0:a7a43371b306 405 // Not observable
ram54288 0:a7a43371b306 406 m2mbase_stub::bool_value = false;
ram54288 0:a7a43371b306 407 CHECK(object_instance->handle_get_request(NULL,coap_header,handler) != NULL);
ram54288 0:a7a43371b306 408
ram54288 0:a7a43371b306 409 m2mbase_stub::bool_value = true;
ram54288 0:a7a43371b306 410 coap_header->options_list_ptr->observe = 0;
ram54288 0:a7a43371b306 411
ram54288 0:a7a43371b306 412 CHECK(object_instance->handle_get_request(NULL,coap_header,handler) != NULL);
ram54288 0:a7a43371b306 413 coap_header->options_list_ptr->observe = 1;
ram54288 0:a7a43371b306 414 m2mbase_stub::uint8_value = 99;
ram54288 0:a7a43371b306 415 CHECK(object_instance->handle_get_request(NULL,coap_header,handler) != NULL);
ram54288 0:a7a43371b306 416 m2mbase_stub::operation = M2MBase::NOT_ALLOWED;
ram54288 0:a7a43371b306 417 CHECK(object_instance->handle_get_request(NULL,coap_header,handler) != NULL);
ram54288 0:a7a43371b306 418
ram54288 0:a7a43371b306 419 CHECK(object_instance->handle_get_request(NULL,NULL,handler) != NULL);
ram54288 0:a7a43371b306 420
ram54288 0:a7a43371b306 421 if(coap_header->token_ptr) {
ram54288 0:a7a43371b306 422 free(coap_header->token_ptr);
ram54288 0:a7a43371b306 423 coap_header->token_ptr = NULL;
ram54288 0:a7a43371b306 424 }
ram54288 0:a7a43371b306 425 if(coap_header->options_list_ptr) {
ram54288 0:a7a43371b306 426 free(coap_header->options_list_ptr);
ram54288 0:a7a43371b306 427 coap_header->options_list_ptr = NULL;
ram54288 0:a7a43371b306 428 }
ram54288 0:a7a43371b306 429
ram54288 0:a7a43371b306 430 if(common_stub::coap_header){
ram54288 0:a7a43371b306 431 if(common_stub::coap_header->options_list_ptr) {
ram54288 0:a7a43371b306 432 free(common_stub::coap_header->options_list_ptr);
ram54288 0:a7a43371b306 433 common_stub::coap_header->options_list_ptr = NULL;
ram54288 0:a7a43371b306 434 }
ram54288 0:a7a43371b306 435 free(common_stub::coap_header);
ram54288 0:a7a43371b306 436 common_stub::coap_header = NULL;
ram54288 0:a7a43371b306 437 }
ram54288 0:a7a43371b306 438 free(coap_header);
ram54288 0:a7a43371b306 439 coap_header = NULL;
ram54288 0:a7a43371b306 440
ram54288 0:a7a43371b306 441 if(m2mtlvserializer_stub::uint8_value) {
ram54288 0:a7a43371b306 442 free(m2mtlvserializer_stub::uint8_value);
ram54288 0:a7a43371b306 443 }
ram54288 0:a7a43371b306 444 m2mtlvserializer_stub::clear();
ram54288 0:a7a43371b306 445 common_stub::clear();
ram54288 0:a7a43371b306 446 }
ram54288 0:a7a43371b306 447
ram54288 0:a7a43371b306 448 void Test_M2MObjectInstance::test_handle_put_request()
ram54288 0:a7a43371b306 449 {
ram54288 0:a7a43371b306 450 uint8_t value[] = {"name"};
ram54288 0:a7a43371b306 451 bool execute_value_updated = false;
ram54288 0:a7a43371b306 452 sn_coap_hdr_s *coap_header = (sn_coap_hdr_s *)malloc(sizeof(sn_coap_hdr_s));
ram54288 0:a7a43371b306 453 memset(coap_header, 0, sizeof(sn_coap_hdr_s));
ram54288 0:a7a43371b306 454
ram54288 0:a7a43371b306 455 coap_header->uri_path_ptr = value;
ram54288 0:a7a43371b306 456 coap_header->uri_path_len = sizeof(value);
ram54288 0:a7a43371b306 457
ram54288 0:a7a43371b306 458 coap_header->msg_code = COAP_MSG_CODE_REQUEST_PUT;
ram54288 0:a7a43371b306 459
ram54288 0:a7a43371b306 460 common_stub::int_value = 0;
ram54288 0:a7a43371b306 461 m2mbase_stub::string_value = "name";
ram54288 0:a7a43371b306 462
ram54288 0:a7a43371b306 463 m2mbase_stub::operation = M2MBase::PUT_ALLOWED;
ram54288 0:a7a43371b306 464 m2mbase_stub::uint8_value = 200;
ram54288 0:a7a43371b306 465
ram54288 0:a7a43371b306 466 common_stub::coap_header = (sn_coap_hdr_ *)malloc(sizeof(sn_coap_hdr_));
ram54288 0:a7a43371b306 467 memset(common_stub::coap_header,0,sizeof(sn_coap_hdr_));
ram54288 0:a7a43371b306 468
ram54288 0:a7a43371b306 469 coap_header->payload_ptr = (uint8_t*)malloc(1);
ram54288 0:a7a43371b306 470 coap_header->content_format = sn_coap_content_format_e(-1);
ram54288 0:a7a43371b306 471 sn_coap_hdr_s *coap_response = NULL;
ram54288 0:a7a43371b306 472 m2mbase_stub::uint8_value = 99;
ram54288 0:a7a43371b306 473 coap_response = object_instance->handle_put_request(NULL,coap_header,handler,execute_value_updated);
ram54288 0:a7a43371b306 474 CHECK( coap_response != NULL);
ram54288 0:a7a43371b306 475
ram54288 0:a7a43371b306 476 m2mbase_stub::uint8_value = 0;
ram54288 0:a7a43371b306 477
ram54288 0:a7a43371b306 478 coap_header->options_list_ptr = (sn_coap_options_list_s*)malloc(sizeof(sn_coap_options_list_s));
ram54288 0:a7a43371b306 479 coap_header->options_list_ptr->uri_query_ptr = value;
ram54288 0:a7a43371b306 480 coap_header->options_list_ptr->uri_query_len = sizeof(value);
ram54288 0:a7a43371b306 481
ram54288 0:a7a43371b306 482 coap_header->content_format = sn_coap_content_format_e(99);
ram54288 0:a7a43371b306 483 m2mtlvdeserializer_stub::bool_value = true;
ram54288 0:a7a43371b306 484 m2mtlvdeserializer_stub::error = M2MTLVDeserializer::None;
ram54288 0:a7a43371b306 485
ram54288 0:a7a43371b306 486 m2mbase_stub::bool_value = false;
ram54288 0:a7a43371b306 487
ram54288 0:a7a43371b306 488
ram54288 0:a7a43371b306 489 coap_response = object_instance->handle_put_request(NULL,coap_header,handler,execute_value_updated);
ram54288 0:a7a43371b306 490 CHECK( coap_response != NULL);
ram54288 0:a7a43371b306 491
ram54288 0:a7a43371b306 492 m2mbase_stub::bool_value = true;
ram54288 0:a7a43371b306 493
ram54288 0:a7a43371b306 494 coap_response = object_instance->handle_put_request(NULL,coap_header,handler,execute_value_updated);
ram54288 0:a7a43371b306 495 CHECK( coap_response != NULL);
ram54288 0:a7a43371b306 496
ram54288 0:a7a43371b306 497 free(coap_header->options_list_ptr);
ram54288 0:a7a43371b306 498 coap_header->options_list_ptr = NULL;
ram54288 0:a7a43371b306 499
ram54288 0:a7a43371b306 500 m2mbase_stub::bool_value = false;
ram54288 0:a7a43371b306 501
ram54288 0:a7a43371b306 502 coap_response = object_instance->handle_put_request(NULL,coap_header,handler,execute_value_updated);
ram54288 0:a7a43371b306 503 CHECK( coap_response != NULL);
ram54288 0:a7a43371b306 504
ram54288 0:a7a43371b306 505 m2mtlvdeserializer_stub::error = M2MTLVDeserializer::NotFound;
ram54288 0:a7a43371b306 506
ram54288 0:a7a43371b306 507 m2mbase_stub::bool_value = false;
ram54288 0:a7a43371b306 508
ram54288 0:a7a43371b306 509
ram54288 0:a7a43371b306 510 coap_response = object_instance->handle_put_request(NULL,coap_header,handler,execute_value_updated);
ram54288 0:a7a43371b306 511 CHECK( coap_response != NULL);
ram54288 0:a7a43371b306 512
ram54288 0:a7a43371b306 513 m2mtlvdeserializer_stub::error = M2MTLVDeserializer::NotValid;
ram54288 0:a7a43371b306 514
ram54288 0:a7a43371b306 515 m2mbase_stub::bool_value = false;
ram54288 0:a7a43371b306 516
ram54288 0:a7a43371b306 517
ram54288 0:a7a43371b306 518 coap_response = object_instance->handle_put_request(NULL,coap_header,handler,execute_value_updated);
ram54288 0:a7a43371b306 519 CHECK( coap_response != NULL);
ram54288 0:a7a43371b306 520
ram54288 0:a7a43371b306 521 m2mtlvdeserializer_stub::error = M2MTLVDeserializer::NotAllowed;
ram54288 0:a7a43371b306 522
ram54288 0:a7a43371b306 523 m2mbase_stub::bool_value = false;
ram54288 0:a7a43371b306 524
ram54288 0:a7a43371b306 525
ram54288 0:a7a43371b306 526 coap_response = object_instance->handle_put_request(NULL,coap_header,handler,execute_value_updated);
ram54288 0:a7a43371b306 527 CHECK( coap_response != NULL);
ram54288 0:a7a43371b306 528
ram54288 0:a7a43371b306 529 m2mtlvdeserializer_stub::bool_value = false;
ram54288 0:a7a43371b306 530
ram54288 0:a7a43371b306 531 coap_response = object_instance->handle_put_request(NULL,coap_header,handler,execute_value_updated);
ram54288 0:a7a43371b306 532 CHECK( coap_response != NULL);
ram54288 0:a7a43371b306 533
ram54288 0:a7a43371b306 534 coap_header->content_format = sn_coap_content_format_e(100);
ram54288 0:a7a43371b306 535
ram54288 0:a7a43371b306 536 coap_response = object_instance->handle_put_request(NULL,coap_header,handler,execute_value_updated);
ram54288 0:a7a43371b306 537 CHECK( coap_response != NULL);
ram54288 0:a7a43371b306 538
ram54288 0:a7a43371b306 539 free(coap_header->payload_ptr);
ram54288 0:a7a43371b306 540 coap_header->payload_ptr = NULL;
ram54288 0:a7a43371b306 541
ram54288 0:a7a43371b306 542 m2mbase_stub::bool_value = true;
ram54288 0:a7a43371b306 543
ram54288 0:a7a43371b306 544 coap_response = object_instance->handle_put_request(NULL,coap_header,handler,execute_value_updated);
ram54288 0:a7a43371b306 545 CHECK( coap_response != NULL);
ram54288 0:a7a43371b306 546
ram54288 0:a7a43371b306 547 m2mbase_stub::bool_value = false;
ram54288 0:a7a43371b306 548
ram54288 0:a7a43371b306 549 coap_response = object_instance->handle_put_request(NULL,coap_header,handler,execute_value_updated);
ram54288 0:a7a43371b306 550 CHECK( coap_response != NULL);
ram54288 0:a7a43371b306 551
ram54288 0:a7a43371b306 552 m2mbase_stub::operation = M2MBase::NOT_ALLOWED;
ram54288 0:a7a43371b306 553
ram54288 0:a7a43371b306 554 coap_response = object_instance->handle_put_request(NULL,coap_header,handler,execute_value_updated);
ram54288 0:a7a43371b306 555 CHECK( coap_response != NULL);
ram54288 0:a7a43371b306 556
ram54288 0:a7a43371b306 557 coap_response = object_instance->handle_put_request(NULL,NULL,handler,execute_value_updated);
ram54288 0:a7a43371b306 558
ram54288 0:a7a43371b306 559 CHECK( coap_response != NULL);
ram54288 0:a7a43371b306 560
ram54288 0:a7a43371b306 561 //free(coap_header->options_list_ptr);
ram54288 0:a7a43371b306 562 free(common_stub::coap_header);
ram54288 0:a7a43371b306 563 free(coap_header);
ram54288 0:a7a43371b306 564
ram54288 0:a7a43371b306 565 m2mtlvdeserializer_stub::clear();
ram54288 0:a7a43371b306 566 common_stub::clear();
ram54288 0:a7a43371b306 567 m2mbase_stub::clear();
ram54288 0:a7a43371b306 568 }
ram54288 0:a7a43371b306 569
ram54288 0:a7a43371b306 570 void Test_M2MObjectInstance::test_handle_post_request()
ram54288 0:a7a43371b306 571 {
ram54288 0:a7a43371b306 572 uint8_t value[] = {"name"};
ram54288 0:a7a43371b306 573 bool execute_value_updated = false;
ram54288 0:a7a43371b306 574 sn_coap_hdr_s *coap_header = (sn_coap_hdr_s *)malloc(sizeof(sn_coap_hdr_s));
ram54288 0:a7a43371b306 575 memset(coap_header, 0, sizeof(sn_coap_hdr_s));
ram54288 0:a7a43371b306 576
ram54288 0:a7a43371b306 577 coap_header->uri_path_ptr = value;
ram54288 0:a7a43371b306 578 coap_header->uri_path_len = sizeof(value);
ram54288 0:a7a43371b306 579
ram54288 0:a7a43371b306 580 coap_header->msg_code = COAP_MSG_CODE_REQUEST_POST;
ram54288 0:a7a43371b306 581
ram54288 0:a7a43371b306 582 common_stub::int_value = 0;
ram54288 0:a7a43371b306 583 m2mbase_stub::string_value = "name";
ram54288 0:a7a43371b306 584
ram54288 0:a7a43371b306 585 m2mbase_stub::operation = M2MBase::POST_ALLOWED;
ram54288 0:a7a43371b306 586 m2mbase_stub::uint8_value = 200;
ram54288 0:a7a43371b306 587
ram54288 0:a7a43371b306 588 common_stub::coap_header = (sn_coap_hdr_ *)malloc(sizeof(sn_coap_hdr_));
ram54288 0:a7a43371b306 589 memset(common_stub::coap_header,0,sizeof(sn_coap_hdr_));
ram54288 0:a7a43371b306 590
ram54288 0:a7a43371b306 591 m2mbase_stub::bool_value = false;
ram54288 0:a7a43371b306 592
ram54288 0:a7a43371b306 593 sn_coap_hdr_s * coap_response = NULL;
ram54288 0:a7a43371b306 594 m2mbase_stub::uint8_value = 99;
ram54288 0:a7a43371b306 595
ram54288 0:a7a43371b306 596 common_stub::coap_header->options_list_ptr = (sn_coap_options_list_s*)malloc(sizeof(sn_coap_options_list_s));
ram54288 0:a7a43371b306 597 coap_header->content_format = sn_coap_content_format_e(-1);
ram54288 0:a7a43371b306 598 coap_response = object_instance->handle_post_request(NULL,coap_header,handler,execute_value_updated);
ram54288 0:a7a43371b306 599 CHECK( coap_response != NULL);
ram54288 0:a7a43371b306 600 if(coap_response) {
ram54288 0:a7a43371b306 601 if (coap_response->options_list_ptr) {
ram54288 0:a7a43371b306 602 if (coap_response->options_list_ptr->location_path_ptr) {
ram54288 0:a7a43371b306 603 free(coap_response->options_list_ptr->location_path_ptr);
ram54288 0:a7a43371b306 604 coap_response->options_list_ptr->location_path_ptr = NULL;
ram54288 0:a7a43371b306 605 }
ram54288 0:a7a43371b306 606 free(coap_response->options_list_ptr);
ram54288 0:a7a43371b306 607 coap_response->options_list_ptr = NULL;
ram54288 0:a7a43371b306 608 }
ram54288 0:a7a43371b306 609 }
ram54288 0:a7a43371b306 610
ram54288 0:a7a43371b306 611 m2mbase_stub::uint8_value = 100;
ram54288 0:a7a43371b306 612
ram54288 0:a7a43371b306 613 coap_response = object_instance->handle_post_request(NULL,coap_header,handler,execute_value_updated);
ram54288 0:a7a43371b306 614 CHECK( coap_response != NULL);
ram54288 0:a7a43371b306 615 if(coap_response) {
ram54288 0:a7a43371b306 616 if (coap_response->options_list_ptr) {
ram54288 0:a7a43371b306 617 if (coap_response->options_list_ptr->location_path_ptr) {
ram54288 0:a7a43371b306 618 free(coap_response->options_list_ptr->location_path_ptr);
ram54288 0:a7a43371b306 619 coap_response->options_list_ptr->location_path_ptr = NULL;
ram54288 0:a7a43371b306 620 }
ram54288 0:a7a43371b306 621 free(coap_response->options_list_ptr);
ram54288 0:a7a43371b306 622 coap_response->options_list_ptr = NULL;
ram54288 0:a7a43371b306 623 }
ram54288 0:a7a43371b306 624 }
ram54288 0:a7a43371b306 625 coap_header->payload_ptr = (uint8_t*)malloc(1);
ram54288 0:a7a43371b306 626
ram54288 0:a7a43371b306 627 coap_response = object_instance->handle_post_request(NULL,coap_header,handler,execute_value_updated);
ram54288 0:a7a43371b306 628 CHECK( coap_response != NULL);
ram54288 0:a7a43371b306 629 if(coap_response) {
ram54288 0:a7a43371b306 630 if (coap_response->options_list_ptr) {
ram54288 0:a7a43371b306 631 if (coap_response->options_list_ptr->location_path_ptr) {
ram54288 0:a7a43371b306 632 free(coap_response->options_list_ptr->location_path_ptr);
ram54288 0:a7a43371b306 633 coap_response->options_list_ptr->location_path_ptr = NULL;
ram54288 0:a7a43371b306 634 }
ram54288 0:a7a43371b306 635 free(coap_response->options_list_ptr);
ram54288 0:a7a43371b306 636 coap_response->options_list_ptr = NULL;
ram54288 0:a7a43371b306 637 }
ram54288 0:a7a43371b306 638 }
ram54288 0:a7a43371b306 639 m2mbase_stub::uint8_value = 99;
ram54288 0:a7a43371b306 640
ram54288 0:a7a43371b306 641 coap_response = object_instance->handle_post_request(NULL,coap_header,handler,execute_value_updated);
ram54288 0:a7a43371b306 642 CHECK( coap_response != NULL);
ram54288 0:a7a43371b306 643 if(coap_response) {
ram54288 0:a7a43371b306 644 if (coap_response->options_list_ptr) {
ram54288 0:a7a43371b306 645 if (coap_response->options_list_ptr->location_path_ptr) {
ram54288 0:a7a43371b306 646 free(coap_response->options_list_ptr->location_path_ptr);
ram54288 0:a7a43371b306 647 coap_response->options_list_ptr->location_path_ptr = NULL;
ram54288 0:a7a43371b306 648 }
ram54288 0:a7a43371b306 649 free(coap_response->options_list_ptr);
ram54288 0:a7a43371b306 650 coap_response->options_list_ptr = NULL;
ram54288 0:a7a43371b306 651 }
ram54288 0:a7a43371b306 652 }
ram54288 0:a7a43371b306 653
ram54288 0:a7a43371b306 654 m2mbase_stub::uint8_value = 0;
ram54288 0:a7a43371b306 655
ram54288 0:a7a43371b306 656 coap_header->options_list_ptr = (sn_coap_options_list_s*)malloc(sizeof(sn_coap_options_list_s));
ram54288 0:a7a43371b306 657 coap_header->options_list_ptr->uri_query_ptr = value;
ram54288 0:a7a43371b306 658 coap_header->options_list_ptr->uri_query_len = sizeof(value);
ram54288 0:a7a43371b306 659
ram54288 0:a7a43371b306 660 coap_header->content_format = sn_coap_content_format_e(99);
ram54288 0:a7a43371b306 661 m2mtlvdeserializer_stub::is_object_bool_value = true;
ram54288 0:a7a43371b306 662 m2mtlvdeserializer_stub::bool_value = false;
ram54288 0:a7a43371b306 663 m2mbase_stub::bool_value = false;
ram54288 0:a7a43371b306 664
ram54288 0:a7a43371b306 665 m2mtlvdeserializer_stub::error = M2MTLVDeserializer::None;
ram54288 0:a7a43371b306 666 coap_response = object_instance->handle_post_request(NULL,coap_header,handler,execute_value_updated);
ram54288 0:a7a43371b306 667
ram54288 0:a7a43371b306 668 CHECK( coap_response != NULL);
ram54288 0:a7a43371b306 669 if(coap_response) {
ram54288 0:a7a43371b306 670 if (coap_response->options_list_ptr) {
ram54288 0:a7a43371b306 671 if (coap_response->options_list_ptr->location_path_ptr) {
ram54288 0:a7a43371b306 672 free(coap_response->options_list_ptr->location_path_ptr);
ram54288 0:a7a43371b306 673 coap_response->options_list_ptr->location_path_ptr = NULL;
ram54288 0:a7a43371b306 674 }
ram54288 0:a7a43371b306 675 free(coap_response->options_list_ptr);
ram54288 0:a7a43371b306 676 coap_response->options_list_ptr = NULL;
ram54288 0:a7a43371b306 677 }
ram54288 0:a7a43371b306 678 }
ram54288 0:a7a43371b306 679
ram54288 0:a7a43371b306 680 m2mbase_stub::operation = M2MBase::POST_ALLOWED;
ram54288 0:a7a43371b306 681 m2mtlvdeserializer_stub::is_object_bool_value = true;
ram54288 0:a7a43371b306 682 m2mtlvdeserializer_stub::bool_value = false;
ram54288 0:a7a43371b306 683 m2mbase_stub::bool_value = false;
ram54288 0:a7a43371b306 684
ram54288 0:a7a43371b306 685 m2mtlvdeserializer_stub::error = M2MTLVDeserializer::NotAllowed;
ram54288 0:a7a43371b306 686
ram54288 0:a7a43371b306 687 coap_response = object_instance->handle_post_request(NULL,coap_header,handler,execute_value_updated);
ram54288 0:a7a43371b306 688
ram54288 0:a7a43371b306 689 CHECK( coap_response != NULL);
ram54288 0:a7a43371b306 690 if(coap_response) {
ram54288 0:a7a43371b306 691 if (coap_response->options_list_ptr) {
ram54288 0:a7a43371b306 692 if (coap_response->options_list_ptr->location_path_ptr) {
ram54288 0:a7a43371b306 693 free(coap_response->options_list_ptr->location_path_ptr);
ram54288 0:a7a43371b306 694 coap_response->options_list_ptr->location_path_ptr = NULL;
ram54288 0:a7a43371b306 695 }
ram54288 0:a7a43371b306 696 free(coap_response->options_list_ptr);
ram54288 0:a7a43371b306 697 coap_response->options_list_ptr = NULL;
ram54288 0:a7a43371b306 698 }
ram54288 0:a7a43371b306 699 }
ram54288 0:a7a43371b306 700
ram54288 0:a7a43371b306 701 m2mtlvdeserializer_stub::error = M2MTLVDeserializer::NotValid;
ram54288 0:a7a43371b306 702
ram54288 0:a7a43371b306 703 coap_response = object_instance->handle_post_request(NULL,coap_header,handler,execute_value_updated);
ram54288 0:a7a43371b306 704
ram54288 0:a7a43371b306 705 CHECK( coap_response != NULL);
ram54288 0:a7a43371b306 706 if(coap_response) {
ram54288 0:a7a43371b306 707 if (coap_response->options_list_ptr) {
ram54288 0:a7a43371b306 708 if (coap_response->options_list_ptr->location_path_ptr) {
ram54288 0:a7a43371b306 709 free(coap_response->options_list_ptr->location_path_ptr);
ram54288 0:a7a43371b306 710 coap_response->options_list_ptr->location_path_ptr = NULL;
ram54288 0:a7a43371b306 711 }
ram54288 0:a7a43371b306 712 free(coap_response->options_list_ptr);
ram54288 0:a7a43371b306 713 coap_response->options_list_ptr = NULL;
ram54288 0:a7a43371b306 714 }
ram54288 0:a7a43371b306 715 }
ram54288 0:a7a43371b306 716
ram54288 0:a7a43371b306 717
ram54288 0:a7a43371b306 718 m2mbase_stub::operation = M2MBase::POST_ALLOWED;
ram54288 0:a7a43371b306 719 m2mtlvdeserializer_stub::is_object_bool_value = false;
ram54288 0:a7a43371b306 720 m2mtlvdeserializer_stub::bool_value = true;
ram54288 0:a7a43371b306 721 m2mbase_stub::bool_value = false;
ram54288 0:a7a43371b306 722 m2mtlvdeserializer_stub::error = M2MTLVDeserializer::None;
ram54288 0:a7a43371b306 723
ram54288 0:a7a43371b306 724 coap_response = object_instance->handle_post_request(NULL,coap_header,handler,execute_value_updated);
ram54288 0:a7a43371b306 725
ram54288 0:a7a43371b306 726 CHECK( coap_response != NULL);
ram54288 0:a7a43371b306 727 if(coap_response) {
ram54288 0:a7a43371b306 728 if (coap_response->options_list_ptr) {
ram54288 0:a7a43371b306 729 if (coap_response->options_list_ptr->location_path_ptr) {
ram54288 0:a7a43371b306 730 free(coap_response->options_list_ptr->location_path_ptr);
ram54288 0:a7a43371b306 731 coap_response->options_list_ptr->location_path_ptr = NULL;
ram54288 0:a7a43371b306 732 }
ram54288 0:a7a43371b306 733 free(coap_response->options_list_ptr);
ram54288 0:a7a43371b306 734 coap_response->options_list_ptr = NULL;
ram54288 0:a7a43371b306 735 }
ram54288 0:a7a43371b306 736 }
ram54288 0:a7a43371b306 737
ram54288 0:a7a43371b306 738 m2mbase_stub::operation = M2MBase::POST_ALLOWED;
ram54288 0:a7a43371b306 739 m2mtlvdeserializer_stub::is_object_bool_value = false;
ram54288 0:a7a43371b306 740 m2mtlvdeserializer_stub::bool_value = true;
ram54288 0:a7a43371b306 741 m2mbase_stub::bool_value = false;
ram54288 0:a7a43371b306 742 m2mtlvdeserializer_stub::error = M2MTLVDeserializer::NotFound;
ram54288 0:a7a43371b306 743
ram54288 0:a7a43371b306 744 coap_response = object_instance->handle_post_request(NULL,coap_header,handler,execute_value_updated);
ram54288 0:a7a43371b306 745
ram54288 0:a7a43371b306 746 CHECK( coap_response != NULL);
ram54288 0:a7a43371b306 747 if(coap_response) {
ram54288 0:a7a43371b306 748 if (coap_response->options_list_ptr) {
ram54288 0:a7a43371b306 749 if (coap_response->options_list_ptr->location_path_ptr) {
ram54288 0:a7a43371b306 750 free(coap_response->options_list_ptr->location_path_ptr);
ram54288 0:a7a43371b306 751 coap_response->options_list_ptr->location_path_ptr = NULL;
ram54288 0:a7a43371b306 752 }
ram54288 0:a7a43371b306 753 free(coap_response->options_list_ptr);
ram54288 0:a7a43371b306 754 coap_response->options_list_ptr = NULL;
ram54288 0:a7a43371b306 755 }
ram54288 0:a7a43371b306 756 }
ram54288 0:a7a43371b306 757
ram54288 0:a7a43371b306 758 m2mbase_stub::operation = M2MBase::POST_ALLOWED;
ram54288 0:a7a43371b306 759 m2mtlvdeserializer_stub::bool_value = false;
ram54288 0:a7a43371b306 760
ram54288 0:a7a43371b306 761 coap_response = object_instance->handle_post_request(NULL,coap_header,handler,execute_value_updated);
ram54288 0:a7a43371b306 762
ram54288 0:a7a43371b306 763 CHECK( coap_response != NULL);
ram54288 0:a7a43371b306 764 if(coap_response) {
ram54288 0:a7a43371b306 765 if (coap_response->options_list_ptr) {
ram54288 0:a7a43371b306 766 if (coap_response->options_list_ptr->location_path_ptr) {
ram54288 0:a7a43371b306 767 free(coap_response->options_list_ptr->location_path_ptr);
ram54288 0:a7a43371b306 768 coap_response->options_list_ptr->location_path_ptr = NULL;
ram54288 0:a7a43371b306 769 }
ram54288 0:a7a43371b306 770 free(coap_response->options_list_ptr);
ram54288 0:a7a43371b306 771 coap_response->options_list_ptr = NULL;
ram54288 0:a7a43371b306 772 }
ram54288 0:a7a43371b306 773 }
ram54288 0:a7a43371b306 774
ram54288 0:a7a43371b306 775
ram54288 0:a7a43371b306 776 coap_header->content_format = sn_coap_content_format_e(100);
ram54288 0:a7a43371b306 777
ram54288 0:a7a43371b306 778 coap_response = object_instance->handle_post_request(NULL,coap_header,handler,execute_value_updated);
ram54288 0:a7a43371b306 779
ram54288 0:a7a43371b306 780 CHECK( coap_response != NULL);
ram54288 0:a7a43371b306 781 if(coap_response) {
ram54288 0:a7a43371b306 782 if (coap_response->options_list_ptr) {
ram54288 0:a7a43371b306 783 if (coap_response->options_list_ptr->location_path_ptr) {
ram54288 0:a7a43371b306 784 free(coap_response->options_list_ptr->location_path_ptr);
ram54288 0:a7a43371b306 785 coap_response->options_list_ptr->location_path_ptr = NULL;
ram54288 0:a7a43371b306 786 }
ram54288 0:a7a43371b306 787 free(coap_response->options_list_ptr);
ram54288 0:a7a43371b306 788 coap_response->options_list_ptr = NULL;
ram54288 0:a7a43371b306 789 }
ram54288 0:a7a43371b306 790 }
ram54288 0:a7a43371b306 791
ram54288 0:a7a43371b306 792
ram54288 0:a7a43371b306 793 m2mbase_stub::bool_value = true;
ram54288 0:a7a43371b306 794
ram54288 0:a7a43371b306 795 coap_response = object_instance->handle_post_request(NULL,coap_header,handler,execute_value_updated);
ram54288 0:a7a43371b306 796
ram54288 0:a7a43371b306 797 CHECK( coap_response != NULL);
ram54288 0:a7a43371b306 798 if(coap_response) {
ram54288 0:a7a43371b306 799 if (coap_response->options_list_ptr) {
ram54288 0:a7a43371b306 800 if (coap_response->options_list_ptr->location_path_ptr) {
ram54288 0:a7a43371b306 801 free(coap_response->options_list_ptr->location_path_ptr);
ram54288 0:a7a43371b306 802 coap_response->options_list_ptr->location_path_ptr = NULL;
ram54288 0:a7a43371b306 803 }
ram54288 0:a7a43371b306 804 free(coap_response->options_list_ptr);
ram54288 0:a7a43371b306 805 coap_response->options_list_ptr = NULL;
ram54288 0:a7a43371b306 806 }
ram54288 0:a7a43371b306 807 }
ram54288 0:a7a43371b306 808
ram54288 0:a7a43371b306 809
ram54288 0:a7a43371b306 810 m2mbase_stub::operation = M2MBase::NOT_ALLOWED;
ram54288 0:a7a43371b306 811
ram54288 0:a7a43371b306 812 coap_response = object_instance->handle_post_request(NULL,coap_header,handler,execute_value_updated);
ram54288 0:a7a43371b306 813
ram54288 0:a7a43371b306 814 CHECK( coap_response != NULL);
ram54288 0:a7a43371b306 815 if(coap_response) {
ram54288 0:a7a43371b306 816 if (coap_response->options_list_ptr) {
ram54288 0:a7a43371b306 817 if (coap_response->options_list_ptr->location_path_ptr) {
ram54288 0:a7a43371b306 818 free(coap_response->options_list_ptr->location_path_ptr);
ram54288 0:a7a43371b306 819 coap_response->options_list_ptr->location_path_ptr = NULL;
ram54288 0:a7a43371b306 820 }
ram54288 0:a7a43371b306 821 free(coap_response->options_list_ptr);
ram54288 0:a7a43371b306 822 coap_response->options_list_ptr = NULL;
ram54288 0:a7a43371b306 823 }
ram54288 0:a7a43371b306 824 }
ram54288 0:a7a43371b306 825
ram54288 0:a7a43371b306 826 coap_response = object_instance->handle_post_request(NULL,NULL,handler,execute_value_updated);
ram54288 0:a7a43371b306 827
ram54288 0:a7a43371b306 828 CHECK( coap_response != NULL);
ram54288 0:a7a43371b306 829 if(coap_response) {
ram54288 0:a7a43371b306 830 if (coap_response->options_list_ptr) {
ram54288 0:a7a43371b306 831 if (coap_response->options_list_ptr->location_path_ptr) {
ram54288 0:a7a43371b306 832 free(coap_response->options_list_ptr->location_path_ptr);
ram54288 0:a7a43371b306 833 coap_response->options_list_ptr->location_path_ptr = NULL;
ram54288 0:a7a43371b306 834 }
ram54288 0:a7a43371b306 835 free(coap_response->options_list_ptr);
ram54288 0:a7a43371b306 836 coap_response->options_list_ptr = NULL;
ram54288 0:a7a43371b306 837 }
ram54288 0:a7a43371b306 838 }
ram54288 0:a7a43371b306 839
ram54288 0:a7a43371b306 840 free(coap_header->options_list_ptr);
ram54288 0:a7a43371b306 841 free(coap_header->payload_ptr);
ram54288 0:a7a43371b306 842 free(common_stub::coap_header);
ram54288 0:a7a43371b306 843 free(coap_header);
ram54288 0:a7a43371b306 844 m2mtlvdeserializer_stub::clear();
ram54288 0:a7a43371b306 845 common_stub::clear();
ram54288 0:a7a43371b306 846 m2mbase_stub::clear();
ram54288 0:a7a43371b306 847
ram54288 0:a7a43371b306 848 }
ram54288 0:a7a43371b306 849
ram54288 0:a7a43371b306 850 void Test_M2MObjectInstance::test_notification_update()
ram54288 0:a7a43371b306 851 {
ram54288 0:a7a43371b306 852 M2MBase::Observation obs_level = M2MBase::O_Attribute;
ram54288 0:a7a43371b306 853
ram54288 0:a7a43371b306 854 object_instance->notification_update(obs_level);
ram54288 0:a7a43371b306 855 //CHECK(callback->visited == true);
ram54288 0:a7a43371b306 856
ram54288 0:a7a43371b306 857 obs_level = M2MBase::OI_Attribute;
ram54288 0:a7a43371b306 858
ram54288 0:a7a43371b306 859 TestReportObserver obs;
ram54288 0:a7a43371b306 860 m2mbase_stub::report = new M2MReportHandler(obs);
ram54288 0:a7a43371b306 861 m2mbase_stub::bool_value = true;
ram54288 0:a7a43371b306 862
ram54288 0:a7a43371b306 863 object_instance->notification_update(obs_level);
ram54288 0:a7a43371b306 864
ram54288 0:a7a43371b306 865 delete m2mbase_stub::report;
ram54288 0:a7a43371b306 866 m2mbase_stub::report = NULL;
ram54288 0:a7a43371b306 867 }