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_m2mnsdlinterface.h"
ram54288 0:a7a43371b306 18 #include "common_stub.h"
ram54288 0:a7a43371b306 19 #include "m2msecurity_stub.h"
ram54288 0:a7a43371b306 20 #include "m2mnsdlobserver.h"
ram54288 0:a7a43371b306 21 #include "m2mobject_stub.h"
ram54288 0:a7a43371b306 22 #include "m2mobjectinstance_stub.h"
ram54288 0:a7a43371b306 23 #include "m2mresource_stub.h"
ram54288 0:a7a43371b306 24 #include "m2mresourceinstance_stub.h"
ram54288 0:a7a43371b306 25 #include "m2mresource.h"
ram54288 0:a7a43371b306 26 #include "m2mbase_stub.h"
ram54288 0:a7a43371b306 27 #include "m2mserver.h"
ram54288 0:a7a43371b306 28 #include "m2msecurity.h"
ram54288 0:a7a43371b306 29 #include "m2mtlvdeserializer_stub.h"
ram54288 0:a7a43371b306 30 class TestObserver : public M2MNsdlObserver {
ram54288 0:a7a43371b306 31
ram54288 0:a7a43371b306 32 public:
ram54288 0:a7a43371b306 33 TestObserver(){}
ram54288 0:a7a43371b306 34 virtual ~TestObserver(){}
ram54288 0:a7a43371b306 35 void coap_message_ready(uint8_t *,
ram54288 0:a7a43371b306 36 uint16_t,
ram54288 0:a7a43371b306 37 sn_nsdl_addr_s *){
ram54288 0:a7a43371b306 38 message_ready = true;
ram54288 0:a7a43371b306 39 }
ram54288 0:a7a43371b306 40
ram54288 0:a7a43371b306 41 void client_registered(M2MServer *){
ram54288 0:a7a43371b306 42 registered = true;
ram54288 0:a7a43371b306 43 }
ram54288 0:a7a43371b306 44
ram54288 0:a7a43371b306 45 void registration_updated(const M2MServer &){
ram54288 0:a7a43371b306 46 register_updated = true;
ram54288 0:a7a43371b306 47 }
ram54288 0:a7a43371b306 48
ram54288 0:a7a43371b306 49 void registration_error(uint8_t, bool retry = false){
ram54288 0:a7a43371b306 50 register_error = true;
ram54288 0:a7a43371b306 51 }
ram54288 0:a7a43371b306 52
ram54288 0:a7a43371b306 53 void client_unregistered(){
ram54288 0:a7a43371b306 54 unregistered = true;
ram54288 0:a7a43371b306 55 }
ram54288 0:a7a43371b306 56
ram54288 0:a7a43371b306 57 void bootstrap_done(M2MSecurity *sec){
ram54288 0:a7a43371b306 58 if(sec) {
ram54288 0:a7a43371b306 59 boot_done = true;
ram54288 0:a7a43371b306 60 delete sec;
ram54288 0:a7a43371b306 61 sec = NULL;
ram54288 0:a7a43371b306 62 }
ram54288 0:a7a43371b306 63 }
ram54288 0:a7a43371b306 64
ram54288 0:a7a43371b306 65 void bootstrap_wait(M2MSecurity *sec){
ram54288 0:a7a43371b306 66 if(sec) {
ram54288 0:a7a43371b306 67 boot_wait = true;
ram54288 0:a7a43371b306 68 delete sec;
ram54288 0:a7a43371b306 69 sec = NULL;
ram54288 0:a7a43371b306 70 }
ram54288 0:a7a43371b306 71 }
ram54288 0:a7a43371b306 72
ram54288 0:a7a43371b306 73 void bootstrap_error(){
ram54288 0:a7a43371b306 74 boot_error = true;
ram54288 0:a7a43371b306 75 }
ram54288 0:a7a43371b306 76
ram54288 0:a7a43371b306 77 void coap_data_processed(){
ram54288 0:a7a43371b306 78 data_processed = true;
ram54288 0:a7a43371b306 79 }
ram54288 0:a7a43371b306 80
ram54288 0:a7a43371b306 81 void value_updated(M2MBase *){
ram54288 0:a7a43371b306 82 value_update = true;
ram54288 0:a7a43371b306 83 }
ram54288 0:a7a43371b306 84
ram54288 0:a7a43371b306 85 bool register_error;
ram54288 0:a7a43371b306 86 bool boot_error;
ram54288 0:a7a43371b306 87 bool boot_wait;
ram54288 0:a7a43371b306 88 bool boot_done;
ram54288 0:a7a43371b306 89 bool registered;
ram54288 0:a7a43371b306 90 bool register_updated;
ram54288 0:a7a43371b306 91 bool data_processed;
ram54288 0:a7a43371b306 92 bool unregistered;
ram54288 0:a7a43371b306 93 bool message_ready;
ram54288 0:a7a43371b306 94 bool value_update;
ram54288 0:a7a43371b306 95 };
ram54288 0:a7a43371b306 96
ram54288 0:a7a43371b306 97 struct nsdl_s {
ram54288 0:a7a43371b306 98 uint16_t update_register_msg_id;
ram54288 0:a7a43371b306 99 uint16_t register_msg_len;
ram54288 0:a7a43371b306 100 uint16_t update_register_msg_len;
ram54288 0:a7a43371b306 101
ram54288 0:a7a43371b306 102 uint16_t register_msg_id;
ram54288 0:a7a43371b306 103 uint16_t unregister_msg_id;
ram54288 0:a7a43371b306 104
ram54288 0:a7a43371b306 105 uint16_t bootstrap_msg_id;
ram54288 0:a7a43371b306 106 uint16_t oma_bs_port; /* Bootstrap port */
ram54288 0:a7a43371b306 107 uint8_t oma_bs_address_len; /* Bootstrap address length */
ram54288 0:a7a43371b306 108 unsigned int sn_nsdl_endpoint_registered:1;
ram54288 0:a7a43371b306 109 bool handle_bootstrap_msg:1;
ram54288 0:a7a43371b306 110
ram54288 0:a7a43371b306 111 struct grs_s *grs;
ram54288 0:a7a43371b306 112 uint8_t *oma_bs_address_ptr; /* Bootstrap address pointer. If null, no bootstrap in use */
ram54288 0:a7a43371b306 113 sn_nsdl_ep_parameters_s *ep_information_ptr; // Endpoint parameters, Name, Domain etc..
ram54288 0:a7a43371b306 114 sn_nsdl_oma_server_info_t *nsp_address_ptr; // NSP server address information
ram54288 0:a7a43371b306 115
ram54288 0:a7a43371b306 116 void (*sn_nsdl_oma_bs_done_cb)(sn_nsdl_oma_server_info_t *server_info_ptr); /* Callback to inform application when bootstrap is done */
ram54288 0:a7a43371b306 117 void *(*sn_nsdl_alloc)(uint16_t);
ram54288 0:a7a43371b306 118 void (*sn_nsdl_free)(void *);
ram54288 0:a7a43371b306 119 uint8_t (*sn_nsdl_tx_callback)(struct nsdl_s *, sn_nsdl_capab_e , uint8_t *, uint16_t, sn_nsdl_addr_s *);
ram54288 0:a7a43371b306 120 uint8_t (*sn_nsdl_rx_callback)(struct nsdl_s *, sn_coap_hdr_s *, sn_nsdl_addr_s *);
ram54288 0:a7a43371b306 121 void (*sn_nsdl_oma_bs_done_cb_handle)(sn_nsdl_oma_server_info_t *server_info_ptr,
ram54288 0:a7a43371b306 122 struct nsdl_s *handle); /* Callback to inform application when bootstrap is done with nsdl handle */
ram54288 0:a7a43371b306 123 };
ram54288 0:a7a43371b306 124
ram54288 0:a7a43371b306 125 Test_M2MNsdlInterface::Test_M2MNsdlInterface()
ram54288 0:a7a43371b306 126 {
ram54288 0:a7a43371b306 127 observer = new TestObserver();
ram54288 0:a7a43371b306 128 nsdl = new M2MNsdlInterface(*observer);
ram54288 0:a7a43371b306 129 //nsdl->_server = new M2MServer();
ram54288 0:a7a43371b306 130 }
ram54288 0:a7a43371b306 131
ram54288 0:a7a43371b306 132 Test_M2MNsdlInterface:: ~Test_M2MNsdlInterface()
ram54288 0:a7a43371b306 133 {
ram54288 0:a7a43371b306 134 delete nsdl;
ram54288 0:a7a43371b306 135 nsdl = NULL;
ram54288 0:a7a43371b306 136 delete observer;
ram54288 0:a7a43371b306 137 observer = NULL;
ram54288 0:a7a43371b306 138 }
ram54288 0:a7a43371b306 139
ram54288 0:a7a43371b306 140 void Test_M2MNsdlInterface::test_create_endpoint()
ram54288 0:a7a43371b306 141 {
ram54288 0:a7a43371b306 142 u_int8_t value[] = {"120"};
ram54288 0:a7a43371b306 143 if( nsdl->_endpoint == NULL){
ram54288 0:a7a43371b306 144 nsdl->_endpoint = (sn_nsdl_ep_parameters_s*)nsdl->memory_alloc(sizeof(sn_nsdl_ep_parameters_s));
ram54288 0:a7a43371b306 145 }
ram54288 0:a7a43371b306 146
ram54288 0:a7a43371b306 147 nsdl->create_endpoint("name", "type",120,"domain",100,"context");
ram54288 0:a7a43371b306 148 CHECK(nsdl->_endpoint->lifetime_len == 3);
ram54288 0:a7a43371b306 149 CHECK(*nsdl->_endpoint->lifetime_ptr == *value);
ram54288 0:a7a43371b306 150 }
ram54288 0:a7a43371b306 151
ram54288 0:a7a43371b306 152 void Test_M2MNsdlInterface::test_delete_endpoint()
ram54288 0:a7a43371b306 153 {
ram54288 0:a7a43371b306 154 if( nsdl->_endpoint == NULL){
ram54288 0:a7a43371b306 155 nsdl->_endpoint = (sn_nsdl_ep_parameters_s*)nsdl->memory_alloc(sizeof(sn_nsdl_ep_parameters_s));
ram54288 0:a7a43371b306 156 }
ram54288 0:a7a43371b306 157 nsdl->_endpoint->lifetime_ptr = (uint8_t*)malloc(sizeof(uint8_t));
ram54288 0:a7a43371b306 158
ram54288 0:a7a43371b306 159 nsdl->delete_endpoint();
ram54288 0:a7a43371b306 160 CHECK(nsdl->_endpoint == NULL);
ram54288 0:a7a43371b306 161 }
ram54288 0:a7a43371b306 162
ram54288 0:a7a43371b306 163 void Test_M2MNsdlInterface::test_create_nsdl_list_structure()
ram54288 0:a7a43371b306 164 {
ram54288 0:a7a43371b306 165 String *name = new String("name");
ram54288 0:a7a43371b306 166 common_stub::int_value = 0;
ram54288 0:a7a43371b306 167 m2mbase_stub::int_value = 0;
ram54288 0:a7a43371b306 168 M2MObject *object = new M2MObject(*name, (char*)name->c_str());
ram54288 0:a7a43371b306 169 M2MObjectInstance* instance = new M2MObjectInstance(*object,*name, "", "name/0");
ram54288 0:a7a43371b306 170
ram54288 0:a7a43371b306 171 M2MResource* create_resource = new M2MResource(*instance,
ram54288 0:a7a43371b306 172 *name,
ram54288 0:a7a43371b306 173 *name,
ram54288 0:a7a43371b306 174 M2MResourceInstance::INTEGER,
ram54288 0:a7a43371b306 175 false,
ram54288 0:a7a43371b306 176 "name");
ram54288 0:a7a43371b306 177
ram54288 0:a7a43371b306 178 M2MResourceInstance* res_instance = new M2MResourceInstance(*create_resource, *name, *name,
ram54288 0:a7a43371b306 179 M2MResourceInstance::INTEGER, 0, (char*)name->c_str(), false);
ram54288 0:a7a43371b306 180
ram54288 0:a7a43371b306 181 m2mobject_stub::instance_list.clear();
ram54288 0:a7a43371b306 182 m2mobject_stub::instance_list.push_back(instance);
ram54288 0:a7a43371b306 183
ram54288 0:a7a43371b306 184 m2mobjectinstance_stub::resource_list.clear();
ram54288 0:a7a43371b306 185 m2mobjectinstance_stub::resource_list.push_back(create_resource);
ram54288 0:a7a43371b306 186
ram54288 0:a7a43371b306 187 M2MObjectList list;
ram54288 0:a7a43371b306 188 list.push_back(object);
ram54288 0:a7a43371b306 189
ram54288 0:a7a43371b306 190 m2mbase_stub::string_value = name->c_str();
ram54288 0:a7a43371b306 191 m2mbase_stub::mode_value = M2MBase::Static;
ram54288 0:a7a43371b306 192
ram54288 0:a7a43371b306 193
ram54288 0:a7a43371b306 194 CHECK(nsdl->create_nsdl_list_structure(list)== true);
ram54288 0:a7a43371b306 195
ram54288 0:a7a43371b306 196 m2mresource_stub::bool_value = true;
ram54288 0:a7a43371b306 197 m2mbase_stub::mode_value = M2MBase::Dynamic;
ram54288 0:a7a43371b306 198
ram54288 0:a7a43371b306 199 m2mresource_stub::list.push_back(res_instance);
ram54288 0:a7a43371b306 200 m2mresourceinstance_stub::base_type = M2MBase::Resource;
ram54288 0:a7a43371b306 201
ram54288 0:a7a43371b306 202 CHECK(nsdl->create_nsdl_list_structure(list)== true);
ram54288 0:a7a43371b306 203
ram54288 0:a7a43371b306 204 m2mbase_stub::mode_value = M2MBase::Directory;
ram54288 0:a7a43371b306 205 CHECK(nsdl->create_nsdl_list_structure(list)== true);
ram54288 0:a7a43371b306 206
ram54288 0:a7a43371b306 207 list.clear();
ram54288 0:a7a43371b306 208 delete object;
ram54288 0:a7a43371b306 209 delete name;
ram54288 0:a7a43371b306 210 name = NULL;
ram54288 0:a7a43371b306 211 m2mobject_stub::instance_list.clear();
ram54288 0:a7a43371b306 212 delete instance;
ram54288 0:a7a43371b306 213 instance = NULL;
ram54288 0:a7a43371b306 214 m2mobjectinstance_stub::resource_list.clear();
ram54288 0:a7a43371b306 215 delete create_resource;
ram54288 0:a7a43371b306 216 create_resource = NULL;
ram54288 0:a7a43371b306 217
ram54288 0:a7a43371b306 218 m2mresource_stub::list.clear();
ram54288 0:a7a43371b306 219 delete res_instance;
ram54288 0:a7a43371b306 220 res_instance = NULL;
ram54288 0:a7a43371b306 221 }
ram54288 0:a7a43371b306 222
ram54288 0:a7a43371b306 223 void Test_M2MNsdlInterface::test_delete_nsdl_resource()
ram54288 0:a7a43371b306 224 {
ram54288 0:a7a43371b306 225 common_stub::int_value = 0;
ram54288 0:a7a43371b306 226 M2MObject *object = new M2MObject("name", "name");
ram54288 0:a7a43371b306 227
ram54288 0:a7a43371b306 228 CHECK(nsdl->remove_nsdl_resource(object) == false);
ram54288 0:a7a43371b306 229
ram54288 0:a7a43371b306 230 common_stub::int_value = 1;
ram54288 0:a7a43371b306 231
ram54288 0:a7a43371b306 232 CHECK(nsdl->remove_nsdl_resource(object) == true);
ram54288 0:a7a43371b306 233 delete object;
ram54288 0:a7a43371b306 234 }
ram54288 0:a7a43371b306 235
ram54288 0:a7a43371b306 236 void Test_M2MNsdlInterface::test_create_bootstrap_resource()
ram54288 0:a7a43371b306 237 {
ram54288 0:a7a43371b306 238 common_stub::uint_value = 11;
ram54288 0:a7a43371b306 239 CHECK(nsdl->create_bootstrap_resource(NULL, "") == true);
ram54288 0:a7a43371b306 240
ram54288 0:a7a43371b306 241 common_stub::uint_value = 0;
ram54288 0:a7a43371b306 242 CHECK(nsdl->create_bootstrap_resource(NULL, "") == false);
ram54288 0:a7a43371b306 243 }
ram54288 0:a7a43371b306 244
ram54288 0:a7a43371b306 245 void Test_M2MNsdlInterface::test_send_register_message()
ram54288 0:a7a43371b306 246 {
ram54288 0:a7a43371b306 247 common_stub::uint_value = 12;
ram54288 0:a7a43371b306 248 common_stub::int_value = 0;
ram54288 0:a7a43371b306 249 CHECK(nsdl->send_register_message(NULL,4,100,SN_NSDL_ADDRESS_TYPE_IPV6) == true);
ram54288 0:a7a43371b306 250
ram54288 0:a7a43371b306 251 common_stub::uint_value = 0;
ram54288 0:a7a43371b306 252 CHECK(nsdl->send_register_message(NULL,4,100,SN_NSDL_ADDRESS_TYPE_IPV6) == false);
ram54288 0:a7a43371b306 253 }
ram54288 0:a7a43371b306 254
ram54288 0:a7a43371b306 255 void Test_M2MNsdlInterface::test_send_update_registration()
ram54288 0:a7a43371b306 256 {
ram54288 0:a7a43371b306 257 common_stub::uint_value = 23;
ram54288 0:a7a43371b306 258 nsdl->_nsdl_handle = (nsdl_s*)malloc(sizeof(1));
ram54288 0:a7a43371b306 259 CHECK(nsdl->send_update_registration(120) == true);
ram54288 0:a7a43371b306 260
ram54288 0:a7a43371b306 261 // Update lifetime value
ram54288 0:a7a43371b306 262 common_stub::uint_value = 1;
ram54288 0:a7a43371b306 263 CHECK(nsdl->send_update_registration(100) == true);
ram54288 0:a7a43371b306 264
ram54288 0:a7a43371b306 265 // Lifetime value is 0, don't change the existing lifetime value
ram54288 0:a7a43371b306 266 common_stub::uint_value = 1;
ram54288 0:a7a43371b306 267 CHECK(nsdl->send_update_registration(0) == true);
ram54288 0:a7a43371b306 268
ram54288 0:a7a43371b306 269 free(nsdl->_nsdl_handle);
ram54288 0:a7a43371b306 270 }
ram54288 0:a7a43371b306 271
ram54288 0:a7a43371b306 272 void Test_M2MNsdlInterface::test_send_unregister_message()
ram54288 0:a7a43371b306 273 {
ram54288 0:a7a43371b306 274 common_stub::uint_value = 22;
ram54288 0:a7a43371b306 275 CHECK(nsdl->send_unregister_message() == true);
ram54288 0:a7a43371b306 276
ram54288 0:a7a43371b306 277 // Unreg already in progress
ram54288 0:a7a43371b306 278 common_stub::uint_value = 0;
ram54288 0:a7a43371b306 279 CHECK(nsdl->send_unregister_message() == true);
ram54288 0:a7a43371b306 280 }
ram54288 0:a7a43371b306 281
ram54288 0:a7a43371b306 282 void Test_M2MNsdlInterface::test_memory_alloc()
ram54288 0:a7a43371b306 283 {
ram54288 0:a7a43371b306 284 CHECK(nsdl->memory_alloc(0) == 0);
ram54288 0:a7a43371b306 285 uint8_t *ptr = 0;
ram54288 0:a7a43371b306 286 ptr = (uint8_t*)nsdl->memory_alloc(sizeof(uint8_t));
ram54288 0:a7a43371b306 287 CHECK(ptr != NULL);
ram54288 0:a7a43371b306 288 nsdl->memory_free(ptr);
ram54288 0:a7a43371b306 289 }
ram54288 0:a7a43371b306 290
ram54288 0:a7a43371b306 291 void Test_M2MNsdlInterface::test_memory_free()
ram54288 0:a7a43371b306 292 {
ram54288 0:a7a43371b306 293 uint8_t *ptr = (uint8_t*)nsdl->memory_alloc(sizeof(uint8_t));
ram54288 0:a7a43371b306 294 nsdl->memory_free((void*)ptr);
ram54288 0:a7a43371b306 295 //memory leak test will fail, if there is a leak, so no need for CHECK
ram54288 0:a7a43371b306 296 }
ram54288 0:a7a43371b306 297
ram54288 0:a7a43371b306 298 void Test_M2MNsdlInterface::test_send_to_server_callback()
ram54288 0:a7a43371b306 299 {
ram54288 0:a7a43371b306 300 uint8_t *data_ptr = (uint8_t*)malloc(sizeof(uint8_t));
ram54288 0:a7a43371b306 301 uint16_t data_len = sizeof(uint8_t);
ram54288 0:a7a43371b306 302 sn_nsdl_addr_s *address = (sn_nsdl_addr_s *)malloc(sizeof(sn_nsdl_addr_s));
ram54288 0:a7a43371b306 303
ram54288 0:a7a43371b306 304 nsdl->send_to_server_callback(NULL, SN_NSDL_PROTOCOL_COAP, data_ptr,data_len,address);
ram54288 0:a7a43371b306 305 CHECK(observer->message_ready == true);
ram54288 0:a7a43371b306 306
ram54288 0:a7a43371b306 307 free(data_ptr);
ram54288 0:a7a43371b306 308 free(address);
ram54288 0:a7a43371b306 309 }
ram54288 0:a7a43371b306 310
ram54288 0:a7a43371b306 311 void Test_M2MNsdlInterface::test_received_from_server_callback()
ram54288 0:a7a43371b306 312 {
ram54288 0:a7a43371b306 313 nsdl_s* handle = (nsdl_s*)malloc(sizeof(nsdl_s));
ram54288 0:a7a43371b306 314 memset(handle,0,sizeof(nsdl_s));
ram54288 0:a7a43371b306 315
ram54288 0:a7a43371b306 316 sn_coap_hdr_s *coap_header = (sn_coap_hdr_s *)malloc(sizeof(sn_coap_hdr_s));
ram54288 0:a7a43371b306 317 memset(coap_header, 0, sizeof(sn_coap_hdr_s));
ram54288 0:a7a43371b306 318 coap_header->msg_code = COAP_MSG_CODE_RESPONSE_CREATED;
ram54288 0:a7a43371b306 319
ram54288 0:a7a43371b306 320
ram54288 0:a7a43371b306 321 coap_header->options_list_ptr = (sn_coap_options_list_s *)malloc(sizeof(sn_coap_options_list_s));
ram54288 0:a7a43371b306 322 memset(coap_header->options_list_ptr, 0, sizeof(sn_coap_options_list_s));
ram54288 0:a7a43371b306 323
ram54288 0:a7a43371b306 324 coap_header->options_list_ptr->max_age = 2;
ram54288 0:a7a43371b306 325
ram54288 0:a7a43371b306 326 coap_header->options_list_ptr->location_path_len = 2;
ram54288 0:a7a43371b306 327 coap_header->options_list_ptr->location_path_ptr = (uint8_t *)malloc(sizeof(coap_header->options_list_ptr->location_path_len));
ram54288 0:a7a43371b306 328 memset(coap_header->options_list_ptr->location_path_ptr, 0, sizeof(coap_header->options_list_ptr->location_path_len));
ram54288 0:a7a43371b306 329
ram54288 0:a7a43371b306 330 observer->data_processed = false;
ram54288 0:a7a43371b306 331 observer->registered = false;
ram54288 0:a7a43371b306 332 nsdl->received_from_server_callback(handle,coap_header,NULL);
ram54288 0:a7a43371b306 333 CHECK(observer->data_processed == true);
ram54288 0:a7a43371b306 334 CHECK(observer->registered == true);
ram54288 0:a7a43371b306 335
ram54288 0:a7a43371b306 336 free(nsdl->_endpoint->lifetime_ptr);
ram54288 0:a7a43371b306 337 nsdl->_endpoint->lifetime_ptr = NULL;
ram54288 0:a7a43371b306 338
ram54288 0:a7a43371b306 339 free(nsdl->_endpoint->location_ptr);
ram54288 0:a7a43371b306 340 nsdl->_endpoint->location_ptr = NULL;
ram54288 0:a7a43371b306 341
ram54288 0:a7a43371b306 342 uint8_t life1[] = {"120"};
ram54288 0:a7a43371b306 343 nsdl->_endpoint->lifetime_ptr = (uint8_t*)malloc(sizeof(life1));
ram54288 0:a7a43371b306 344 memcpy(nsdl->_endpoint->lifetime_ptr,life1,sizeof(life1));
ram54288 0:a7a43371b306 345 nsdl->_endpoint->lifetime_len = (uint8_t)sizeof(life1);
ram54288 0:a7a43371b306 346
ram54288 0:a7a43371b306 347 observer->data_processed = false;
ram54288 0:a7a43371b306 348 observer->registered = false;
ram54288 0:a7a43371b306 349 nsdl->received_from_server_callback(handle,coap_header,NULL);
ram54288 0:a7a43371b306 350 CHECK(observer->data_processed == true);
ram54288 0:a7a43371b306 351 CHECK(observer->registered == true);
ram54288 0:a7a43371b306 352
ram54288 0:a7a43371b306 353 free(coap_header->options_list_ptr->location_path_ptr);
ram54288 0:a7a43371b306 354 coap_header->options_list_ptr->location_path_ptr = NULL;
ram54288 0:a7a43371b306 355
ram54288 0:a7a43371b306 356 free(coap_header->options_list_ptr);
ram54288 0:a7a43371b306 357 coap_header->options_list_ptr = NULL;
ram54288 0:a7a43371b306 358
ram54288 0:a7a43371b306 359 free(nsdl->_endpoint->lifetime_ptr);
ram54288 0:a7a43371b306 360 nsdl->_endpoint->lifetime_ptr = NULL;
ram54288 0:a7a43371b306 361
ram54288 0:a7a43371b306 362 uint8_t life[] = {"120"};
ram54288 0:a7a43371b306 363 nsdl->_endpoint->lifetime_ptr = (uint8_t*)malloc(sizeof(life));
ram54288 0:a7a43371b306 364 memcpy(nsdl->_endpoint->lifetime_ptr,life,sizeof(life));
ram54288 0:a7a43371b306 365 nsdl->_endpoint->lifetime_len = (uint8_t)sizeof(life);
ram54288 0:a7a43371b306 366
ram54288 0:a7a43371b306 367 observer->data_processed = false;
ram54288 0:a7a43371b306 368 observer->registered = false;
ram54288 0:a7a43371b306 369
ram54288 0:a7a43371b306 370 nsdl->received_from_server_callback(handle,coap_header,NULL);
ram54288 0:a7a43371b306 371 CHECK(observer->data_processed == true);
ram54288 0:a7a43371b306 372 CHECK(observer->registered == true);
ram54288 0:a7a43371b306 373 free(nsdl->_endpoint->lifetime_ptr);
ram54288 0:a7a43371b306 374 nsdl->_endpoint->lifetime_ptr = NULL;
ram54288 0:a7a43371b306 375
ram54288 0:a7a43371b306 376 uint8_t big_life[] = {"4000"};
ram54288 0:a7a43371b306 377 nsdl->_endpoint->lifetime_ptr = (uint8_t*)malloc(sizeof(big_life));
ram54288 0:a7a43371b306 378 memcpy(nsdl->_endpoint->lifetime_ptr,big_life,sizeof(big_life));
ram54288 0:a7a43371b306 379 nsdl->_endpoint->lifetime_len = (uint8_t)sizeof(big_life);
ram54288 0:a7a43371b306 380 observer->data_processed = false;
ram54288 0:a7a43371b306 381 observer->registered = false;
ram54288 0:a7a43371b306 382 nsdl->received_from_server_callback(handle,coap_header,NULL);
ram54288 0:a7a43371b306 383 CHECK(observer->data_processed == true);
ram54288 0:a7a43371b306 384 CHECK(observer->registered == true);
ram54288 0:a7a43371b306 385
ram54288 0:a7a43371b306 386 free(nsdl->_endpoint->lifetime_ptr);
ram54288 0:a7a43371b306 387 nsdl->_endpoint->lifetime_ptr = NULL;
ram54288 0:a7a43371b306 388
ram54288 0:a7a43371b306 389 observer->data_processed = false;
ram54288 0:a7a43371b306 390 observer->registered = false;
ram54288 0:a7a43371b306 391
ram54288 0:a7a43371b306 392 uint8_t less_life[] = {"30"};
ram54288 0:a7a43371b306 393 nsdl->_endpoint->lifetime_ptr = (uint8_t*)malloc(sizeof(less_life));
ram54288 0:a7a43371b306 394 memcpy(nsdl->_endpoint->lifetime_ptr,less_life,sizeof(less_life));
ram54288 0:a7a43371b306 395 nsdl->_endpoint->lifetime_len = (uint8_t)sizeof(less_life);
ram54288 0:a7a43371b306 396
ram54288 0:a7a43371b306 397 nsdl->received_from_server_callback(handle,coap_header,NULL);
ram54288 0:a7a43371b306 398 CHECK(observer->data_processed == true);
ram54288 0:a7a43371b306 399 CHECK(observer->registered == true);
ram54288 0:a7a43371b306 400
ram54288 0:a7a43371b306 401 observer->data_processed = false;
ram54288 0:a7a43371b306 402 observer->registered = false;
ram54288 0:a7a43371b306 403 observer->unregistered = false;
ram54288 0:a7a43371b306 404 observer->register_error = false;
ram54288 0:a7a43371b306 405
ram54288 0:a7a43371b306 406 coap_header->msg_code = COAP_MSG_CODE_RESPONSE_BAD_REQUEST;
ram54288 0:a7a43371b306 407 nsdl->received_from_server_callback(handle,coap_header,NULL);
ram54288 0:a7a43371b306 408 CHECK(observer->data_processed == true);
ram54288 0:a7a43371b306 409 CHECK(observer->register_error == true);
ram54288 0:a7a43371b306 410
ram54288 0:a7a43371b306 411 coap_header->msg_code = COAP_MSG_CODE_RESPONSE_BAD_OPTION;
ram54288 0:a7a43371b306 412 nsdl->received_from_server_callback(handle,coap_header,NULL);
ram54288 0:a7a43371b306 413 CHECK(observer->data_processed == true);
ram54288 0:a7a43371b306 414 CHECK(observer->register_error == true);
ram54288 0:a7a43371b306 415
ram54288 0:a7a43371b306 416 coap_header->msg_code = COAP_MSG_CODE_RESPONSE_REQUEST_ENTITY_INCOMPLETE;
ram54288 0:a7a43371b306 417 nsdl->received_from_server_callback(handle,coap_header,NULL);
ram54288 0:a7a43371b306 418 CHECK(observer->data_processed == true);
ram54288 0:a7a43371b306 419 CHECK(observer->register_error == true);
ram54288 0:a7a43371b306 420
ram54288 0:a7a43371b306 421 coap_header->msg_code = COAP_MSG_CODE_RESPONSE_PRECONDITION_FAILED;
ram54288 0:a7a43371b306 422 nsdl->received_from_server_callback(handle,coap_header,NULL);
ram54288 0:a7a43371b306 423 CHECK(observer->data_processed == true);
ram54288 0:a7a43371b306 424 CHECK(observer->register_error == true);
ram54288 0:a7a43371b306 425
ram54288 0:a7a43371b306 426 coap_header->msg_code = COAP_MSG_CODE_RESPONSE_REQUEST_ENTITY_TOO_LARGE;
ram54288 0:a7a43371b306 427 nsdl->received_from_server_callback(handle,coap_header,NULL);
ram54288 0:a7a43371b306 428 CHECK(observer->data_processed == true);
ram54288 0:a7a43371b306 429 CHECK(observer->register_error == true);
ram54288 0:a7a43371b306 430
ram54288 0:a7a43371b306 431 coap_header->msg_code = COAP_MSG_CODE_RESPONSE_UNSUPPORTED_CONTENT_FORMAT;
ram54288 0:a7a43371b306 432 nsdl->received_from_server_callback(handle,coap_header,NULL);
ram54288 0:a7a43371b306 433 CHECK(observer->data_processed == true);
ram54288 0:a7a43371b306 434 CHECK(observer->register_error == true);
ram54288 0:a7a43371b306 435
ram54288 0:a7a43371b306 436 coap_header->msg_code = COAP_MSG_CODE_RESPONSE_UNAUTHORIZED;
ram54288 0:a7a43371b306 437 nsdl->received_from_server_callback(handle,coap_header,NULL);
ram54288 0:a7a43371b306 438 CHECK(observer->data_processed == true);
ram54288 0:a7a43371b306 439 CHECK(observer->register_error == true);
ram54288 0:a7a43371b306 440
ram54288 0:a7a43371b306 441 coap_header->msg_code = COAP_MSG_CODE_RESPONSE_FORBIDDEN;
ram54288 0:a7a43371b306 442 nsdl->received_from_server_callback(handle,coap_header,NULL);
ram54288 0:a7a43371b306 443 CHECK(observer->data_processed == true);
ram54288 0:a7a43371b306 444 CHECK(observer->register_error == true);
ram54288 0:a7a43371b306 445
ram54288 0:a7a43371b306 446 coap_header->msg_code = COAP_MSG_CODE_RESPONSE_NOT_FOUND;
ram54288 0:a7a43371b306 447 nsdl->received_from_server_callback(handle,coap_header,NULL);
ram54288 0:a7a43371b306 448 CHECK(observer->data_processed == true);
ram54288 0:a7a43371b306 449 CHECK(observer->register_error == true);
ram54288 0:a7a43371b306 450
ram54288 0:a7a43371b306 451 coap_header->msg_code = COAP_MSG_CODE_RESPONSE_METHOD_NOT_ALLOWED;
ram54288 0:a7a43371b306 452 nsdl->received_from_server_callback(handle,coap_header,NULL);
ram54288 0:a7a43371b306 453 CHECK(observer->data_processed == true);
ram54288 0:a7a43371b306 454 CHECK(observer->register_error == true);
ram54288 0:a7a43371b306 455
ram54288 0:a7a43371b306 456 coap_header->msg_code = COAP_MSG_CODE_RESPONSE_BAD_GATEWAY;
ram54288 0:a7a43371b306 457 coap_header->coap_status = COAP_STATUS_BUILDER_MESSAGE_SENDING_FAILED;
ram54288 0:a7a43371b306 458 nsdl->received_from_server_callback(handle,coap_header,NULL);
ram54288 0:a7a43371b306 459 CHECK(observer->data_processed == true);
ram54288 0:a7a43371b306 460 CHECK(observer->register_error == true);
ram54288 0:a7a43371b306 461
ram54288 0:a7a43371b306 462
ram54288 0:a7a43371b306 463 coap_header->msg_id = 8;
ram54288 0:a7a43371b306 464 handle->unregister_msg_id = 8;
ram54288 0:a7a43371b306 465
ram54288 0:a7a43371b306 466 coap_header->msg_code = COAP_MSG_CODE_RESPONSE_DELETED;
ram54288 0:a7a43371b306 467 observer->register_error = false;
ram54288 0:a7a43371b306 468 nsdl->received_from_server_callback(handle,coap_header,NULL);
ram54288 0:a7a43371b306 469 CHECK(observer->unregistered == true);
ram54288 0:a7a43371b306 470
ram54288 0:a7a43371b306 471 observer->register_error = false;
ram54288 0:a7a43371b306 472 handle->unregister_msg_id = 8;
ram54288 0:a7a43371b306 473 coap_header->msg_code = COAP_MSG_CODE_RESPONSE_CREATED;
ram54288 0:a7a43371b306 474
ram54288 0:a7a43371b306 475 nsdl->received_from_server_callback(handle,coap_header,NULL);
ram54288 0:a7a43371b306 476 CHECK(observer->register_error == true);
ram54288 0:a7a43371b306 477
ram54288 0:a7a43371b306 478 observer->register_error = false;
ram54288 0:a7a43371b306 479 handle->unregister_msg_id = 8;
ram54288 0:a7a43371b306 480 coap_header->coap_status = COAP_STATUS_BUILDER_MESSAGE_SENDING_FAILED;
ram54288 0:a7a43371b306 481 coap_header->msg_code = COAP_MSG_CODE_RESPONSE_BAD_REQUEST;
ram54288 0:a7a43371b306 482 nsdl->received_from_server_callback(handle,coap_header,NULL);
ram54288 0:a7a43371b306 483 CHECK(observer->register_error == true);
ram54288 0:a7a43371b306 484
ram54288 0:a7a43371b306 485 observer->register_error = false;
ram54288 0:a7a43371b306 486 handle->unregister_msg_id = 8;
ram54288 0:a7a43371b306 487 coap_header->coap_status = COAP_STATUS_PARSER_ERROR_IN_HEADER;
ram54288 0:a7a43371b306 488 coap_header->msg_code = COAP_MSG_CODE_RESPONSE_METHOD_NOT_ALLOWED;
ram54288 0:a7a43371b306 489 nsdl->received_from_server_callback(handle,coap_header,NULL);
ram54288 0:a7a43371b306 490 CHECK(observer->register_error == true);
ram54288 0:a7a43371b306 491
ram54288 0:a7a43371b306 492 observer->register_error = false;
ram54288 0:a7a43371b306 493 handle->unregister_msg_id = 8;
ram54288 0:a7a43371b306 494 coap_header->coap_status = COAP_STATUS_PARSER_ERROR_IN_HEADER;
ram54288 0:a7a43371b306 495 coap_header->msg_code = COAP_MSG_CODE_RESPONSE_GATEWAY_TIMEOUT;
ram54288 0:a7a43371b306 496 nsdl->received_from_server_callback(handle,coap_header,NULL);
ram54288 0:a7a43371b306 497 CHECK(observer->register_error == true);
ram54288 0:a7a43371b306 498
ram54288 0:a7a43371b306 499 // Receive initial bs message with error
ram54288 0:a7a43371b306 500 handle->unregister_msg_id = 0;
ram54288 0:a7a43371b306 501 observer->boot_error = false;
ram54288 0:a7a43371b306 502 nsdl->_bootstrap_id = 8;
ram54288 0:a7a43371b306 503 handle->bootstrap_msg_id = 8;
ram54288 0:a7a43371b306 504 coap_header->coap_status = COAP_STATUS_BUILDER_MESSAGE_SENDING_FAILED;
ram54288 0:a7a43371b306 505 nsdl->received_from_server_callback(handle,coap_header,NULL);
ram54288 0:a7a43371b306 506 CHECK(observer->boot_error == true);
ram54288 0:a7a43371b306 507
ram54288 0:a7a43371b306 508 //_update_id == msg_id
ram54288 0:a7a43371b306 509 handle->update_register_msg_id = 10;
ram54288 0:a7a43371b306 510 coap_header->msg_id = 10;
ram54288 0:a7a43371b306 511 coap_header->msg_code = COAP_MSG_CODE_RESPONSE_CHANGED;
ram54288 0:a7a43371b306 512 nsdl->received_from_server_callback(handle,coap_header,NULL);
ram54288 0:a7a43371b306 513 CHECK(observer->register_updated == true);
ram54288 0:a7a43371b306 514
ram54288 0:a7a43371b306 515 coap_header->msg_id = 10;
ram54288 0:a7a43371b306 516 coap_header->msg_code = COAP_MSG_CODE_RESPONSE_FORBIDDEN;
ram54288 0:a7a43371b306 517 coap_header->coap_status = COAP_STATUS_OK;
ram54288 0:a7a43371b306 518 nsdl->received_from_server_callback(handle,coap_header,NULL);
ram54288 0:a7a43371b306 519 CHECK(observer->register_error == true);
ram54288 0:a7a43371b306 520
ram54288 0:a7a43371b306 521 coap_header->msg_id = 11;
ram54288 0:a7a43371b306 522 CHECK( 0== nsdl->received_from_server_callback(handle,coap_header,NULL) );
ram54288 0:a7a43371b306 523
ram54288 0:a7a43371b306 524 handle->update_register_msg_id = 0;
ram54288 0:a7a43371b306 525 handle->register_msg_id = 0;
ram54288 0:a7a43371b306 526 handle->unregister_msg_id = 0;
ram54288 0:a7a43371b306 527 coap_header->msg_id = 10;
ram54288 0:a7a43371b306 528 coap_header->msg_code = COAP_MSG_CODE_REQUEST_POST;
ram54288 0:a7a43371b306 529
ram54288 0:a7a43371b306 530 uint8_t object[] = {"name"};
ram54288 0:a7a43371b306 531
ram54288 0:a7a43371b306 532 coap_header->uri_path_ptr = object;
ram54288 0:a7a43371b306 533 coap_header->uri_path_len = sizeof(object);
ram54288 0:a7a43371b306 534
ram54288 0:a7a43371b306 535 CHECK(0== nsdl->received_from_server_callback(handle,coap_header,NULL));
ram54288 0:a7a43371b306 536
ram54288 0:a7a43371b306 537 //Test methods that are not allowed
ram54288 0:a7a43371b306 538 coap_header->msg_code = COAP_MSG_CODE_REQUEST_GET;
ram54288 0:a7a43371b306 539 nsdl->received_from_server_callback(handle,coap_header,NULL);
ram54288 0:a7a43371b306 540
ram54288 0:a7a43371b306 541 coap_header->msg_code = COAP_MSG_CODE_REQUEST_PUT;
ram54288 0:a7a43371b306 542 nsdl->received_from_server_callback(handle,coap_header,NULL);
ram54288 0:a7a43371b306 543
ram54288 0:a7a43371b306 544 coap_header->msg_code = COAP_MSG_CODE_REQUEST_DELETE;
ram54288 0:a7a43371b306 545 nsdl->received_from_server_callback(handle,coap_header,NULL);
ram54288 0:a7a43371b306 546
ram54288 0:a7a43371b306 547 //Continue testing with post method
ram54288 0:a7a43371b306 548 coap_header->msg_code = COAP_MSG_CODE_REQUEST_POST;
ram54288 0:a7a43371b306 549
ram54288 0:a7a43371b306 550 uint8_t object_instance[] = {"name/0"};
ram54288 0:a7a43371b306 551
ram54288 0:a7a43371b306 552 coap_header->uri_path_ptr = object_instance;
ram54288 0:a7a43371b306 553 coap_header->uri_path_len = sizeof(object_instance);
ram54288 0:a7a43371b306 554
ram54288 0:a7a43371b306 555 coap_header->payload_ptr = (uint8_t*)malloc(1);
ram54288 0:a7a43371b306 556 m2mobjectinstance_stub::bool_value = true;
ram54288 0:a7a43371b306 557 CHECK(0== nsdl->received_from_server_callback(handle,coap_header,NULL));
ram54288 0:a7a43371b306 558
ram54288 0:a7a43371b306 559 M2MObject *obj = new M2MObject("name", "name");
ram54288 0:a7a43371b306 560
ram54288 0:a7a43371b306 561 m2mbase_stub::string_value = "name";
ram54288 0:a7a43371b306 562 m2mbase_stub::nsdl_resource =
ram54288 0:a7a43371b306 563 (sn_nsdl_dynamic_resource_parameters_s*) malloc(sizeof(sn_nsdl_dynamic_resource_parameters_s));
ram54288 0:a7a43371b306 564 m2mbase_stub::nsdl_resource->static_resource_parameters =
ram54288 0:a7a43371b306 565 (sn_nsdl_static_resource_parameters_s*) malloc(sizeof(sn_nsdl_static_resource_parameters_s));
ram54288 0:a7a43371b306 566 m2mbase_stub::nsdl_resource->static_resource_parameters->path = (uint8_t*)malloc(5);
ram54288 0:a7a43371b306 567 m2mbase_stub::nsdl_resource->static_resource_parameters->path[0] = 'n';
ram54288 0:a7a43371b306 568 m2mbase_stub::nsdl_resource->static_resource_parameters->path[1] = 'a';
ram54288 0:a7a43371b306 569 m2mbase_stub::nsdl_resource->static_resource_parameters->path[2] = 'm';
ram54288 0:a7a43371b306 570 m2mbase_stub::nsdl_resource->static_resource_parameters->path[3] = 'e';
ram54288 0:a7a43371b306 571 m2mbase_stub::nsdl_resource->static_resource_parameters->path[4] = '\0';
ram54288 0:a7a43371b306 572 m2mbase_stub::nsdl_resource->static_resource_parameters->pathlen = 5;
ram54288 0:a7a43371b306 573
ram54288 0:a7a43371b306 574 nsdl->_object_list.push_back(obj);
ram54288 0:a7a43371b306 575
ram54288 0:a7a43371b306 576 m2mobject_stub::inst = new M2MObjectInstance(*obj, "name", "", "");
ram54288 0:a7a43371b306 577
ram54288 0:a7a43371b306 578 m2mobject_stub::header = (sn_coap_hdr_s*) malloc(sizeof(sn_coap_hdr_s));
ram54288 0:a7a43371b306 579 memset(m2mobject_stub::header,0,sizeof(sn_coap_hdr_s));
ram54288 0:a7a43371b306 580
ram54288 0:a7a43371b306 581 m2mobjectinstance_stub::header = (sn_coap_hdr_s *)malloc(sizeof(sn_coap_hdr_s));
ram54288 0:a7a43371b306 582 memset(m2mobjectinstance_stub::header, 0, sizeof(sn_coap_hdr_s));
ram54288 0:a7a43371b306 583 m2mobjectinstance_stub::header->msg_code = COAP_MSG_CODE_RESPONSE_BAD_REQUEST;
ram54288 0:a7a43371b306 584 common_stub::coap_header = NULL;
ram54288 0:a7a43371b306 585 m2mobjectinstance_stub::base_type = M2MBase::ObjectInstance;
ram54288 0:a7a43371b306 586
ram54288 0:a7a43371b306 587 CHECK(0 == nsdl->received_from_server_callback(handle,coap_header,NULL));
ram54288 0:a7a43371b306 588 m2mobjectinstance_stub::header = NULL;
ram54288 0:a7a43371b306 589
ram54288 0:a7a43371b306 590 m2mobjectinstance_stub::header = (sn_coap_hdr_s *)malloc(sizeof(sn_coap_hdr_s));
ram54288 0:a7a43371b306 591 memset(m2mobjectinstance_stub::header, 0, sizeof(sn_coap_hdr_s));
ram54288 0:a7a43371b306 592
ram54288 0:a7a43371b306 593 m2mobjectinstance_stub::header->msg_code = COAP_MSG_CODE_RESPONSE_CREATED;
ram54288 0:a7a43371b306 594 CHECK(0 == nsdl->received_from_server_callback(handle,coap_header,NULL));
ram54288 0:a7a43371b306 595 m2mobjectinstance_stub::header = NULL;
ram54288 0:a7a43371b306 596
ram54288 0:a7a43371b306 597 free(coap_header->payload_ptr);
ram54288 0:a7a43371b306 598 coap_header->payload_ptr = NULL;
ram54288 0:a7a43371b306 599
ram54288 0:a7a43371b306 600 CHECK(0== nsdl->received_from_server_callback(handle,coap_header,NULL));
ram54288 0:a7a43371b306 601
ram54288 0:a7a43371b306 602 delete m2mobject_stub::inst;
ram54288 0:a7a43371b306 603 nsdl->_object_list.clear();
ram54288 0:a7a43371b306 604 delete obj;
ram54288 0:a7a43371b306 605
ram54288 0:a7a43371b306 606 free(coap_header->payload_ptr);
ram54288 0:a7a43371b306 607 free(m2mobject_stub::header);
ram54288 0:a7a43371b306 608 m2mobject_stub::header = NULL;
ram54288 0:a7a43371b306 609
ram54288 0:a7a43371b306 610 uint8_t object_instance1[] = {"name/65536"};
ram54288 0:a7a43371b306 611
ram54288 0:a7a43371b306 612 coap_header->uri_path_ptr = object_instance1;
ram54288 0:a7a43371b306 613 coap_header->uri_path_len = sizeof(object_instance1);
ram54288 0:a7a43371b306 614
ram54288 0:a7a43371b306 615 obj = new M2MObject("name", "name");
ram54288 0:a7a43371b306 616
ram54288 0:a7a43371b306 617 nsdl->_object_list.push_back(obj);
ram54288 0:a7a43371b306 618
ram54288 0:a7a43371b306 619 m2mobject_stub::inst = new M2MObjectInstance(*obj, "name", "", "");
ram54288 0:a7a43371b306 620
ram54288 0:a7a43371b306 621 m2mobject_stub::header = (sn_coap_hdr_s*) malloc(sizeof(sn_coap_hdr_s));
ram54288 0:a7a43371b306 622 memset(m2mobject_stub::header,0,sizeof(sn_coap_hdr_s));
ram54288 0:a7a43371b306 623
ram54288 0:a7a43371b306 624 CHECK(0== nsdl->received_from_server_callback(handle,coap_header,NULL));
ram54288 0:a7a43371b306 625
ram54288 0:a7a43371b306 626 delete m2mobject_stub::inst;
ram54288 0:a7a43371b306 627 nsdl->_object_list.clear();
ram54288 0:a7a43371b306 628 delete obj;
ram54288 0:a7a43371b306 629
ram54288 0:a7a43371b306 630 free(m2mobject_stub::header);
ram54288 0:a7a43371b306 631
ram54288 0:a7a43371b306 632 uint8_t resource[] = {"name/0/resource"};
ram54288 0:a7a43371b306 633
ram54288 0:a7a43371b306 634 coap_header->uri_path_ptr = resource;
ram54288 0:a7a43371b306 635 coap_header->uri_path_len = sizeof(resource);
ram54288 0:a7a43371b306 636
ram54288 0:a7a43371b306 637 CHECK(0== nsdl->received_from_server_callback(handle,coap_header,NULL));
ram54288 0:a7a43371b306 638
ram54288 0:a7a43371b306 639 // Test EMPTY ACK
ram54288 0:a7a43371b306 640 coap_header->msg_code = COAP_MSG_CODE_EMPTY;
ram54288 0:a7a43371b306 641 obj = new M2MObject("0", "0");
ram54288 0:a7a43371b306 642 m2mbase_stub::string_value = "0";
ram54288 0:a7a43371b306 643 nsdl->_object_list.push_back(obj);
ram54288 0:a7a43371b306 644 m2mobject_stub::inst = new M2MObjectInstance(*obj, "name", "", "");
ram54288 0:a7a43371b306 645
ram54288 0:a7a43371b306 646 uint8_t *token = (uint8_t*) malloc(4);
ram54288 0:a7a43371b306 647 token[0] = 't';
ram54288 0:a7a43371b306 648 token[1] = 'o';
ram54288 0:a7a43371b306 649 token[2] = 'k';
ram54288 0:a7a43371b306 650 token[3] = 'e';
ram54288 0:a7a43371b306 651 coap_header->token_ptr = token;
ram54288 0:a7a43371b306 652 coap_header->token_len = 4;
ram54288 0:a7a43371b306 653
ram54288 0:a7a43371b306 654 M2MResource res2(*m2mobject_stub::inst, "test","test",M2MResourceInstance::STRING,false, "test");
ram54288 0:a7a43371b306 655 m2mbase_stub::object_token = token;
ram54288 0:a7a43371b306 656 m2mbase_stub::object_token_len = 4;
ram54288 0:a7a43371b306 657 m2mobject_stub::base_type = M2MBase::Resource;
ram54288 0:a7a43371b306 658 res2.set_observation_token(token, 4);
ram54288 0:a7a43371b306 659
ram54288 0:a7a43371b306 660 m2mobjectinstance_stub::resource_list.push_back(&res2);
ram54288 0:a7a43371b306 661 CHECK(0 == nsdl->received_from_server_callback(handle,coap_header,NULL));
ram54288 0:a7a43371b306 662
ram54288 0:a7a43371b306 663 // Test RESET message
ram54288 0:a7a43371b306 664 coap_header->msg_type = COAP_MSG_TYPE_RESET;
ram54288 0:a7a43371b306 665 CHECK(0 == nsdl->received_from_server_callback(handle,coap_header,NULL));
ram54288 0:a7a43371b306 666 m2mobject_stub::base_type = M2MBase::Object;
ram54288 0:a7a43371b306 667 CHECK(0 == nsdl->received_from_server_callback(handle,coap_header,NULL));
ram54288 0:a7a43371b306 668 m2mobject_stub::base_type = M2MBase::ObjectInstance;
ram54288 0:a7a43371b306 669 CHECK(0 == nsdl->received_from_server_callback(handle,coap_header,NULL));
ram54288 0:a7a43371b306 670 m2mobject_stub::base_type = M2MBase::ResourceInstance;
ram54288 0:a7a43371b306 671 CHECK(0 == nsdl->received_from_server_callback(handle,coap_header,NULL));
ram54288 0:a7a43371b306 672 free(token);
ram54288 0:a7a43371b306 673 delete m2mobject_stub::inst;
ram54288 0:a7a43371b306 674 delete obj;
ram54288 0:a7a43371b306 675 nsdl->_object_list.clear();
ram54288 0:a7a43371b306 676
ram54288 0:a7a43371b306 677
ram54288 0:a7a43371b306 678 // Bootstrap cases start from here
ram54288 0:a7a43371b306 679 // handle_bootstrap_put_message() invalid object name
ram54288 0:a7a43371b306 680 common_stub::coap_header = (sn_coap_hdr_s *) malloc(sizeof(sn_coap_hdr_s));
ram54288 0:a7a43371b306 681 sn_nsdl_addr_s *address = (sn_nsdl_addr_s *)malloc(sizeof(sn_nsdl_addr_s));
ram54288 0:a7a43371b306 682 memset(address, 0, sizeof(sn_nsdl_addr_s));
ram54288 0:a7a43371b306 683 address->addr_len = 1;
ram54288 0:a7a43371b306 684 address->addr_ptr = (uint8_t *)malloc(1);
ram54288 0:a7a43371b306 685 address->addr_ptr[0] = 1;
ram54288 0:a7a43371b306 686 address->port = 5683;
ram54288 0:a7a43371b306 687 handle->oma_bs_address_len = 1;
ram54288 0:a7a43371b306 688 handle->oma_bs_port = 5683;
ram54288 0:a7a43371b306 689 handle->oma_bs_address_ptr = (uint8_t *)malloc(1);
ram54288 0:a7a43371b306 690 handle->oma_bs_address_ptr[0] = 1;
ram54288 0:a7a43371b306 691 coap_header->msg_code = COAP_MSG_CODE_REQUEST_PUT;
ram54288 0:a7a43371b306 692 observer->boot_error = false;
ram54288 0:a7a43371b306 693 CHECK(0== nsdl->received_from_server_callback(handle,coap_header,address));
ram54288 0:a7a43371b306 694 CHECK(observer->boot_error == true);
ram54288 0:a7a43371b306 695
ram54288 0:a7a43371b306 696 // handle_bootstrap_put_message() invalid content type
ram54288 0:a7a43371b306 697 obj = new M2MObject("0", "0");
ram54288 0:a7a43371b306 698 m2mbase_stub::string_value = "0";
ram54288 0:a7a43371b306 699 nsdl->_object_list.push_back(obj);
ram54288 0:a7a43371b306 700 m2mobject_stub::inst = new M2MObjectInstance(*obj, "name", "", "");
ram54288 0:a7a43371b306 701 uint8_t security[] = {"0"};
ram54288 0:a7a43371b306 702 coap_header->uri_path_ptr = security;
ram54288 0:a7a43371b306 703 coap_header->uri_path_len = sizeof(security);
ram54288 0:a7a43371b306 704 M2MResource res(*m2mobject_stub::inst,"test","test",M2MResourceInstance::STRING,false,"test");
ram54288 0:a7a43371b306 705 m2mobjectinstance_stub::resource_list.push_back(&res);
ram54288 0:a7a43371b306 706 observer->boot_error = false;
ram54288 0:a7a43371b306 707 m2msecurity_stub::resource = new M2MResource(*m2mobject_stub::inst,"1","type",M2MResourceInstance::STRING,false,"1");
ram54288 0:a7a43371b306 708 CHECK(0 == nsdl->received_from_server_callback(handle,coap_header,address));
ram54288 0:a7a43371b306 709 CHECK(observer->boot_error == true);
ram54288 0:a7a43371b306 710
ram54288 0:a7a43371b306 711 // handle_bootstrap_put_message() success
ram54288 0:a7a43371b306 712 coap_header->token_ptr = String::convert_integer_to_array(1,coap_header->token_len);
ram54288 0:a7a43371b306 713 observer->boot_error = false;
ram54288 0:a7a43371b306 714 m2mtlvdeserializer_stub::is_object_bool_value = true;
ram54288 0:a7a43371b306 715 CHECK(0 == nsdl->received_from_server_callback(handle,coap_header,address));
ram54288 0:a7a43371b306 716 CHECK(observer->boot_error == true);
ram54288 0:a7a43371b306 717 coap_header->content_format = sn_coap_content_format_e(99);
ram54288 0:a7a43371b306 718 observer->boot_error = false;
ram54288 0:a7a43371b306 719 observer->boot_done = false;
ram54288 0:a7a43371b306 720 m2mtlvdeserializer_stub::is_object_bool_value = true;
ram54288 0:a7a43371b306 721 CHECK(0 == nsdl->received_from_server_callback(handle,coap_header,address));
ram54288 0:a7a43371b306 722 CHECK(observer->boot_error == false);
ram54288 0:a7a43371b306 723
ram54288 0:a7a43371b306 724 // handle_bootstrap_put_message() TLV parsing fails
ram54288 0:a7a43371b306 725 observer->boot_error = false;
ram54288 0:a7a43371b306 726 observer->boot_done = false;
ram54288 0:a7a43371b306 727 m2mtlvdeserializer_stub::is_object_bool_value = false;
ram54288 0:a7a43371b306 728 m2mtlvdeserializer_stub::bool_value = true;
ram54288 0:a7a43371b306 729 m2mtlvdeserializer_stub::error = M2MTLVDeserializer::NotAllowed;
ram54288 0:a7a43371b306 730 CHECK(0 == nsdl->received_from_server_callback(handle,coap_header,address));
ram54288 0:a7a43371b306 731 CHECK(observer->boot_error == true);
ram54288 0:a7a43371b306 732 delete m2mobject_stub::inst;
ram54288 0:a7a43371b306 733 nsdl->_object_list.clear();
ram54288 0:a7a43371b306 734 delete obj;
ram54288 0:a7a43371b306 735
ram54288 0:a7a43371b306 736 // handle_bootstrap_put_message() TLV object instance
ram54288 0:a7a43371b306 737 obj = new M2MObject("1", "1");
ram54288 0:a7a43371b306 738 m2mbase_stub::string_value = "1";
ram54288 0:a7a43371b306 739 nsdl->_object_list.push_back(obj);
ram54288 0:a7a43371b306 740 m2mobject_stub::inst = new M2MObjectInstance(*obj, "name","", "");
ram54288 0:a7a43371b306 741 uint8_t server[] = {"1"};
ram54288 0:a7a43371b306 742 coap_header->uri_path_ptr = server;
ram54288 0:a7a43371b306 743 coap_header->uri_path_len = 1;
ram54288 0:a7a43371b306 744
ram54288 0:a7a43371b306 745 observer->boot_error = false;
ram54288 0:a7a43371b306 746 observer->boot_done = false;
ram54288 0:a7a43371b306 747 m2mtlvdeserializer_stub::is_object_bool_value = false;
ram54288 0:a7a43371b306 748 m2mtlvdeserializer_stub::bool_value = true;
ram54288 0:a7a43371b306 749 m2mtlvdeserializer_stub::error = M2MTLVDeserializer::None;
ram54288 0:a7a43371b306 750 CHECK(0 == nsdl->received_from_server_callback(handle,coap_header,address));
ram54288 0:a7a43371b306 751 CHECK(observer->boot_error == false);
ram54288 0:a7a43371b306 752
ram54288 0:a7a43371b306 753 // handle_bootstrap_put_message() TLV server object
ram54288 0:a7a43371b306 754 observer->boot_error = false;
ram54288 0:a7a43371b306 755 observer->boot_done = false;
ram54288 0:a7a43371b306 756 m2mtlvdeserializer_stub::is_object_bool_value = true;
ram54288 0:a7a43371b306 757 m2mtlvdeserializer_stub::bool_value = false;
ram54288 0:a7a43371b306 758 m2mtlvdeserializer_stub::error = M2MTLVDeserializer::None;
ram54288 0:a7a43371b306 759 CHECK(0 == nsdl->received_from_server_callback(handle,coap_header,address));
ram54288 0:a7a43371b306 760 CHECK(observer->boot_error == false);
ram54288 0:a7a43371b306 761
ram54288 0:a7a43371b306 762 // handle_bootstrap_put_message() TLV not resource
ram54288 0:a7a43371b306 763 observer->boot_error = false;
ram54288 0:a7a43371b306 764 observer->boot_done = false;
ram54288 0:a7a43371b306 765 m2mtlvdeserializer_stub::is_object_bool_value = false;
ram54288 0:a7a43371b306 766 m2mtlvdeserializer_stub::bool_value = false;
ram54288 0:a7a43371b306 767 m2mtlvdeserializer_stub::error = M2MTLVDeserializer::None;
ram54288 0:a7a43371b306 768 CHECK(0 == nsdl->received_from_server_callback(handle,coap_header,address));
ram54288 0:a7a43371b306 769 CHECK(observer->boot_error == true);
ram54288 0:a7a43371b306 770 CHECK(nsdl->_security == NULL);
ram54288 0:a7a43371b306 771
ram54288 0:a7a43371b306 772 // handle_bootstrap_delete() object name not match
ram54288 0:a7a43371b306 773 observer->boot_error = false;
ram54288 0:a7a43371b306 774 nsdl->_bootstrap_id = 8;
ram54288 0:a7a43371b306 775 handle->bootstrap_msg_id = 8;
ram54288 0:a7a43371b306 776 coap_header->msg_code = COAP_MSG_CODE_RESPONSE_CHANGED;
ram54288 0:a7a43371b306 777 coap_header->msg_id = 8;
ram54288 0:a7a43371b306 778 nsdl->received_from_server_callback(handle,coap_header,NULL);
ram54288 0:a7a43371b306 779 coap_header->msg_id = 18;
ram54288 0:a7a43371b306 780 nsdl->_security = new M2MSecurity(M2MSecurity::M2MServer);
ram54288 0:a7a43371b306 781 observer->boot_done = false;
ram54288 0:a7a43371b306 782 coap_header->msg_code = COAP_MSG_CODE_REQUEST_DELETE;
ram54288 0:a7a43371b306 783 CHECK(0 == nsdl->received_from_server_callback(handle,coap_header,address));
ram54288 0:a7a43371b306 784 CHECK(observer->boot_error == true);
ram54288 0:a7a43371b306 785
ram54288 0:a7a43371b306 786 free(common_stub::coap_header);
ram54288 0:a7a43371b306 787 common_stub::coap_header = NULL;
ram54288 0:a7a43371b306 788
ram54288 0:a7a43371b306 789 // handle_bootstrap_delete() _identity_accepted false
ram54288 0:a7a43371b306 790 observer->boot_error = false;
ram54288 0:a7a43371b306 791 observer->boot_done = false;
ram54288 0:a7a43371b306 792 coap_header->msg_code = COAP_MSG_CODE_REQUEST_DELETE;
ram54288 0:a7a43371b306 793 CHECK(0 == nsdl->received_from_server_callback(handle,coap_header,address));
ram54288 0:a7a43371b306 794 CHECK(observer->boot_error == true);
ram54288 0:a7a43371b306 795 CHECK(nsdl->_security == NULL);
ram54288 0:a7a43371b306 796
ram54288 0:a7a43371b306 797 free(common_stub::coap_header);
ram54288 0:a7a43371b306 798 common_stub::coap_header = NULL;
ram54288 0:a7a43371b306 799
ram54288 0:a7a43371b306 800 // handle_bootstrap_delete() object name not match
ram54288 0:a7a43371b306 801 observer->boot_error = false;
ram54288 0:a7a43371b306 802 coap_header->msg_code = COAP_MSG_CODE_RESPONSE_CHANGED;
ram54288 0:a7a43371b306 803 coap_header->msg_id = 8;
ram54288 0:a7a43371b306 804 nsdl->received_from_server_callback(handle,coap_header,NULL);
ram54288 0:a7a43371b306 805 coap_header->msg_id = 18;
ram54288 0:a7a43371b306 806 uint8_t object_name[] = {"0/0"};
ram54288 0:a7a43371b306 807 coap_header->uri_path_ptr = object_name;
ram54288 0:a7a43371b306 808 coap_header->uri_path_len = 3;
ram54288 0:a7a43371b306 809 observer->boot_done = false;
ram54288 0:a7a43371b306 810 coap_header->msg_code = COAP_MSG_CODE_REQUEST_DELETE;
ram54288 0:a7a43371b306 811 CHECK(0 == nsdl->received_from_server_callback(handle,coap_header,address));
ram54288 0:a7a43371b306 812 CHECK(observer->boot_error == true);
ram54288 0:a7a43371b306 813 CHECK(nsdl->_security == NULL);
ram54288 0:a7a43371b306 814
ram54288 0:a7a43371b306 815 free(common_stub::coap_header);
ram54288 0:a7a43371b306 816 common_stub::coap_header = NULL;
ram54288 0:a7a43371b306 817
ram54288 0:a7a43371b306 818 // handle_bootstrap_delete() object name not match
ram54288 0:a7a43371b306 819 observer->boot_error = false;
ram54288 0:a7a43371b306 820 coap_header->msg_code = COAP_MSG_CODE_RESPONSE_CHANGED;
ram54288 0:a7a43371b306 821 coap_header->msg_id = 8;
ram54288 0:a7a43371b306 822 nsdl->received_from_server_callback(handle,coap_header,NULL);
ram54288 0:a7a43371b306 823 coap_header->msg_id = 18;
ram54288 0:a7a43371b306 824 uint8_t invalid[] = {"0/0/1"};
ram54288 0:a7a43371b306 825 coap_header->uri_path_ptr = invalid;
ram54288 0:a7a43371b306 826 coap_header->uri_path_len = 5;
ram54288 0:a7a43371b306 827 observer->boot_done = false;
ram54288 0:a7a43371b306 828 coap_header->msg_code = COAP_MSG_CODE_REQUEST_DELETE;
ram54288 0:a7a43371b306 829 CHECK(0 == nsdl->received_from_server_callback(handle,coap_header,address));
ram54288 0:a7a43371b306 830 CHECK(observer->boot_error == true);
ram54288 0:a7a43371b306 831 CHECK(nsdl->_security == NULL);
ram54288 0:a7a43371b306 832
ram54288 0:a7a43371b306 833 //handle_bootstrap_finished() path does not match
ram54288 0:a7a43371b306 834 coap_header->uri_path_ptr = server;
ram54288 0:a7a43371b306 835 coap_header->uri_path_len = 1;
ram54288 0:a7a43371b306 836 nsdl->_security = new M2MSecurity(M2MSecurity::M2MServer);
ram54288 0:a7a43371b306 837 observer->boot_error = false;
ram54288 0:a7a43371b306 838 observer->boot_done = false;
ram54288 0:a7a43371b306 839 coap_header->msg_code = COAP_MSG_CODE_REQUEST_POST;
ram54288 0:a7a43371b306 840 CHECK(0 == nsdl->received_from_server_callback(handle,coap_header,address));
ram54288 0:a7a43371b306 841 CHECK(observer->boot_error == true);
ram54288 0:a7a43371b306 842 CHECK(nsdl->_security == NULL);
ram54288 0:a7a43371b306 843
ram54288 0:a7a43371b306 844 //handle_bootstrap_finished() send coap response
ram54288 0:a7a43371b306 845 nsdl->_security = new M2MSecurity(M2MSecurity::M2MServer);
ram54288 0:a7a43371b306 846 common_stub::coap_header = (sn_coap_hdr_s *) malloc(sizeof(sn_coap_hdr_s));
ram54288 0:a7a43371b306 847 m2msecurity_stub::string_value = new String("coaps://");
ram54288 0:a7a43371b306 848 observer->boot_error = false;
ram54288 0:a7a43371b306 849 observer->boot_done = false;
ram54288 0:a7a43371b306 850 coap_header->msg_code = COAP_MSG_CODE_REQUEST_POST;
ram54288 0:a7a43371b306 851 CHECK(0 == nsdl->received_from_server_callback(handle,coap_header,address));
ram54288 0:a7a43371b306 852 CHECK(observer->boot_error == true);
ram54288 0:a7a43371b306 853 CHECK(nsdl->_security == NULL);
ram54288 0:a7a43371b306 854
ram54288 0:a7a43371b306 855 //handle_bootstrap_finished() success no security
ram54288 0:a7a43371b306 856 nsdl->_security = new M2MSecurity(M2MSecurity::M2MServer);
ram54288 0:a7a43371b306 857 m2msecurity_stub::sec_mode = M2MSecurity::NoSecurity;
ram54288 0:a7a43371b306 858 m2msecurity_stub::int_value = true;
ram54288 0:a7a43371b306 859 m2msecurity_stub::bool_value = false;
ram54288 0:a7a43371b306 860 observer->boot_error = false;
ram54288 0:a7a43371b306 861 observer->boot_wait = false;
ram54288 0:a7a43371b306 862 observer->boot_done = false;
ram54288 0:a7a43371b306 863 coap_header->uri_path_ptr = (uint8_t*)malloc(2);
ram54288 0:a7a43371b306 864 coap_header->uri_path_len = 2;
ram54288 0:a7a43371b306 865 coap_header->uri_path_ptr[0] = 'b';
ram54288 0:a7a43371b306 866 coap_header->uri_path_ptr[1] = 's';
ram54288 0:a7a43371b306 867 coap_header->msg_code = COAP_MSG_CODE_REQUEST_POST;
ram54288 0:a7a43371b306 868 CHECK(0 == nsdl->received_from_server_callback(handle,coap_header,address));
ram54288 0:a7a43371b306 869 CHECK(observer->boot_error == false);
ram54288 0:a7a43371b306 870 CHECK(observer->boot_wait == true);
ram54288 0:a7a43371b306 871 CHECK(observer->boot_done == false);
ram54288 0:a7a43371b306 872
ram54288 0:a7a43371b306 873 //handle_bootstrap_finished() success certificate
ram54288 0:a7a43371b306 874 nsdl->_security = new M2MSecurity(M2MSecurity::M2MServer);
ram54288 0:a7a43371b306 875 m2msecurity_stub::sec_mode = M2MSecurity::Certificate;
ram54288 0:a7a43371b306 876 m2mresourceinstance_stub::int_value = 10;
ram54288 0:a7a43371b306 877 m2msecurity_stub::int_value = true;
ram54288 0:a7a43371b306 878 m2msecurity_stub::bool_value = false;
ram54288 0:a7a43371b306 879 observer->boot_error = false;
ram54288 0:a7a43371b306 880 observer->boot_wait = false;
ram54288 0:a7a43371b306 881 observer->boot_done = false;
ram54288 0:a7a43371b306 882 coap_header->msg_code = COAP_MSG_CODE_REQUEST_POST;
ram54288 0:a7a43371b306 883
ram54288 0:a7a43371b306 884 CHECK(0 == nsdl->received_from_server_callback(handle,coap_header,address));
ram54288 0:a7a43371b306 885 CHECK(observer->boot_error == false);
ram54288 0:a7a43371b306 886 CHECK(observer->boot_wait == true);
ram54288 0:a7a43371b306 887 CHECK(observer->boot_done == false);
ram54288 0:a7a43371b306 888
ram54288 0:a7a43371b306 889 //handle_bootstrap_finished() fail, Psk not supported
ram54288 0:a7a43371b306 890 nsdl->_security = new M2MSecurity(M2MSecurity::M2MServer);
ram54288 0:a7a43371b306 891 m2msecurity_stub::sec_mode = M2MSecurity::Psk;
ram54288 0:a7a43371b306 892 m2msecurity_stub::int_value = true;
ram54288 0:a7a43371b306 893 m2msecurity_stub::bool_value = false;
ram54288 0:a7a43371b306 894 observer->boot_error = false;
ram54288 0:a7a43371b306 895 observer->boot_done = false;
ram54288 0:a7a43371b306 896 coap_header->msg_code = COAP_MSG_CODE_REQUEST_POST;
ram54288 0:a7a43371b306 897 CHECK(0 == nsdl->received_from_server_callback(handle,coap_header,address));
ram54288 0:a7a43371b306 898 CHECK(observer->boot_error == true);
ram54288 0:a7a43371b306 899 CHECK(observer->boot_done == false);
ram54288 0:a7a43371b306 900
ram54288 0:a7a43371b306 901 //handle_bootstrap_finished() fail, Bootstrap server
ram54288 0:a7a43371b306 902 nsdl->_security = new M2MSecurity(M2MSecurity::M2MServer);
ram54288 0:a7a43371b306 903 m2msecurity_stub::sec_mode = M2MSecurity::Certificate;
ram54288 0:a7a43371b306 904 m2msecurity_stub::int_value = true;
ram54288 0:a7a43371b306 905 m2msecurity_stub::bool_value = true;
ram54288 0:a7a43371b306 906 observer->boot_error = false;
ram54288 0:a7a43371b306 907 observer->boot_done = false;
ram54288 0:a7a43371b306 908 coap_header->msg_code = COAP_MSG_CODE_REQUEST_POST;
ram54288 0:a7a43371b306 909 CHECK(0 == nsdl->received_from_server_callback(handle,coap_header,address));
ram54288 0:a7a43371b306 910 CHECK(observer->boot_error == true);
ram54288 0:a7a43371b306 911 CHECK(observer->boot_done == false);
ram54288 0:a7a43371b306 912
ram54288 0:a7a43371b306 913 //handle_bootstrap_finished() fail, key size 0
ram54288 0:a7a43371b306 914 nsdl->_security = new M2MSecurity(M2MSecurity::M2MServer);
ram54288 0:a7a43371b306 915 m2msecurity_stub::sec_mode = M2MSecurity::Certificate;
ram54288 0:a7a43371b306 916 m2msecurity_stub::int_value = false;
ram54288 0:a7a43371b306 917 m2msecurity_stub::bool_value = false;
ram54288 0:a7a43371b306 918 m2mresourceinstance_stub::int_value = 0;
ram54288 0:a7a43371b306 919 observer->boot_error = false;
ram54288 0:a7a43371b306 920 observer->boot_done = false;
ram54288 0:a7a43371b306 921 coap_header->msg_code = COAP_MSG_CODE_REQUEST_POST;
ram54288 0:a7a43371b306 922 CHECK(0 == nsdl->received_from_server_callback(handle,coap_header,address));
ram54288 0:a7a43371b306 923 CHECK(observer->boot_error == true);
ram54288 0:a7a43371b306 924 CHECK(observer->boot_done == false);
ram54288 0:a7a43371b306 925
ram54288 0:a7a43371b306 926 //handle_bootstrap_finished() fail, _security null
ram54288 0:a7a43371b306 927 m2msecurity_stub::sec_mode = M2MSecurity::Certificate;
ram54288 0:a7a43371b306 928 m2msecurity_stub::int_value = false;
ram54288 0:a7a43371b306 929 m2msecurity_stub::bool_value = false;
ram54288 0:a7a43371b306 930 m2mresourceinstance_stub::int_value = 0;
ram54288 0:a7a43371b306 931 observer->boot_error = false;
ram54288 0:a7a43371b306 932 observer->boot_done = false;
ram54288 0:a7a43371b306 933 coap_header->msg_code = COAP_MSG_CODE_REQUEST_POST;
ram54288 0:a7a43371b306 934 CHECK(0 == nsdl->received_from_server_callback(handle,coap_header,address));
ram54288 0:a7a43371b306 935 CHECK(observer->boot_error == true);
ram54288 0:a7a43371b306 936 CHECK(observer->boot_done == false);
ram54288 0:a7a43371b306 937
ram54288 0:a7a43371b306 938 delete m2mobject_stub::inst;
ram54288 0:a7a43371b306 939 //delete m2mbase_stub::string_value;
ram54288 0:a7a43371b306 940 //m2mbase_stub::string_value = NULL;
ram54288 0:a7a43371b306 941 nsdl->_object_list.clear();
ram54288 0:a7a43371b306 942 m2mobjectinstance_stub::resource_list.clear();
ram54288 0:a7a43371b306 943 delete obj;
ram54288 0:a7a43371b306 944 delete m2msecurity_stub::string_value;
ram54288 0:a7a43371b306 945 delete m2msecurity_stub::resource;
ram54288 0:a7a43371b306 946
ram54288 0:a7a43371b306 947 free(m2mbase_stub::nsdl_resource->static_resource_parameters->path);
ram54288 0:a7a43371b306 948 free(m2mbase_stub::nsdl_resource->static_resource_parameters);
ram54288 0:a7a43371b306 949 free(m2mbase_stub::nsdl_resource);
ram54288 0:a7a43371b306 950
ram54288 0:a7a43371b306 951 free(common_stub::coap_header);
ram54288 0:a7a43371b306 952 free(address->addr_ptr);
ram54288 0:a7a43371b306 953 free(address);
ram54288 0:a7a43371b306 954 free(coap_header->token_ptr);
ram54288 0:a7a43371b306 955 free(coap_header->uri_path_ptr);
ram54288 0:a7a43371b306 956 free(coap_header);
ram54288 0:a7a43371b306 957 free(handle->oma_bs_address_ptr);
ram54288 0:a7a43371b306 958 free(handle);
ram54288 0:a7a43371b306 959 }
ram54288 0:a7a43371b306 960
ram54288 0:a7a43371b306 961 void Test_M2MNsdlInterface::test_resource_callback()
ram54288 0:a7a43371b306 962 {
ram54288 0:a7a43371b306 963 uint8_t value[] = {"name"};
ram54288 0:a7a43371b306 964 sn_coap_hdr_s *coap_header = (sn_coap_hdr_s *)malloc(sizeof(sn_coap_hdr_s));
ram54288 0:a7a43371b306 965 memset(coap_header,0,sizeof(sn_coap_hdr_s));
ram54288 0:a7a43371b306 966 sn_nsdl_addr_s *address = (sn_nsdl_addr_s *)malloc(sizeof(sn_nsdl_addr_s));
ram54288 0:a7a43371b306 967 memset(address,0,sizeof(sn_nsdl_addr_s));
ram54288 0:a7a43371b306 968
ram54288 0:a7a43371b306 969 common_stub::coap_header = (sn_coap_hdr_ *)malloc(sizeof(sn_coap_hdr_));
ram54288 0:a7a43371b306 970 memset(common_stub::coap_header,0,sizeof(sn_coap_hdr_));
ram54288 0:a7a43371b306 971
ram54288 0:a7a43371b306 972 common_stub::coap_header->payload_ptr =(uint8_t*)malloc(1);
ram54288 0:a7a43371b306 973 common_stub::coap_header->payload_len = 1;
ram54288 0:a7a43371b306 974
ram54288 0:a7a43371b306 975 coap_header->uri_path_ptr = value;
ram54288 0:a7a43371b306 976 coap_header->uri_path_len = sizeof(value);
ram54288 0:a7a43371b306 977
ram54288 0:a7a43371b306 978 common_stub::int_value = 0;
ram54288 0:a7a43371b306 979
ram54288 0:a7a43371b306 980 common_stub::coap_header->msg_code = COAP_MSG_CODE_RESPONSE_BAD_REQUEST;
ram54288 0:a7a43371b306 981
ram54288 0:a7a43371b306 982 CHECK(nsdl->resource_callback(NULL,coap_header,address,SN_NSDL_PROTOCOL_HTTP) ==0);
ram54288 0:a7a43371b306 983
ram54288 0:a7a43371b306 984 common_stub::int_value = 0;
ram54288 0:a7a43371b306 985 m2mbase_stub::string_value = "name";
ram54288 0:a7a43371b306 986 M2MObject *object = new M2MObject("name", "name");
ram54288 0:a7a43371b306 987 m2mbase_stub::int_value = 0;
ram54288 0:a7a43371b306 988 m2mobject_stub::int_value = 1;
ram54288 0:a7a43371b306 989 m2mbase_stub::nsdl_resource =
ram54288 0:a7a43371b306 990 (sn_nsdl_dynamic_resource_parameters_s*) malloc(sizeof(sn_nsdl_dynamic_resource_parameters_s));
ram54288 0:a7a43371b306 991 m2mbase_stub::nsdl_resource->static_resource_parameters =
ram54288 0:a7a43371b306 992 (sn_nsdl_static_resource_parameters_s*) malloc(sizeof(sn_nsdl_static_resource_parameters_s));
ram54288 0:a7a43371b306 993 m2mbase_stub::nsdl_resource->static_resource_parameters->path = (uint8_t*)malloc(5);
ram54288 0:a7a43371b306 994 m2mbase_stub::nsdl_resource->static_resource_parameters->path[0] = 'n';
ram54288 0:a7a43371b306 995 m2mbase_stub::nsdl_resource->static_resource_parameters->path[1] = 'a';
ram54288 0:a7a43371b306 996 m2mbase_stub::nsdl_resource->static_resource_parameters->path[2] = 'm';
ram54288 0:a7a43371b306 997 m2mbase_stub::nsdl_resource->static_resource_parameters->path[3] = 'e';
ram54288 0:a7a43371b306 998 m2mbase_stub::nsdl_resource->static_resource_parameters->path[4] = '\0';
ram54288 0:a7a43371b306 999 m2mbase_stub::nsdl_resource->static_resource_parameters->pathlen = 5;
ram54288 0:a7a43371b306 1000
ram54288 0:a7a43371b306 1001 nsdl->_object_list.push_back(object);
ram54288 0:a7a43371b306 1002
ram54288 0:a7a43371b306 1003 CHECK(nsdl->resource_callback(NULL,coap_header,address,SN_NSDL_PROTOCOL_COAP) ==0);
ram54288 0:a7a43371b306 1004
ram54288 0:a7a43371b306 1005 coap_header->msg_code = COAP_MSG_CODE_REQUEST_PUT;
ram54288 0:a7a43371b306 1006 m2mobject_stub::bool_value = true;
ram54288 0:a7a43371b306 1007 CHECK(nsdl->resource_callback(NULL,coap_header,address,SN_NSDL_PROTOCOL_COAP) ==0);
ram54288 0:a7a43371b306 1008
ram54288 0:a7a43371b306 1009 coap_header->msg_code = COAP_MSG_CODE_REQUEST_POST;
ram54288 0:a7a43371b306 1010
ram54288 0:a7a43371b306 1011 CHECK(nsdl->resource_callback(NULL,coap_header,address,SN_NSDL_PROTOCOL_COAP) ==0);
ram54288 0:a7a43371b306 1012 m2mobject_stub::base_type = M2MBase::ResourceInstance;
ram54288 0:a7a43371b306 1013 CHECK(nsdl->resource_callback(NULL,coap_header,address,SN_NSDL_PROTOCOL_COAP) ==0);
ram54288 0:a7a43371b306 1014
ram54288 0:a7a43371b306 1015 delete object;
ram54288 0:a7a43371b306 1016 free(m2mbase_stub::nsdl_resource->static_resource_parameters->path);
ram54288 0:a7a43371b306 1017 free(m2mbase_stub::nsdl_resource->static_resource_parameters);
ram54288 0:a7a43371b306 1018 free(m2mbase_stub::nsdl_resource);
ram54288 0:a7a43371b306 1019
ram54288 0:a7a43371b306 1020 free(common_stub::coap_header);
ram54288 0:a7a43371b306 1021 free(address);
ram54288 0:a7a43371b306 1022 free(coap_header);
ram54288 0:a7a43371b306 1023 }
ram54288 0:a7a43371b306 1024
ram54288 0:a7a43371b306 1025
ram54288 0:a7a43371b306 1026 void Test_M2MNsdlInterface::test_resource_callback_get()
ram54288 0:a7a43371b306 1027 {
ram54288 0:a7a43371b306 1028 }
ram54288 0:a7a43371b306 1029
ram54288 0:a7a43371b306 1030 void Test_M2MNsdlInterface::test_resource_callback_put()
ram54288 0:a7a43371b306 1031 {
ram54288 0:a7a43371b306 1032 uint8_t value[] = {"name/0/resource"};
ram54288 0:a7a43371b306 1033 sn_coap_hdr_s *coap_header = (sn_coap_hdr_s *)malloc(sizeof(sn_coap_hdr_s));
ram54288 0:a7a43371b306 1034 memset(coap_header,0,sizeof(sn_coap_hdr_s));
ram54288 0:a7a43371b306 1035 sn_nsdl_addr_s *address = (sn_nsdl_addr_s *)malloc(sizeof(sn_nsdl_addr_s));
ram54288 0:a7a43371b306 1036 memset(address,0,sizeof(sn_nsdl_addr_s));
ram54288 0:a7a43371b306 1037
ram54288 0:a7a43371b306 1038 coap_header->uri_path_ptr = value;
ram54288 0:a7a43371b306 1039 coap_header->uri_path_len = sizeof(value);
ram54288 0:a7a43371b306 1040
ram54288 0:a7a43371b306 1041 coap_header->msg_code = COAP_MSG_CODE_REQUEST_PUT;
ram54288 0:a7a43371b306 1042
ram54288 0:a7a43371b306 1043 common_stub::int_value = 0;
ram54288 0:a7a43371b306 1044 m2mbase_stub::string_value = "name";
ram54288 0:a7a43371b306 1045
ram54288 0:a7a43371b306 1046 M2MObject *object = new M2MObject("name", "name");
ram54288 0:a7a43371b306 1047 M2MObjectInstance* instance = new M2MObjectInstance(*object,"name","", "");
ram54288 0:a7a43371b306 1048
ram54288 0:a7a43371b306 1049 M2MResource* create_resource = new M2MResource(*instance,
ram54288 0:a7a43371b306 1050 "res",
ram54288 0:a7a43371b306 1051 "res",
ram54288 0:a7a43371b306 1052 M2MResourceInstance::INTEGER,
ram54288 0:a7a43371b306 1053 false,
ram54288 0:a7a43371b306 1054 "res");
ram54288 0:a7a43371b306 1055 m2mobject_stub::int_value = 2;
ram54288 0:a7a43371b306 1056 m2mobject_stub::instance_list.push_back(instance);
ram54288 0:a7a43371b306 1057
ram54288 0:a7a43371b306 1058 m2mobjectinstance_stub::resource_list.push_back(create_resource);
ram54288 0:a7a43371b306 1059 m2mobjectinstance_stub::int_value = 1;
ram54288 0:a7a43371b306 1060
ram54288 0:a7a43371b306 1061 nsdl->_object_list.push_back(object);
ram54288 0:a7a43371b306 1062
ram54288 0:a7a43371b306 1063 m2mbase_stub::operation = M2MBase::PUT_ALLOWED;
ram54288 0:a7a43371b306 1064
ram54288 0:a7a43371b306 1065 coap_header->options_list_ptr = (sn_coap_options_list_s*)malloc(sizeof(sn_coap_options_list_s));
ram54288 0:a7a43371b306 1066
ram54288 0:a7a43371b306 1067 uint8_t query[] = {"pmax=200&pmin=120"};
ram54288 0:a7a43371b306 1068 coap_header->options_list_ptr->uri_query_ptr = (uint8_t*)malloc(sizeof(query));
ram54288 0:a7a43371b306 1069 coap_header->options_list_ptr->uri_query_len = sizeof(query);
ram54288 0:a7a43371b306 1070
ram54288 0:a7a43371b306 1071 m2mbase_stub::bool_value = true;
ram54288 0:a7a43371b306 1072
ram54288 0:a7a43371b306 1073 common_stub::coap_header = (sn_coap_hdr_ *)malloc(sizeof(sn_coap_hdr_));
ram54288 0:a7a43371b306 1074 memset(common_stub::coap_header,0,sizeof(sn_coap_hdr_));
ram54288 0:a7a43371b306 1075 common_stub::coap_header->msg_code = COAP_MSG_CODE_RESPONSE_BAD_REQUEST;
ram54288 0:a7a43371b306 1076 CHECK(nsdl->resource_callback(NULL,coap_header,address,SN_NSDL_PROTOCOL_HTTP) ==0);
ram54288 0:a7a43371b306 1077
ram54288 0:a7a43371b306 1078 m2mobject_stub::base_type = M2MBase::Resource;
ram54288 0:a7a43371b306 1079 m2mbase_stub::base_type = M2MBase::Resource;
ram54288 0:a7a43371b306 1080 m2mobject_stub::bool_value = true;
ram54288 0:a7a43371b306 1081 CHECK(nsdl->resource_callback(NULL,coap_header,address,SN_NSDL_PROTOCOL_HTTP) ==0);
ram54288 0:a7a43371b306 1082
ram54288 0:a7a43371b306 1083 m2mobject_stub::base_type = M2MBase::ObjectInstance;
ram54288 0:a7a43371b306 1084 m2mbase_stub::base_type = M2MBase::ObjectInstance;
ram54288 0:a7a43371b306 1085 CHECK(nsdl->resource_callback(NULL,coap_header,address,SN_NSDL_PROTOCOL_HTTP) ==0);
ram54288 0:a7a43371b306 1086
ram54288 0:a7a43371b306 1087 m2mbase_stub::base_type = M2MBase::Object;
ram54288 0:a7a43371b306 1088 m2mbase_stub::bool_value = false;
ram54288 0:a7a43371b306 1089
ram54288 0:a7a43371b306 1090 CHECK(nsdl->resource_callback(NULL,coap_header,address,SN_NSDL_PROTOCOL_HTTP) ==0);
ram54288 0:a7a43371b306 1091
ram54288 0:a7a43371b306 1092 delete object;
ram54288 0:a7a43371b306 1093 m2mobject_stub::instance_list.clear();
ram54288 0:a7a43371b306 1094 delete instance;
ram54288 0:a7a43371b306 1095 // m2mobjectinstance_stub::resource_list.clear();
ram54288 0:a7a43371b306 1096 delete create_resource;
ram54288 0:a7a43371b306 1097
ram54288 0:a7a43371b306 1098 free(coap_header->options_list_ptr->uri_query_ptr);
ram54288 0:a7a43371b306 1099 free(coap_header->options_list_ptr);
ram54288 0:a7a43371b306 1100 if(common_stub::coap_header){
ram54288 0:a7a43371b306 1101 if( common_stub::coap_header->options_list_ptr){
ram54288 0:a7a43371b306 1102 free(common_stub::coap_header->options_list_ptr);
ram54288 0:a7a43371b306 1103 common_stub::coap_header->options_list_ptr = NULL;
ram54288 0:a7a43371b306 1104 }
ram54288 0:a7a43371b306 1105 free(common_stub::coap_header);
ram54288 0:a7a43371b306 1106 common_stub::coap_header = NULL;
ram54288 0:a7a43371b306 1107 }
ram54288 0:a7a43371b306 1108 free(coap_header);
ram54288 0:a7a43371b306 1109 free(address);
ram54288 0:a7a43371b306 1110
ram54288 0:a7a43371b306 1111 m2mbase_stub::clear();
ram54288 0:a7a43371b306 1112 common_stub::clear();
ram54288 0:a7a43371b306 1113 m2mobject_stub::clear();
ram54288 0:a7a43371b306 1114 m2mobjectinstance_stub::clear();
ram54288 0:a7a43371b306 1115 }
ram54288 0:a7a43371b306 1116
ram54288 0:a7a43371b306 1117 void Test_M2MNsdlInterface::test_resource_callback_post()
ram54288 0:a7a43371b306 1118 {
ram54288 0:a7a43371b306 1119 uint8_t value[] = {"name/0/name"};
ram54288 0:a7a43371b306 1120 sn_coap_hdr_s *coap_header = (sn_coap_hdr_s *)malloc(sizeof(sn_coap_hdr_s));
ram54288 0:a7a43371b306 1121 memset(coap_header,0,sizeof(sn_coap_hdr_s));
ram54288 0:a7a43371b306 1122 sn_nsdl_addr_s *address = (sn_nsdl_addr_s *)malloc(sizeof(sn_nsdl_addr_s));
ram54288 0:a7a43371b306 1123 memset(address,0,sizeof(sn_nsdl_addr_s));
ram54288 0:a7a43371b306 1124
ram54288 0:a7a43371b306 1125 coap_header->uri_path_ptr = value;
ram54288 0:a7a43371b306 1126 coap_header->uri_path_len = sizeof(value);
ram54288 0:a7a43371b306 1127
ram54288 0:a7a43371b306 1128 coap_header->msg_code = COAP_MSG_CODE_REQUEST_POST;
ram54288 0:a7a43371b306 1129
ram54288 0:a7a43371b306 1130 common_stub::int_value = 0;
ram54288 0:a7a43371b306 1131 m2mbase_stub::string_value = "name";
ram54288 0:a7a43371b306 1132 m2mbase_stub::bool_value = false;
ram54288 0:a7a43371b306 1133 M2MObject *object = new M2MObject("name", "name");
ram54288 0:a7a43371b306 1134 M2MObjectInstance* instance = new M2MObjectInstance(*object,"name","","");
ram54288 0:a7a43371b306 1135 M2MResource* create_resource = new M2MResource(*instance,
ram54288 0:a7a43371b306 1136 "name",
ram54288 0:a7a43371b306 1137 "name",
ram54288 0:a7a43371b306 1138 M2MResourceInstance::INTEGER,
ram54288 0:a7a43371b306 1139 false,
ram54288 0:a7a43371b306 1140 "name");
ram54288 0:a7a43371b306 1141 m2mobject_stub::int_value = 2;
ram54288 0:a7a43371b306 1142 m2mobject_stub::instance_list.push_back(instance);
ram54288 0:a7a43371b306 1143
ram54288 0:a7a43371b306 1144 m2mobjectinstance_stub::resource_list.push_back(create_resource);
ram54288 0:a7a43371b306 1145 m2mobjectinstance_stub::int_value = 1;
ram54288 0:a7a43371b306 1146
ram54288 0:a7a43371b306 1147 nsdl->_object_list.push_back(object);
ram54288 0:a7a43371b306 1148
ram54288 0:a7a43371b306 1149 m2mbase_stub::operation = M2MBase::POST_ALLOWED;
ram54288 0:a7a43371b306 1150
ram54288 0:a7a43371b306 1151 coap_header->options_list_ptr = (sn_coap_options_list_s*)malloc(sizeof(sn_coap_options_list_s));
ram54288 0:a7a43371b306 1152
ram54288 0:a7a43371b306 1153 uint8_t query[] = {"pmax=200&pmin=120"};
ram54288 0:a7a43371b306 1154 coap_header->options_list_ptr->uri_query_ptr = (uint8_t*)malloc(sizeof(query));
ram54288 0:a7a43371b306 1155 coap_header->options_list_ptr->uri_query_len = sizeof(query);
ram54288 0:a7a43371b306 1156
ram54288 0:a7a43371b306 1157 m2mbase_stub::bool_value = true;
ram54288 0:a7a43371b306 1158
ram54288 0:a7a43371b306 1159 m2mbase_stub::nsdl_resource =
ram54288 0:a7a43371b306 1160 (sn_nsdl_dynamic_resource_parameters_s*) malloc(sizeof(sn_nsdl_dynamic_resource_parameters_s));
ram54288 0:a7a43371b306 1161 m2mbase_stub::nsdl_resource->static_resource_parameters =
ram54288 0:a7a43371b306 1162 (sn_nsdl_static_resource_parameters_s*) malloc(sizeof(sn_nsdl_static_resource_parameters_s));
ram54288 0:a7a43371b306 1163 m2mbase_stub::nsdl_resource->static_resource_parameters->path = (uint8_t*)malloc(5);
ram54288 0:a7a43371b306 1164 m2mbase_stub::nsdl_resource->static_resource_parameters->path[0] = 'n';
ram54288 0:a7a43371b306 1165 m2mbase_stub::nsdl_resource->static_resource_parameters->path[1] = 'a';
ram54288 0:a7a43371b306 1166 m2mbase_stub::nsdl_resource->static_resource_parameters->path[2] = 'm';
ram54288 0:a7a43371b306 1167 m2mbase_stub::nsdl_resource->static_resource_parameters->path[3] = 'e';
ram54288 0:a7a43371b306 1168 m2mbase_stub::nsdl_resource->static_resource_parameters->path[4] = '\0';
ram54288 0:a7a43371b306 1169 m2mbase_stub::nsdl_resource->static_resource_parameters->pathlen = 5;
ram54288 0:a7a43371b306 1170
ram54288 0:a7a43371b306 1171 common_stub::coap_header = (sn_coap_hdr_ *)malloc(sizeof(sn_coap_hdr_));
ram54288 0:a7a43371b306 1172 memset(common_stub::coap_header,0,sizeof(sn_coap_hdr_));
ram54288 0:a7a43371b306 1173 common_stub::coap_header->msg_code = COAP_MSG_CODE_RESPONSE_BAD_REQUEST;
ram54288 0:a7a43371b306 1174 CHECK(nsdl->resource_callback(NULL,coap_header,address,SN_NSDL_PROTOCOL_HTTP) ==0);
ram54288 0:a7a43371b306 1175
ram54288 0:a7a43371b306 1176 m2mobject_stub::base_type = M2MBase::Resource;
ram54288 0:a7a43371b306 1177 m2mbase_stub::base_type = M2MBase::Resource;
ram54288 0:a7a43371b306 1178 CHECK(nsdl->resource_callback(NULL,coap_header,address,SN_NSDL_PROTOCOL_HTTP) ==0);
ram54288 0:a7a43371b306 1179
ram54288 0:a7a43371b306 1180 m2mobject_stub::base_type = M2MBase::ResourceInstance;
ram54288 0:a7a43371b306 1181 m2mbase_stub::base_type = M2MBase::ResourceInstance;
ram54288 0:a7a43371b306 1182 CHECK(nsdl->resource_callback(NULL,coap_header,address,SN_NSDL_PROTOCOL_HTTP) ==0);
ram54288 0:a7a43371b306 1183
ram54288 0:a7a43371b306 1184 m2mobject_stub::base_type = M2MBase::ObjectInstance;
ram54288 0:a7a43371b306 1185 m2mbase_stub::base_type = M2MBase::ObjectInstance;
ram54288 0:a7a43371b306 1186 CHECK(nsdl->resource_callback(NULL,coap_header,address,SN_NSDL_PROTOCOL_HTTP) ==0);
ram54288 0:a7a43371b306 1187
ram54288 0:a7a43371b306 1188 m2mbase_stub::base_type = M2MBase::Object;
ram54288 0:a7a43371b306 1189 m2mbase_stub::bool_value = false;
ram54288 0:a7a43371b306 1190
ram54288 0:a7a43371b306 1191 CHECK(nsdl->resource_callback(NULL,coap_header,address,SN_NSDL_PROTOCOL_HTTP) ==0);
ram54288 0:a7a43371b306 1192
ram54288 0:a7a43371b306 1193 delete object;
ram54288 0:a7a43371b306 1194 m2mobject_stub::instance_list.clear();
ram54288 0:a7a43371b306 1195 delete instance;
ram54288 0:a7a43371b306 1196 m2mobjectinstance_stub::resource_list.clear();
ram54288 0:a7a43371b306 1197 delete create_resource;
ram54288 0:a7a43371b306 1198
ram54288 0:a7a43371b306 1199 free(coap_header->options_list_ptr->uri_query_ptr);
ram54288 0:a7a43371b306 1200 free(coap_header->options_list_ptr);
ram54288 0:a7a43371b306 1201 if(common_stub::coap_header){
ram54288 0:a7a43371b306 1202 if( common_stub::coap_header->options_list_ptr){
ram54288 0:a7a43371b306 1203 free(common_stub::coap_header->options_list_ptr);
ram54288 0:a7a43371b306 1204 common_stub::coap_header->options_list_ptr = NULL;
ram54288 0:a7a43371b306 1205 }
ram54288 0:a7a43371b306 1206 free(common_stub::coap_header);
ram54288 0:a7a43371b306 1207 common_stub::coap_header = NULL;
ram54288 0:a7a43371b306 1208 }
ram54288 0:a7a43371b306 1209 free(coap_header);
ram54288 0:a7a43371b306 1210 free(address);
ram54288 0:a7a43371b306 1211 free(m2mbase_stub::nsdl_resource->static_resource_parameters->path);
ram54288 0:a7a43371b306 1212 free(m2mbase_stub::nsdl_resource->static_resource_parameters);
ram54288 0:a7a43371b306 1213 free(m2mbase_stub::nsdl_resource);
ram54288 0:a7a43371b306 1214
ram54288 0:a7a43371b306 1215 m2mbase_stub::clear();
ram54288 0:a7a43371b306 1216 common_stub::clear();
ram54288 0:a7a43371b306 1217 m2mobject_stub::clear();
ram54288 0:a7a43371b306 1218 m2mobjectinstance_stub::clear();
ram54288 0:a7a43371b306 1219 }
ram54288 0:a7a43371b306 1220
ram54288 0:a7a43371b306 1221 void Test_M2MNsdlInterface::test_resource_callback_delete()
ram54288 0:a7a43371b306 1222 {
ram54288 0:a7a43371b306 1223 uint8_t value[] = {"name/0"};
ram54288 0:a7a43371b306 1224 sn_coap_hdr_s *coap_header = (sn_coap_hdr_s *)malloc(sizeof(sn_coap_hdr_s));
ram54288 0:a7a43371b306 1225 memset(coap_header,0,sizeof(sn_coap_hdr_s));
ram54288 0:a7a43371b306 1226 sn_nsdl_addr_s *address = (sn_nsdl_addr_s *)malloc(sizeof(sn_nsdl_addr_s));
ram54288 0:a7a43371b306 1227 memset(address,0,sizeof(sn_nsdl_addr_s));
ram54288 0:a7a43371b306 1228
ram54288 0:a7a43371b306 1229 common_stub::coap_header = (sn_coap_hdr_ *)malloc(sizeof(sn_coap_hdr_));
ram54288 0:a7a43371b306 1230 memset(common_stub::coap_header,0,sizeof(sn_coap_hdr_));
ram54288 0:a7a43371b306 1231
ram54288 0:a7a43371b306 1232 coap_header->uri_path_ptr = value;
ram54288 0:a7a43371b306 1233 coap_header->uri_path_len = sizeof(value);
ram54288 0:a7a43371b306 1234
ram54288 0:a7a43371b306 1235 coap_header->msg_code = COAP_MSG_CODE_REQUEST_DELETE;
ram54288 0:a7a43371b306 1236 common_stub::coap_header->msg_code = COAP_MSG_CODE_RESPONSE_BAD_REQUEST;
ram54288 0:a7a43371b306 1237 common_stub::int_value = 0;
ram54288 0:a7a43371b306 1238
ram54288 0:a7a43371b306 1239 m2mbase_stub::nsdl_resource =
ram54288 0:a7a43371b306 1240 (sn_nsdl_dynamic_resource_parameters_s*) malloc(sizeof(sn_nsdl_dynamic_resource_parameters_s));
ram54288 0:a7a43371b306 1241 m2mbase_stub::nsdl_resource->static_resource_parameters =
ram54288 0:a7a43371b306 1242 (sn_nsdl_static_resource_parameters_s*) malloc(sizeof(sn_nsdl_static_resource_parameters_s));
ram54288 0:a7a43371b306 1243
ram54288 0:a7a43371b306 1244 m2mbase_stub::nsdl_resource->static_resource_parameters->path = (uint8_t*)malloc(7);
ram54288 0:a7a43371b306 1245 m2mbase_stub::nsdl_resource->static_resource_parameters->path[0] = 'n';
ram54288 0:a7a43371b306 1246 m2mbase_stub::nsdl_resource->static_resource_parameters->path[1] = 'a';
ram54288 0:a7a43371b306 1247 m2mbase_stub::nsdl_resource->static_resource_parameters->path[2] = 'm';
ram54288 0:a7a43371b306 1248 m2mbase_stub::nsdl_resource->static_resource_parameters->path[3] = 'e';
ram54288 0:a7a43371b306 1249 m2mbase_stub::nsdl_resource->static_resource_parameters->path[4] = '/';
ram54288 0:a7a43371b306 1250 m2mbase_stub::nsdl_resource->static_resource_parameters->path[5] = '0';
ram54288 0:a7a43371b306 1251 m2mbase_stub::nsdl_resource->static_resource_parameters->path[6] = '\0';
ram54288 0:a7a43371b306 1252 m2mbase_stub::nsdl_resource->static_resource_parameters->pathlen = 7;
ram54288 0:a7a43371b306 1253
ram54288 0:a7a43371b306 1254 CHECK(nsdl->resource_callback(NULL,coap_header,address,SN_NSDL_PROTOCOL_HTTP) ==0);
ram54288 0:a7a43371b306 1255
ram54288 0:a7a43371b306 1256 common_stub::int_value = 0;
ram54288 0:a7a43371b306 1257 m2mbase_stub::string_value = "name/0";
ram54288 0:a7a43371b306 1258 M2MObject *object = new M2MObject("name", "name");
ram54288 0:a7a43371b306 1259 M2MObjectInstance* instance = new M2MObjectInstance(*object,"name", "", "name/0");
ram54288 0:a7a43371b306 1260 m2mbase_stub::int_value = 0;
ram54288 0:a7a43371b306 1261 m2mobject_stub::int_value = 1;
ram54288 0:a7a43371b306 1262 m2mobject_stub::bool_value = true;
ram54288 0:a7a43371b306 1263 m2mobject_stub::instance_list.push_back(instance);
ram54288 0:a7a43371b306 1264 m2mobject_stub::base_type = M2MBase::ObjectInstance;
ram54288 0:a7a43371b306 1265 nsdl->_object_list.push_back(object);
ram54288 0:a7a43371b306 1266
ram54288 0:a7a43371b306 1267 m2mbase_stub::operation = M2MBase::DELETE_ALLOWED;
ram54288 0:a7a43371b306 1268
ram54288 0:a7a43371b306 1269 CHECK(nsdl->resource_callback(NULL,coap_header,address,SN_NSDL_PROTOCOL_HTTP) ==0);
ram54288 0:a7a43371b306 1270
ram54288 0:a7a43371b306 1271 m2mobject_stub::base_type = M2MBase::Object;
ram54288 0:a7a43371b306 1272 CHECK(nsdl->resource_callback(NULL,coap_header,address,SN_NSDL_PROTOCOL_HTTP) ==0);
ram54288 0:a7a43371b306 1273
ram54288 0:a7a43371b306 1274 delete instance;
ram54288 0:a7a43371b306 1275 delete object;
ram54288 0:a7a43371b306 1276 free(m2mbase_stub::nsdl_resource->static_resource_parameters->path);
ram54288 0:a7a43371b306 1277 free(m2mbase_stub::nsdl_resource->static_resource_parameters);
ram54288 0:a7a43371b306 1278 free(m2mbase_stub::nsdl_resource);
ram54288 0:a7a43371b306 1279 free(common_stub::coap_header);
ram54288 0:a7a43371b306 1280 free(address);
ram54288 0:a7a43371b306 1281 free(coap_header);
ram54288 0:a7a43371b306 1282 m2mobject_stub::instance_list.clear();
ram54288 0:a7a43371b306 1283 }
ram54288 0:a7a43371b306 1284
ram54288 0:a7a43371b306 1285 /*
ram54288 0:a7a43371b306 1286 void Test_M2MNsdlInterface::test_resource_callback_reset()
ram54288 0:a7a43371b306 1287 {
ram54288 0:a7a43371b306 1288 uint8_t value[] = {"name"};
ram54288 0:a7a43371b306 1289 sn_coap_hdr_s *coap_header = (sn_coap_hdr_s *)malloc(sizeof(sn_coap_hdr_s));
ram54288 0:a7a43371b306 1290 memset(coap_header,0,sizeof(sn_coap_hdr_s));
ram54288 0:a7a43371b306 1291 sn_nsdl_addr_s *address = (sn_nsdl_addr_s *)malloc(sizeof(sn_nsdl_addr_s));
ram54288 0:a7a43371b306 1292 memset(address,0,sizeof(sn_nsdl_addr_s));
ram54288 0:a7a43371b306 1293
ram54288 0:a7a43371b306 1294 coap_header->uri_path_ptr = value;
ram54288 0:a7a43371b306 1295 coap_header->uri_path_len = sizeof(value);
ram54288 0:a7a43371b306 1296
ram54288 0:a7a43371b306 1297 coap_header->msg_type = COAP_MSG_TYPE_RESET;
ram54288 0:a7a43371b306 1298 m2mobjectinstance_stub::base_type = M2MBase::Object;
ram54288 0:a7a43371b306 1299 String *name = new String("name");
ram54288 0:a7a43371b306 1300 common_stub::int_value = 0;
ram54288 0:a7a43371b306 1301 m2mbase_stub::string_value = name;
ram54288 0:a7a43371b306 1302 M2MObject *object = new M2MObject(*name);
ram54288 0:a7a43371b306 1303 M2MObjectInstance* instance = new M2MObjectInstance(*name,*object);
ram54288 0:a7a43371b306 1304 M2MResource* create_resource = new M2MResource(*instance,
ram54288 0:a7a43371b306 1305 *name,
ram54288 0:a7a43371b306 1306 *name,
ram54288 0:a7a43371b306 1307 M2MResourceInstance::INTEGER,
ram54288 0:a7a43371b306 1308 M2MResource::Dynamic,false);
ram54288 0:a7a43371b306 1309 m2mobject_stub::int_value = 2;
ram54288 0:a7a43371b306 1310 m2mobject_stub::instance_list.push_back(instance);
ram54288 0:a7a43371b306 1311
ram54288 0:a7a43371b306 1312 m2mobjectinstance_stub::resource_list.push_back(create_resource);
ram54288 0:a7a43371b306 1313 m2mobjectinstance_stub::int_value = 1;
ram54288 0:a7a43371b306 1314
ram54288 0:a7a43371b306 1315 nsdl->_object_list.push_back(object);
ram54288 0:a7a43371b306 1316 // No response for RESET message
ram54288 0:a7a43371b306 1317 CHECK(nsdl->resource_callback(NULL,coap_header,address,SN_NSDL_PROTOCOL_HTTP) == 1);
ram54288 0:a7a43371b306 1318
ram54288 0:a7a43371b306 1319
ram54288 0:a7a43371b306 1320 m2mobject_stub::base_type = M2MBase::ObjectInstance;
ram54288 0:a7a43371b306 1321 // No response for RESET message
ram54288 0:a7a43371b306 1322 CHECK(nsdl->resource_callback(NULL,coap_header,address,SN_NSDL_PROTOCOL_HTTP) == 1);
ram54288 0:a7a43371b306 1323
ram54288 0:a7a43371b306 1324 m2mobject_stub::base_type = M2MBase::Resource;
ram54288 0:a7a43371b306 1325 // No response for RESET message
ram54288 0:a7a43371b306 1326 CHECK(nsdl->resource_callback(NULL,coap_header,address,SN_NSDL_PROTOCOL_HTTP) == 1);
ram54288 0:a7a43371b306 1327
ram54288 0:a7a43371b306 1328 delete instance;
ram54288 0:a7a43371b306 1329 delete object;
ram54288 0:a7a43371b306 1330 delete name;
ram54288 0:a7a43371b306 1331 delete create_resource;
ram54288 0:a7a43371b306 1332 free(address);
ram54288 0:a7a43371b306 1333 free(coap_header);
ram54288 0:a7a43371b306 1334 m2mobject_stub::instance_list.clear();
ram54288 0:a7a43371b306 1335 m2mobjectinstance_stub::resource_list.clear();
ram54288 0:a7a43371b306 1336 //nsdl->_object_list.clear();
ram54288 0:a7a43371b306 1337 }
ram54288 0:a7a43371b306 1338 */
ram54288 0:a7a43371b306 1339 void Test_M2MNsdlInterface::test_process_received_data()
ram54288 0:a7a43371b306 1340 {
ram54288 0:a7a43371b306 1341 uint8_t *data = (uint8_t*)malloc(sizeof(uint8_t));
ram54288 0:a7a43371b306 1342 uint16_t data_size = sizeof(uint16_t);
ram54288 0:a7a43371b306 1343 sn_nsdl_addr_s *address = (sn_nsdl_addr_s *)malloc(sizeof(sn_nsdl_addr_s));
ram54288 0:a7a43371b306 1344
ram54288 0:a7a43371b306 1345 common_stub::int_value = 0;
ram54288 0:a7a43371b306 1346
ram54288 0:a7a43371b306 1347 CHECK(nsdl->process_received_data(data,data_size,address) == true);
ram54288 0:a7a43371b306 1348
ram54288 0:a7a43371b306 1349 common_stub::int_value = -1;
ram54288 0:a7a43371b306 1350
ram54288 0:a7a43371b306 1351 CHECK(nsdl->process_received_data(data,data_size,address) == false);
ram54288 0:a7a43371b306 1352
ram54288 0:a7a43371b306 1353 free(address);
ram54288 0:a7a43371b306 1354 free(data);
ram54288 0:a7a43371b306 1355 common_stub::clear();
ram54288 0:a7a43371b306 1356 }
ram54288 0:a7a43371b306 1357
ram54288 0:a7a43371b306 1358 void Test_M2MNsdlInterface::test_stop_timers()
ram54288 0:a7a43371b306 1359 {
ram54288 0:a7a43371b306 1360 // Check if there is no memory leak or crash
ram54288 0:a7a43371b306 1361 nsdl->stop_timers();
ram54288 0:a7a43371b306 1362 }
ram54288 0:a7a43371b306 1363
ram54288 0:a7a43371b306 1364 void Test_M2MNsdlInterface::test_timer_expired()
ram54288 0:a7a43371b306 1365 {
ram54288 0:a7a43371b306 1366 nsdl->timer_expired(M2MTimerObserver::NsdlExecution);
ram54288 0:a7a43371b306 1367 CHECK(nsdl->_counter_for_nsdl == 1);
ram54288 0:a7a43371b306 1368
ram54288 0:a7a43371b306 1369 if( nsdl->_endpoint == NULL){
ram54288 0:a7a43371b306 1370 nsdl->_endpoint = (sn_nsdl_ep_parameters_s*)nsdl->memory_alloc(sizeof(sn_nsdl_ep_parameters_s));
ram54288 0:a7a43371b306 1371 }
ram54288 0:a7a43371b306 1372 nsdl->_endpoint->lifetime_ptr = (uint8_t*)malloc(sizeof(uint8_t));
ram54288 0:a7a43371b306 1373
ram54288 0:a7a43371b306 1374 // For checking the registration update
ram54288 0:a7a43371b306 1375 nsdl->timer_expired(M2MTimerObserver::Registration);
ram54288 0:a7a43371b306 1376
ram54288 0:a7a43371b306 1377 nsdl->delete_endpoint();
ram54288 0:a7a43371b306 1378 CHECK(nsdl->_endpoint == NULL);
ram54288 0:a7a43371b306 1379 }
ram54288 0:a7a43371b306 1380
ram54288 0:a7a43371b306 1381 void Test_M2MNsdlInterface::test_observation_to_be_sent()
ram54288 0:a7a43371b306 1382 {
ram54288 0:a7a43371b306 1383 Vector<uint16_t> instance_list_ids;
ram54288 0:a7a43371b306 1384 m2mbase_stub::clear();
ram54288 0:a7a43371b306 1385 M2MObject *object = new M2MObject("name", "name");
ram54288 0:a7a43371b306 1386 M2MObjectInstance* instance = new M2MObjectInstance(*object, "name", "", "");
ram54288 0:a7a43371b306 1387 M2MResource *res = new M2MResource(*instance,"res", "res", M2MResourceInstance::INTEGER,false, "res");
ram54288 0:a7a43371b306 1388 M2MResource *res2 = new M2MResource(*instance,"res2", "res2", M2MResourceInstance::INTEGER,false, "res2");
ram54288 0:a7a43371b306 1389
ram54288 0:a7a43371b306 1390
ram54288 0:a7a43371b306 1391 M2MResourceInstance* res_instance = new M2MResourceInstance(*res,
ram54288 0:a7a43371b306 1392 "res", "res",
ram54288 0:a7a43371b306 1393 M2MResourceInstance::INTEGER,0,"",false);
ram54288 0:a7a43371b306 1394 M2MResourceInstance* res_instance_1 = new M2MResourceInstance(*res2,
ram54288 0:a7a43371b306 1395 "res2", "res2",
ram54288 0:a7a43371b306 1396 M2MResourceInstance::INTEGER,0,"",false);
ram54288 0:a7a43371b306 1397 m2mresource_stub::list.clear();
ram54288 0:a7a43371b306 1398 m2mresource_stub::list.push_back(res_instance);
ram54288 0:a7a43371b306 1399 m2mresource_stub::list.push_back(res_instance_1);
ram54288 0:a7a43371b306 1400 m2mresource_stub::int_value = 2;
ram54288 0:a7a43371b306 1401 instance_list_ids.push_back(0);
ram54288 0:a7a43371b306 1402
ram54288 0:a7a43371b306 1403 uint8_t value[] = {"value"};
ram54288 0:a7a43371b306 1404 m2mresourceinstance_stub::value = (uint8_t *)malloc(sizeof(value));
ram54288 0:a7a43371b306 1405 memset( m2mresourceinstance_stub::value, 0, sizeof(value));
ram54288 0:a7a43371b306 1406 memcpy(m2mresourceinstance_stub::value,value,sizeof(value));
ram54288 0:a7a43371b306 1407 m2mresourceinstance_stub::int_value = sizeof(value);
ram54288 0:a7a43371b306 1408
ram54288 0:a7a43371b306 1409 m2mbase_stub::uint16_value = 321;
ram54288 0:a7a43371b306 1410 m2mbase_stub::string_value = "token";
ram54288 0:a7a43371b306 1411
ram54288 0:a7a43371b306 1412 m2mresourceinstance_stub::base_type = M2MBase::Resource;
ram54288 0:a7a43371b306 1413
ram54288 0:a7a43371b306 1414 nsdl->_nsdl_handle = (nsdl_s*)malloc(sizeof(nsdl_s));
ram54288 0:a7a43371b306 1415 memset(nsdl->_nsdl_handle,0,sizeof(nsdl_s));
ram54288 0:a7a43371b306 1416 sn_nsdl_oma_server_info_t * nsp_address = (sn_nsdl_oma_server_info_t *)malloc(sizeof(sn_nsdl_oma_server_info_t));
ram54288 0:a7a43371b306 1417 memset(nsp_address,0,sizeof(sn_nsdl_oma_server_info_t));
ram54288 0:a7a43371b306 1418 sn_nsdl_addr_s* address = (sn_nsdl_addr_s*)malloc(sizeof(sn_nsdl_addr_s));
ram54288 0:a7a43371b306 1419 memset(address,0,sizeof(sn_nsdl_addr_s));
ram54288 0:a7a43371b306 1420
ram54288 0:a7a43371b306 1421 nsdl->_nsdl_handle->nsp_address_ptr = nsp_address;
ram54288 0:a7a43371b306 1422 memset(nsdl->_nsdl_handle->nsp_address_ptr,0,sizeof(sn_nsdl_oma_server_info_t));
ram54288 0:a7a43371b306 1423 nsdl->_nsdl_handle->nsp_address_ptr->omalw_address_ptr = address;
ram54288 0:a7a43371b306 1424
ram54288 0:a7a43371b306 1425 //CHECK if nothing crashes
ram54288 0:a7a43371b306 1426 common_stub::coap_header = (sn_coap_hdr_s *) malloc(sizeof(sn_coap_hdr_s));
ram54288 0:a7a43371b306 1427 common_stub::coap_header->options_list_ptr = (sn_coap_options_list_s*)malloc(sizeof(sn_coap_options_list_s));
ram54288 0:a7a43371b306 1428 nsdl->observation_to_be_sent(res2, 1, instance_list_ids);
ram54288 0:a7a43371b306 1429 free(common_stub::coap_header);
ram54288 0:a7a43371b306 1430
ram54288 0:a7a43371b306 1431 m2mresourceinstance_stub::resource_type = M2MResource::OPAQUE;
ram54288 0:a7a43371b306 1432
ram54288 0:a7a43371b306 1433 //CHECK if nothing crashes
ram54288 0:a7a43371b306 1434 common_stub::coap_header = (sn_coap_hdr_s *) malloc(sizeof(sn_coap_hdr_s));
ram54288 0:a7a43371b306 1435 common_stub::coap_header->options_list_ptr = (sn_coap_options_list_s*)malloc(sizeof(sn_coap_options_list_s));
ram54288 0:a7a43371b306 1436 nsdl->observation_to_be_sent(res2, 1, instance_list_ids);
ram54288 0:a7a43371b306 1437 free(common_stub::coap_header);
ram54288 0:a7a43371b306 1438
ram54288 0:a7a43371b306 1439 m2mresource_stub::list.clear();
ram54288 0:a7a43371b306 1440 m2mresource_stub::int_value = 0;
ram54288 0:a7a43371b306 1441
ram54288 0:a7a43371b306 1442 //CHECK if nothing crashes
ram54288 0:a7a43371b306 1443 common_stub::coap_header = (sn_coap_hdr_s *) malloc(sizeof(sn_coap_hdr_s));
ram54288 0:a7a43371b306 1444 common_stub::coap_header->options_list_ptr = (sn_coap_options_list_s*)malloc(sizeof(sn_coap_options_list_s));
ram54288 0:a7a43371b306 1445 nsdl->observation_to_be_sent(res, 500, instance_list_ids);
ram54288 0:a7a43371b306 1446 free(common_stub::coap_header);
ram54288 0:a7a43371b306 1447
ram54288 0:a7a43371b306 1448 M2MObjectInstance *object_instance = new M2MObjectInstance(*object, "name", "","");
ram54288 0:a7a43371b306 1449 m2mobject_stub::int_value = 1;
ram54288 0:a7a43371b306 1450 m2mobject_stub::base_type = M2MBase::Object;
ram54288 0:a7a43371b306 1451 m2mobject_stub::inst = object_instance;
ram54288 0:a7a43371b306 1452 m2mobjectinstance_stub::resource_list.push_back(res);
ram54288 0:a7a43371b306 1453 nsdl->_object_list.push_back(object);
ram54288 0:a7a43371b306 1454 instance_list_ids.push_back(1);
ram54288 0:a7a43371b306 1455 //CHECK if nothing crashes
ram54288 0:a7a43371b306 1456 common_stub::coap_header = (sn_coap_hdr_s *) malloc(sizeof(sn_coap_hdr_s));
ram54288 0:a7a43371b306 1457 common_stub::coap_header->options_list_ptr = (sn_coap_options_list_s*)malloc(sizeof(sn_coap_options_list_s));
ram54288 0:a7a43371b306 1458 nsdl->observation_to_be_sent(object, 1, instance_list_ids);
ram54288 0:a7a43371b306 1459 free(common_stub::coap_header);
ram54288 0:a7a43371b306 1460
ram54288 0:a7a43371b306 1461 common_stub::coap_header = (sn_coap_hdr_s *) malloc(sizeof(sn_coap_hdr_s));
ram54288 0:a7a43371b306 1462 common_stub::coap_header->options_list_ptr = (sn_coap_options_list_s*)malloc(sizeof(sn_coap_options_list_s));
ram54288 0:a7a43371b306 1463 nsdl->observation_to_be_sent(object, 500, instance_list_ids, true);
ram54288 0:a7a43371b306 1464 free(common_stub::coap_header);
ram54288 0:a7a43371b306 1465
ram54288 0:a7a43371b306 1466 //CHECK if nothing crashes
ram54288 0:a7a43371b306 1467 m2mobjectinstance_stub::base_type = M2MBase::ObjectInstance;
ram54288 0:a7a43371b306 1468 common_stub::coap_header = (sn_coap_hdr_s *) malloc(sizeof(sn_coap_hdr_s));
ram54288 0:a7a43371b306 1469 common_stub::coap_header->options_list_ptr = (sn_coap_options_list_s*)malloc(sizeof(sn_coap_options_list_s));
ram54288 0:a7a43371b306 1470 nsdl->observation_to_be_sent(object_instance, 1, instance_list_ids);
ram54288 0:a7a43371b306 1471 free(common_stub::coap_header);
ram54288 0:a7a43371b306 1472
ram54288 0:a7a43371b306 1473 common_stub::coap_header = (sn_coap_hdr_s *) malloc(sizeof(sn_coap_hdr_s));
ram54288 0:a7a43371b306 1474 common_stub::coap_header->options_list_ptr = (sn_coap_options_list_s*)malloc(sizeof(sn_coap_options_list_s));
ram54288 0:a7a43371b306 1475 nsdl->observation_to_be_sent(object_instance, 500, instance_list_ids);
ram54288 0:a7a43371b306 1476 free(common_stub::coap_header);
ram54288 0:a7a43371b306 1477
ram54288 0:a7a43371b306 1478 free(m2mresourceinstance_stub::value);
ram54288 0:a7a43371b306 1479 m2mresourceinstance_stub::value = NULL;
ram54288 0:a7a43371b306 1480
ram54288 0:a7a43371b306 1481 m2mbase_stub::clear();
ram54288 0:a7a43371b306 1482 m2mresourceinstance_stub::clear();
ram54288 0:a7a43371b306 1483 m2mobjectinstance_stub::clear();
ram54288 0:a7a43371b306 1484 m2mobject_stub::clear();
ram54288 0:a7a43371b306 1485 m2mresource_stub::list.clear();
ram54288 0:a7a43371b306 1486 delete res;
ram54288 0:a7a43371b306 1487 res = NULL;
ram54288 0:a7a43371b306 1488
ram54288 0:a7a43371b306 1489 delete res2;
ram54288 0:a7a43371b306 1490 res2 = NULL;
ram54288 0:a7a43371b306 1491
ram54288 0:a7a43371b306 1492 delete res_instance;
ram54288 0:a7a43371b306 1493 res_instance = NULL;
ram54288 0:a7a43371b306 1494
ram54288 0:a7a43371b306 1495 delete res_instance_1;
ram54288 0:a7a43371b306 1496 res_instance_1 = NULL;
ram54288 0:a7a43371b306 1497
ram54288 0:a7a43371b306 1498 delete object_instance;
ram54288 0:a7a43371b306 1499 object_instance = NULL;
ram54288 0:a7a43371b306 1500
ram54288 0:a7a43371b306 1501 delete object;
ram54288 0:a7a43371b306 1502 object = NULL;
ram54288 0:a7a43371b306 1503
ram54288 0:a7a43371b306 1504 delete instance;
ram54288 0:a7a43371b306 1505 instance = NULL;
ram54288 0:a7a43371b306 1506
ram54288 0:a7a43371b306 1507 free(nsp_address);
ram54288 0:a7a43371b306 1508 free(address);
ram54288 0:a7a43371b306 1509 free(nsdl->_nsdl_handle);
ram54288 0:a7a43371b306 1510 }
ram54288 0:a7a43371b306 1511
ram54288 0:a7a43371b306 1512 void Test_M2MNsdlInterface::test_resource_to_be_deleted()
ram54288 0:a7a43371b306 1513 {
ram54288 0:a7a43371b306 1514 //Checking coverage for the code
ram54288 0:a7a43371b306 1515 M2MObject *object = new M2MObject("name", "name");
ram54288 0:a7a43371b306 1516 nsdl->resource_to_be_deleted(object);
ram54288 0:a7a43371b306 1517 delete object;
ram54288 0:a7a43371b306 1518 }
ram54288 0:a7a43371b306 1519
ram54288 0:a7a43371b306 1520 void Test_M2MNsdlInterface::test_value_updated()
ram54288 0:a7a43371b306 1521 {
ram54288 0:a7a43371b306 1522 M2MObject *object = new M2MObject("name", "name");
ram54288 0:a7a43371b306 1523 M2MObjectInstance *object_instance = new M2MObjectInstance(*object, "name", "", "");
ram54288 0:a7a43371b306 1524 M2MResource *resource = new M2MResource(*object_instance,
ram54288 0:a7a43371b306 1525 "resource_name",
ram54288 0:a7a43371b306 1526 "resource_type",
ram54288 0:a7a43371b306 1527 M2MResourceInstance::INTEGER,
ram54288 0:a7a43371b306 1528 false,
ram54288 0:a7a43371b306 1529 "resource_name");
ram54288 0:a7a43371b306 1530
ram54288 0:a7a43371b306 1531 M2MResourceInstance *resource_instance = new M2MResourceInstance(*resource,
ram54288 0:a7a43371b306 1532 "resource_name",
ram54288 0:a7a43371b306 1533 "resource_type",
ram54288 0:a7a43371b306 1534 M2MResourceInstance::INTEGER,
ram54288 0:a7a43371b306 1535 0,"",false);
ram54288 0:a7a43371b306 1536
ram54288 0:a7a43371b306 1537 m2mobject_stub::base_type = M2MBase::Object;
ram54288 0:a7a43371b306 1538 m2mbase_stub::string_value = "name";
ram54288 0:a7a43371b306 1539 m2mbase_stub::operation = M2MBase::GET_ALLOWED;
ram54288 0:a7a43371b306 1540 nsdl->value_updated(object,"name");
ram54288 0:a7a43371b306 1541 CHECK(observer->value_update == true);
ram54288 0:a7a43371b306 1542 observer->value_update = false;
ram54288 0:a7a43371b306 1543
ram54288 0:a7a43371b306 1544 m2mobjectinstance_stub::base_type = M2MBase::ObjectInstance;
ram54288 0:a7a43371b306 1545
ram54288 0:a7a43371b306 1546 nsdl->value_updated(object_instance,"name/0");
ram54288 0:a7a43371b306 1547 CHECK(observer->value_update == true);
ram54288 0:a7a43371b306 1548 observer->value_update = false;
ram54288 0:a7a43371b306 1549
ram54288 0:a7a43371b306 1550 common_stub::resource = (sn_nsdl_dynamic_resource_parameters_s*)malloc(sizeof(sn_nsdl_dynamic_resource_parameters_s));
ram54288 0:a7a43371b306 1551 memset(common_stub::resource,0, sizeof(sn_nsdl_dynamic_resource_parameters_s));
ram54288 0:a7a43371b306 1552
ram54288 0:a7a43371b306 1553 common_stub::resource->static_resource_parameters =
ram54288 0:a7a43371b306 1554 (sn_nsdl_static_resource_parameters_s*)malloc(sizeof(sn_nsdl_static_resource_parameters_s));
ram54288 0:a7a43371b306 1555 memset(common_stub::resource->static_resource_parameters,0, sizeof(sn_nsdl_static_resource_parameters_s));
ram54288 0:a7a43371b306 1556
ram54288 0:a7a43371b306 1557 common_stub::resource->static_resource_parameters->resource = (uint8_t*)malloc(2);
ram54288 0:a7a43371b306 1558 memset(common_stub::resource->static_resource_parameters->resource,0, 2);
ram54288 0:a7a43371b306 1559
ram54288 0:a7a43371b306 1560 common_stub::resource->static_resource_parameters->mode = SN_GRS_STATIC;
ram54288 0:a7a43371b306 1561 m2mbase_stub::mode_value = M2MBase::Static;
ram54288 0:a7a43371b306 1562
ram54288 0:a7a43371b306 1563 common_stub::resource->observable = false;
ram54288 0:a7a43371b306 1564 m2mbase_stub::bool_value = true;
ram54288 0:a7a43371b306 1565
ram54288 0:a7a43371b306 1566 m2mresourceinstance_stub::int_value = 2;
ram54288 0:a7a43371b306 1567 uint8_t value[] = "1";
ram54288 0:a7a43371b306 1568 m2mresourceinstance_stub::value = value;
ram54288 0:a7a43371b306 1569
ram54288 0:a7a43371b306 1570 m2mresourceinstance_stub::base_type = M2MBase::Resource;
ram54288 0:a7a43371b306 1571
ram54288 0:a7a43371b306 1572 nsdl->value_updated(resource,"name/0/name");
ram54288 0:a7a43371b306 1573 CHECK(observer->value_update == true);
ram54288 0:a7a43371b306 1574 observer->value_update = false;
ram54288 0:a7a43371b306 1575
ram54288 0:a7a43371b306 1576 m2mresourceinstance_stub::clear();
ram54288 0:a7a43371b306 1577 free(common_stub::resource->static_resource_parameters->resource);
ram54288 0:a7a43371b306 1578 free(common_stub::resource->static_resource_parameters);
ram54288 0:a7a43371b306 1579 free(common_stub::resource);
ram54288 0:a7a43371b306 1580 common_stub::resource = NULL;
ram54288 0:a7a43371b306 1581 common_stub::clear();
ram54288 0:a7a43371b306 1582
ram54288 0:a7a43371b306 1583 m2mresourceinstance_stub::base_type = M2MBase::ResourceInstance;
ram54288 0:a7a43371b306 1584
ram54288 0:a7a43371b306 1585 common_stub::resource = (sn_nsdl_dynamic_resource_parameters_s*)malloc(sizeof(sn_nsdl_dynamic_resource_parameters_s));
ram54288 0:a7a43371b306 1586 memset(common_stub::resource,0, sizeof(sn_nsdl_dynamic_resource_parameters_s));
ram54288 0:a7a43371b306 1587
ram54288 0:a7a43371b306 1588 common_stub::resource->static_resource_parameters =
ram54288 0:a7a43371b306 1589 (sn_nsdl_static_resource_parameters_s*)malloc(sizeof(sn_nsdl_static_resource_parameters_s));
ram54288 0:a7a43371b306 1590 memset(common_stub::resource->static_resource_parameters,0, sizeof(sn_nsdl_static_resource_parameters_s));
ram54288 0:a7a43371b306 1591
ram54288 0:a7a43371b306 1592 common_stub::resource->static_resource_parameters->resource = (uint8_t*)malloc(2);
ram54288 0:a7a43371b306 1593 memset(common_stub::resource->static_resource_parameters->resource,0, 2);
ram54288 0:a7a43371b306 1594
ram54288 0:a7a43371b306 1595 common_stub::resource->static_resource_parameters->mode = SN_GRS_STATIC;
ram54288 0:a7a43371b306 1596 m2mbase_stub::mode_value = M2MBase::Static;
ram54288 0:a7a43371b306 1597
ram54288 0:a7a43371b306 1598 m2mresourceinstance_stub::int_value = 2;
ram54288 0:a7a43371b306 1599 m2mresourceinstance_stub::value = value;
ram54288 0:a7a43371b306 1600
ram54288 0:a7a43371b306 1601 nsdl->value_updated(resource_instance,"name/0/name/0");
ram54288 0:a7a43371b306 1602 CHECK(observer->value_update == true);
ram54288 0:a7a43371b306 1603 observer->value_update = false;
ram54288 0:a7a43371b306 1604
ram54288 0:a7a43371b306 1605 m2mbase_stub::is_value_updated_function_set = true;
ram54288 0:a7a43371b306 1606 nsdl->value_updated(resource_instance,"name/0/name/0");
ram54288 0:a7a43371b306 1607 CHECK(observer->value_update == false);
ram54288 0:a7a43371b306 1608 observer->value_update = false;
ram54288 0:a7a43371b306 1609
ram54288 0:a7a43371b306 1610 m2mobject_stub::clear();
ram54288 0:a7a43371b306 1611 m2mobjectinstance_stub::clear();
ram54288 0:a7a43371b306 1612
ram54288 0:a7a43371b306 1613 m2mresourceinstance_stub::clear();
ram54288 0:a7a43371b306 1614
ram54288 0:a7a43371b306 1615 free(common_stub::resource->static_resource_parameters->resource);
ram54288 0:a7a43371b306 1616 free(common_stub::resource->static_resource_parameters);
ram54288 0:a7a43371b306 1617 free(common_stub::resource);
ram54288 0:a7a43371b306 1618
ram54288 0:a7a43371b306 1619 common_stub::resource = NULL;
ram54288 0:a7a43371b306 1620 common_stub::clear();
ram54288 0:a7a43371b306 1621
ram54288 0:a7a43371b306 1622 delete resource_instance;
ram54288 0:a7a43371b306 1623 delete resource;
ram54288 0:a7a43371b306 1624 delete object_instance;
ram54288 0:a7a43371b306 1625 delete object;
ram54288 0:a7a43371b306 1626 }
ram54288 0:a7a43371b306 1627
ram54288 0:a7a43371b306 1628
ram54288 0:a7a43371b306 1629 void Test_M2MNsdlInterface::test_find_resource()
ram54288 0:a7a43371b306 1630 {
ram54288 0:a7a43371b306 1631 m2mbase_stub::string_value = "name";
ram54288 0:a7a43371b306 1632 m2mbase_stub::object_instance_name = "name/0";
ram54288 0:a7a43371b306 1633 m2mbase_stub::resource_name_inst = "name/0/resource_name/0";
ram54288 0:a7a43371b306 1634 m2mbase_stub::resource_name = "name/0/resource_name";
ram54288 0:a7a43371b306 1635 m2mbase_stub::find_resource = true;
ram54288 0:a7a43371b306 1636 uint8_t *token = (uint8_t*) malloc(4);
ram54288 0:a7a43371b306 1637 token[0] = 't';
ram54288 0:a7a43371b306 1638 token[1] = 'o';
ram54288 0:a7a43371b306 1639 token[2] = 'k';
ram54288 0:a7a43371b306 1640 token[3] = 'e';
ram54288 0:a7a43371b306 1641 m2mbase_stub::object_token = token;
ram54288 0:a7a43371b306 1642 m2mbase_stub::object_token_len = 4;
ram54288 0:a7a43371b306 1643
ram54288 0:a7a43371b306 1644 uint8_t *inst_token = (uint8_t*) malloc(4);
ram54288 0:a7a43371b306 1645 inst_token[0] = 't';
ram54288 0:a7a43371b306 1646 inst_token[1] = 'o';
ram54288 0:a7a43371b306 1647 inst_token[2] = 'k';
ram54288 0:a7a43371b306 1648 inst_token[3] = 'k';
ram54288 0:a7a43371b306 1649 m2mbase_stub::object_inst_token = inst_token;
ram54288 0:a7a43371b306 1650 m2mbase_stub::object_inst_token_len = 4;
ram54288 0:a7a43371b306 1651
ram54288 0:a7a43371b306 1652 uint8_t *resource_token = (uint8_t*) malloc(4);
ram54288 0:a7a43371b306 1653 resource_token[0] = 't';
ram54288 0:a7a43371b306 1654 resource_token[1] = 'k';
ram54288 0:a7a43371b306 1655 resource_token[2] = 'k';
ram54288 0:a7a43371b306 1656 resource_token[3] = 'k';
ram54288 0:a7a43371b306 1657 m2mbase_stub::resource_token = resource_token;
ram54288 0:a7a43371b306 1658 m2mbase_stub::resource_token_len = 4;
ram54288 0:a7a43371b306 1659
ram54288 0:a7a43371b306 1660 M2MObject *object = new M2MObject("name", "name");
ram54288 0:a7a43371b306 1661 M2MObjectInstance *object_instance = new M2MObjectInstance(*object,"name/0", "","name/0");
ram54288 0:a7a43371b306 1662 M2MResource *resource = new M2MResource(*object_instance,
ram54288 0:a7a43371b306 1663 "resource_name",
ram54288 0:a7a43371b306 1664 "resource_type",
ram54288 0:a7a43371b306 1665 M2MResourceInstance::INTEGER,
ram54288 0:a7a43371b306 1666 false,
ram54288 0:a7a43371b306 1667 "resource_name");
ram54288 0:a7a43371b306 1668
ram54288 0:a7a43371b306 1669 M2MResourceInstance *resource_instance = new M2MResourceInstance(*resource,
ram54288 0:a7a43371b306 1670 "0",
ram54288 0:a7a43371b306 1671 "resource_type",
ram54288 0:a7a43371b306 1672 M2MResourceInstance::INTEGER,0,"0",false);
ram54288 0:a7a43371b306 1673
ram54288 0:a7a43371b306 1674 m2mobjectinstance_stub::base_type = M2MBase::ObjectInstance;
ram54288 0:a7a43371b306 1675 m2mobject_stub::instance_list.push_back(object_instance);
ram54288 0:a7a43371b306 1676 m2mobjectinstance_stub::resource_list.push_back(resource);
ram54288 0:a7a43371b306 1677 m2mresource_stub::list.push_back(resource_instance);
ram54288 0:a7a43371b306 1678 m2mobject_stub::base_type = M2MBase::Object;
ram54288 0:a7a43371b306 1679 nsdl->_object_list.push_back(object);
ram54288 0:a7a43371b306 1680 m2mresource_stub::bool_value = true;
ram54288 0:a7a43371b306 1681 CHECK(nsdl->find_resource("name") == object);
ram54288 0:a7a43371b306 1682 CHECK(nsdl->find_resource("name1") == NULL);
ram54288 0:a7a43371b306 1683 CHECK(nsdl->find_resource("name", token, 4) == object);
ram54288 0:a7a43371b306 1684 CHECK(nsdl->find_resource("name", token, 5) == NULL);
ram54288 0:a7a43371b306 1685
ram54288 0:a7a43371b306 1686 m2mbase_stub::ret_counter = 0;
ram54288 0:a7a43371b306 1687 CHECK(nsdl->find_resource("name/0") == object_instance);
ram54288 0:a7a43371b306 1688 m2mbase_stub::ret_counter = 0;
ram54288 0:a7a43371b306 1689 CHECK(nsdl->find_resource("name/0", inst_token, 4) == object_instance);
ram54288 0:a7a43371b306 1690 m2mbase_stub::ret_counter = 0;
ram54288 0:a7a43371b306 1691
ram54288 0:a7a43371b306 1692 CHECK(nsdl->find_resource("name/0/resource_name") == resource);
ram54288 0:a7a43371b306 1693 m2mbase_stub::ret_counter = 0;
ram54288 0:a7a43371b306 1694 CHECK(nsdl->find_resource("name/0/resource_name", resource_token, 4) == resource);
ram54288 0:a7a43371b306 1695
ram54288 0:a7a43371b306 1696 m2mbase_stub::ret_counter = 0;
ram54288 0:a7a43371b306 1697 CHECK(nsdl->find_resource("name/0/resource_name/0") == resource_instance);
ram54288 0:a7a43371b306 1698
ram54288 0:a7a43371b306 1699 free(token);
ram54288 0:a7a43371b306 1700 free(inst_token);
ram54288 0:a7a43371b306 1701 free(resource_token);
ram54288 0:a7a43371b306 1702
ram54288 0:a7a43371b306 1703 m2mobject_stub::clear();
ram54288 0:a7a43371b306 1704 m2mobjectinstance_stub::clear();
ram54288 0:a7a43371b306 1705
ram54288 0:a7a43371b306 1706 m2mresourceinstance_stub::clear();
ram54288 0:a7a43371b306 1707 m2mresource_stub::clear();
ram54288 0:a7a43371b306 1708 m2mobjectinstance_stub::clear();
ram54288 0:a7a43371b306 1709 m2mobject_stub::clear();
ram54288 0:a7a43371b306 1710
ram54288 0:a7a43371b306 1711 delete resource_instance;
ram54288 0:a7a43371b306 1712 delete resource;
ram54288 0:a7a43371b306 1713 delete object_instance;
ram54288 0:a7a43371b306 1714 delete object;
ram54288 0:a7a43371b306 1715 }
ram54288 0:a7a43371b306 1716
ram54288 0:a7a43371b306 1717 void Test_M2MNsdlInterface::test_remove_object()
ram54288 0:a7a43371b306 1718 {
ram54288 0:a7a43371b306 1719 M2MObject *obj = new M2MObject("name", "name");
ram54288 0:a7a43371b306 1720 nsdl->_object_list.push_back(obj);
ram54288 0:a7a43371b306 1721
ram54288 0:a7a43371b306 1722 nsdl->remove_object((M2MBase*)obj);
ram54288 0:a7a43371b306 1723
ram54288 0:a7a43371b306 1724 CHECK(nsdl->_object_list.empty() == true);
ram54288 0:a7a43371b306 1725
ram54288 0:a7a43371b306 1726 nsdl->_object_list.clear();
ram54288 0:a7a43371b306 1727 delete obj;
ram54288 0:a7a43371b306 1728 }
ram54288 0:a7a43371b306 1729
ram54288 0:a7a43371b306 1730 void Test_M2MNsdlInterface::test_add_object_to_list()
ram54288 0:a7a43371b306 1731 {
ram54288 0:a7a43371b306 1732 M2MObject *obj = new M2MObject("name", "name");
ram54288 0:a7a43371b306 1733 nsdl->_object_list.push_back(obj);
ram54288 0:a7a43371b306 1734
ram54288 0:a7a43371b306 1735 nsdl->add_object_to_list(obj);
ram54288 0:a7a43371b306 1736 CHECK(nsdl->_object_list.size() == 1);
ram54288 0:a7a43371b306 1737
ram54288 0:a7a43371b306 1738 nsdl->_object_list.clear();
ram54288 0:a7a43371b306 1739 delete obj;
ram54288 0:a7a43371b306 1740 }
ram54288 0:a7a43371b306 1741
ram54288 0:a7a43371b306 1742 void Test_M2MNsdlInterface::test_send_delayed_response()
ram54288 0:a7a43371b306 1743 {
ram54288 0:a7a43371b306 1744 common_stub::int_value = 0;
ram54288 0:a7a43371b306 1745 m2mbase_stub::int_value = 0;
ram54288 0:a7a43371b306 1746
ram54288 0:a7a43371b306 1747 M2MObject *object = new M2MObject("name", "name");
ram54288 0:a7a43371b306 1748 M2MObjectInstance* instance = new M2MObjectInstance(*object, "name", "", "");
ram54288 0:a7a43371b306 1749 nsdl->_nsdl_handle = (nsdl_s*)malloc(sizeof(nsdl_s));
ram54288 0:a7a43371b306 1750 memset(nsdl->_nsdl_handle,0,sizeof(nsdl_s));
ram54288 0:a7a43371b306 1751
ram54288 0:a7a43371b306 1752 sn_nsdl_oma_server_info_t * nsp_address = (sn_nsdl_oma_server_info_t *)malloc(sizeof(sn_nsdl_oma_server_info_t));
ram54288 0:a7a43371b306 1753 memset(nsp_address,0,sizeof(sn_nsdl_oma_server_info_t));
ram54288 0:a7a43371b306 1754 sn_nsdl_addr_s* address = (sn_nsdl_addr_s*)malloc(sizeof(sn_nsdl_addr_s));
ram54288 0:a7a43371b306 1755 memset(address,0,sizeof(sn_nsdl_addr_s));
ram54288 0:a7a43371b306 1756
ram54288 0:a7a43371b306 1757 M2MResource* resource = new M2MResource(*instance,
ram54288 0:a7a43371b306 1758 "name",
ram54288 0:a7a43371b306 1759 "name",
ram54288 0:a7a43371b306 1760 M2MResourceInstance::INTEGER,
ram54288 0:a7a43371b306 1761 false,
ram54288 0:a7a43371b306 1762 "name");
ram54288 0:a7a43371b306 1763
ram54288 0:a7a43371b306 1764 uint8_t val[] = {"name"};
ram54288 0:a7a43371b306 1765 m2mresource_stub::delayed_token = (uint8_t*)malloc(sizeof(val));
ram54288 0:a7a43371b306 1766 memcpy(m2mresource_stub::delayed_token,val,sizeof(val));
ram54288 0:a7a43371b306 1767 m2mresource_stub::delayed_token_len = sizeof(val);
ram54288 0:a7a43371b306 1768
ram54288 0:a7a43371b306 1769 m2mresourceinstance_stub::base_type = M2MBase::Resource;
ram54288 0:a7a43371b306 1770
ram54288 0:a7a43371b306 1771 nsdl->_nsdl_handle->nsp_address_ptr = nsp_address;
ram54288 0:a7a43371b306 1772 memset(nsdl->_nsdl_handle->nsp_address_ptr,0,sizeof(sn_nsdl_oma_server_info_t));
ram54288 0:a7a43371b306 1773 nsdl->_nsdl_handle->nsp_address_ptr->omalw_address_ptr = address;
ram54288 0:a7a43371b306 1774
ram54288 0:a7a43371b306 1775 nsdl->send_delayed_response(resource);
ram54288 0:a7a43371b306 1776
ram54288 0:a7a43371b306 1777 free(nsp_address);
ram54288 0:a7a43371b306 1778 free(address);
ram54288 0:a7a43371b306 1779 free(nsdl->_nsdl_handle);
ram54288 0:a7a43371b306 1780
ram54288 0:a7a43371b306 1781 delete object;
ram54288 0:a7a43371b306 1782 delete instance;
ram54288 0:a7a43371b306 1783 delete resource;
ram54288 0:a7a43371b306 1784 free(m2mresource_stub::delayed_token);
ram54288 0:a7a43371b306 1785 m2mresource_stub::delayed_token = NULL;
ram54288 0:a7a43371b306 1786 m2mresource_stub::delayed_token_len = 0;
ram54288 0:a7a43371b306 1787 }
ram54288 0:a7a43371b306 1788
ram54288 0:a7a43371b306 1789 void Test_M2MNsdlInterface::test_get_nsdl_handle()
ram54288 0:a7a43371b306 1790 {
ram54288 0:a7a43371b306 1791 CHECK(nsdl->get_nsdl_handle() == nsdl->_nsdl_handle);
ram54288 0:a7a43371b306 1792 }
ram54288 0:a7a43371b306 1793
ram54288 0:a7a43371b306 1794 void Test_M2MNsdlInterface::test_endpoint_name()
ram54288 0:a7a43371b306 1795 {
ram54288 0:a7a43371b306 1796 String endpoint = "test";
ram54288 0:a7a43371b306 1797 nsdl->_endpoint_name = endpoint;
ram54288 0:a7a43371b306 1798 CHECK(nsdl->endpoint_name() == endpoint);
ram54288 0:a7a43371b306 1799 }