Donald Meyers / Mbed OS evan
Committer:
djmeyers
Date:
Sat Mar 18 22:37:16 2017 +0000
Revision:
0:06ee5f8a484a
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
djmeyers 0:06ee5f8a484a 1 /*
djmeyers 0:06ee5f8a484a 2 * Copyright (c) 2015 ARM Limited. All rights reserved.
djmeyers 0:06ee5f8a484a 3 * SPDX-License-Identifier: Apache-2.0
djmeyers 0:06ee5f8a484a 4 * Licensed under the Apache License, Version 2.0 (the License); you may
djmeyers 0:06ee5f8a484a 5 * not use this file except in compliance with the License.
djmeyers 0:06ee5f8a484a 6 * You may obtain a copy of the License at
djmeyers 0:06ee5f8a484a 7 *
djmeyers 0:06ee5f8a484a 8 * http://www.apache.org/licenses/LICENSE-2.0
djmeyers 0:06ee5f8a484a 9 *
djmeyers 0:06ee5f8a484a 10 * Unless required by applicable law or agreed to in writing, software
djmeyers 0:06ee5f8a484a 11 * distributed under the License is distributed on an AS IS BASIS, WITHOUT
djmeyers 0:06ee5f8a484a 12 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
djmeyers 0:06ee5f8a484a 13 * See the License for the specific language governing permissions and
djmeyers 0:06ee5f8a484a 14 * limitations under the License.
djmeyers 0:06ee5f8a484a 15 */
djmeyers 0:06ee5f8a484a 16 #include "CppUTest/TestHarness.h"
djmeyers 0:06ee5f8a484a 17 #include "test_m2mfirmware.h"
djmeyers 0:06ee5f8a484a 18 #include "m2mobject_stub.h"
djmeyers 0:06ee5f8a484a 19 #include "m2mobjectinstance_stub.h"
djmeyers 0:06ee5f8a484a 20 #include "m2mresource_stub.h"
djmeyers 0:06ee5f8a484a 21 #include "m2mresourceinstance_stub.h"
djmeyers 0:06ee5f8a484a 22 #include "m2mbase_stub.h"
djmeyers 0:06ee5f8a484a 23 #include "nsdlaccesshelper_stub.h"
djmeyers 0:06ee5f8a484a 24
djmeyers 0:06ee5f8a484a 25 Test_M2MFirmware::Test_M2MFirmware()
djmeyers 0:06ee5f8a484a 26 {
djmeyers 0:06ee5f8a484a 27 M2MObject* obj = new M2MObject("name", "name");
djmeyers 0:06ee5f8a484a 28 m2mobject_stub::inst = new M2MObjectInstance(*obj,
djmeyers 0:06ee5f8a484a 29 "name","","");
djmeyers 0:06ee5f8a484a 30 m2mobjectinstance_stub::resource = new M2MResource(*m2mobject_stub::inst,
djmeyers 0:06ee5f8a484a 31 "name",
djmeyers 0:06ee5f8a484a 32 "type",
djmeyers 0:06ee5f8a484a 33 M2MResourceInstance::STRING,
djmeyers 0:06ee5f8a484a 34 false,
djmeyers 0:06ee5f8a484a 35 "name");
djmeyers 0:06ee5f8a484a 36
djmeyers 0:06ee5f8a484a 37 m2mobjectinstance_stub::create_resource_instance= new M2MResourceInstance(*m2mobjectinstance_stub::resource,
djmeyers 0:06ee5f8a484a 38 "name",
djmeyers 0:06ee5f8a484a 39 "type",
djmeyers 0:06ee5f8a484a 40 M2MResourceInstance::STRING,
djmeyers 0:06ee5f8a484a 41 0,
djmeyers 0:06ee5f8a484a 42 "name",
djmeyers 0:06ee5f8a484a 43 false);
djmeyers 0:06ee5f8a484a 44 m2mresource_stub::bool_value = true;
djmeyers 0:06ee5f8a484a 45 m2mobjectinstance_stub::create_resource = new M2MResource(*m2mobject_stub::inst,
djmeyers 0:06ee5f8a484a 46 "name",
djmeyers 0:06ee5f8a484a 47 "type",
djmeyers 0:06ee5f8a484a 48 M2MResourceInstance::STRING,
djmeyers 0:06ee5f8a484a 49 false,
djmeyers 0:06ee5f8a484a 50 "name");
djmeyers 0:06ee5f8a484a 51 firmware = M2MFirmware::get_instance();
djmeyers 0:06ee5f8a484a 52
djmeyers 0:06ee5f8a484a 53 delete m2mobjectinstance_stub::create_resource;
djmeyers 0:06ee5f8a484a 54 m2mobjectinstance_stub::create_resource = NULL;
djmeyers 0:06ee5f8a484a 55
djmeyers 0:06ee5f8a484a 56 delete m2mobjectinstance_stub::resource;
djmeyers 0:06ee5f8a484a 57 m2mobjectinstance_stub::resource = NULL;
djmeyers 0:06ee5f8a484a 58
djmeyers 0:06ee5f8a484a 59 delete m2mobjectinstance_stub::create_resource_instance;
djmeyers 0:06ee5f8a484a 60 m2mobjectinstance_stub::create_resource_instance = NULL;
djmeyers 0:06ee5f8a484a 61 delete obj;
djmeyers 0:06ee5f8a484a 62 }
djmeyers 0:06ee5f8a484a 63
djmeyers 0:06ee5f8a484a 64 Test_M2MFirmware::~Test_M2MFirmware()
djmeyers 0:06ee5f8a484a 65 {
djmeyers 0:06ee5f8a484a 66 delete m2mobject_stub::inst;
djmeyers 0:06ee5f8a484a 67 m2mobject_stub::inst = NULL;
djmeyers 0:06ee5f8a484a 68
djmeyers 0:06ee5f8a484a 69 M2MFirmware::delete_instance();
djmeyers 0:06ee5f8a484a 70 firmware = NULL;
djmeyers 0:06ee5f8a484a 71 }
djmeyers 0:06ee5f8a484a 72
djmeyers 0:06ee5f8a484a 73 void Test_M2MFirmware::test_create_resource_string()
djmeyers 0:06ee5f8a484a 74 {
djmeyers 0:06ee5f8a484a 75 CHECK(firmware->create_resource(M2MFirmware::Package, "test") == NULL);
djmeyers 0:06ee5f8a484a 76 CHECK(firmware->create_resource(M2MFirmware::Update, "test") == NULL);
djmeyers 0:06ee5f8a484a 77 CHECK(firmware->create_resource(M2MFirmware::State, "test") == NULL);
djmeyers 0:06ee5f8a484a 78
djmeyers 0:06ee5f8a484a 79 m2mobjectinstance_stub::create_resource = new M2MResource(*m2mobject_stub::inst,
djmeyers 0:06ee5f8a484a 80 "name",
djmeyers 0:06ee5f8a484a 81 "type",
djmeyers 0:06ee5f8a484a 82 M2MResourceInstance::STRING,
djmeyers 0:06ee5f8a484a 83 false,
djmeyers 0:06ee5f8a484a 84 "name");
djmeyers 0:06ee5f8a484a 85 CHECK(firmware->create_resource(M2MFirmware::PackageName,"test") != NULL);
djmeyers 0:06ee5f8a484a 86 CHECK(M2MBase::GET_ALLOWED == m2mbase_stub::operation);
djmeyers 0:06ee5f8a484a 87 CHECK(firmware->create_resource(M2MFirmware::PackageName,"") != NULL);
djmeyers 0:06ee5f8a484a 88
djmeyers 0:06ee5f8a484a 89 // Check size limit
djmeyers 0:06ee5f8a484a 90 String test = "";
djmeyers 0:06ee5f8a484a 91 for (int i = 0; i <= 255; i++) {
djmeyers 0:06ee5f8a484a 92 test.append("a", 1);
djmeyers 0:06ee5f8a484a 93 }
djmeyers 0:06ee5f8a484a 94 // 255 + null-termination
djmeyers 0:06ee5f8a484a 95 CHECK(firmware->create_resource(M2MFirmware::PackageVersion,test) == NULL);
djmeyers 0:06ee5f8a484a 96
djmeyers 0:06ee5f8a484a 97 test = "";
djmeyers 0:06ee5f8a484a 98 for (int i = 0; i <= 254; i++) {
djmeyers 0:06ee5f8a484a 99 test.append("a", 1);
djmeyers 0:06ee5f8a484a 100 }
djmeyers 0:06ee5f8a484a 101 // 254 + null-termination
djmeyers 0:06ee5f8a484a 102 CHECK(firmware->create_resource(M2MFirmware::PackageVersion,test) != NULL);
djmeyers 0:06ee5f8a484a 103 CHECK(M2MBase::GET_ALLOWED == m2mbase_stub::operation);
djmeyers 0:06ee5f8a484a 104
djmeyers 0:06ee5f8a484a 105
djmeyers 0:06ee5f8a484a 106 CHECK(firmware->create_resource(M2MFirmware::Package,"test") == NULL);
djmeyers 0:06ee5f8a484a 107 CHECK(firmware->create_resource(M2MFirmware::Update,"test") == NULL);
djmeyers 0:06ee5f8a484a 108 CHECK(firmware->create_resource(M2MFirmware::State,"test") == NULL);
djmeyers 0:06ee5f8a484a 109 CHECK(firmware->create_resource(M2MFirmware::UpdateSupportedObjects,"test") == NULL);
djmeyers 0:06ee5f8a484a 110 CHECK(firmware->create_resource(M2MFirmware::UpdateResult,"test") == NULL);
djmeyers 0:06ee5f8a484a 111
djmeyers 0:06ee5f8a484a 112 delete m2mobjectinstance_stub::create_resource;
djmeyers 0:06ee5f8a484a 113 m2mobjectinstance_stub::create_resource = NULL;
djmeyers 0:06ee5f8a484a 114 }
djmeyers 0:06ee5f8a484a 115
djmeyers 0:06ee5f8a484a 116 void Test_M2MFirmware::test_create_resource_int()
djmeyers 0:06ee5f8a484a 117 {
djmeyers 0:06ee5f8a484a 118 m2mobjectinstance_stub::create_resource = new M2MResource(*m2mobject_stub::inst,
djmeyers 0:06ee5f8a484a 119 "name",
djmeyers 0:06ee5f8a484a 120 "type",
djmeyers 0:06ee5f8a484a 121 M2MResourceInstance::STRING,
djmeyers 0:06ee5f8a484a 122 false,
djmeyers 0:06ee5f8a484a 123 "name");
djmeyers 0:06ee5f8a484a 124
djmeyers 0:06ee5f8a484a 125 CHECK(firmware->create_resource(M2MFirmware::PackageVersion,10) == NULL);
djmeyers 0:06ee5f8a484a 126 CHECK(firmware->create_resource(M2MFirmware::PackageName,10) == NULL);
djmeyers 0:06ee5f8a484a 127 CHECK(firmware->create_resource(M2MFirmware::Package,10) == NULL);
djmeyers 0:06ee5f8a484a 128 CHECK(firmware->create_resource(M2MFirmware::Update,10) == NULL);
djmeyers 0:06ee5f8a484a 129
djmeyers 0:06ee5f8a484a 130 m2mbase_stub::void_value = malloc(20);
djmeyers 0:06ee5f8a484a 131
djmeyers 0:06ee5f8a484a 132 CHECK(firmware->create_resource(M2MFirmware::UpdateSupportedObjects,false) != NULL);
djmeyers 0:06ee5f8a484a 133 CHECK(firmware->create_resource(M2MFirmware::UpdateSupportedObjects,true) != NULL);
djmeyers 0:06ee5f8a484a 134 CHECK(firmware->create_resource(M2MFirmware::UpdateSupportedObjects,5) == NULL);
djmeyers 0:06ee5f8a484a 135 CHECK(M2MBase::GET_PUT_ALLOWED == m2mbase_stub::operation);
djmeyers 0:06ee5f8a484a 136
djmeyers 0:06ee5f8a484a 137 CHECK(firmware->create_resource(M2MFirmware::Update,10) == NULL);
djmeyers 0:06ee5f8a484a 138
djmeyers 0:06ee5f8a484a 139 free(m2mbase_stub::void_value);
djmeyers 0:06ee5f8a484a 140 delete m2mobjectinstance_stub::create_resource;
djmeyers 0:06ee5f8a484a 141 m2mobjectinstance_stub::create_resource = NULL;
djmeyers 0:06ee5f8a484a 142 }
djmeyers 0:06ee5f8a484a 143
djmeyers 0:06ee5f8a484a 144
djmeyers 0:06ee5f8a484a 145 void Test_M2MFirmware::test_delete_resource()
djmeyers 0:06ee5f8a484a 146 {
djmeyers 0:06ee5f8a484a 147 m2mobjectinstance_stub::bool_value = true;
djmeyers 0:06ee5f8a484a 148
djmeyers 0:06ee5f8a484a 149 CHECK(firmware->delete_resource(M2MFirmware::PackageName) == true);
djmeyers 0:06ee5f8a484a 150 CHECK(firmware->delete_resource(M2MFirmware::PackageVersion) == true);
djmeyers 0:06ee5f8a484a 151 CHECK(firmware->delete_resource(M2MFirmware::UpdateSupportedObjects) == true);
djmeyers 0:06ee5f8a484a 152
djmeyers 0:06ee5f8a484a 153 CHECK(firmware->delete_resource(M2MFirmware::Package) == false);
djmeyers 0:06ee5f8a484a 154 CHECK(firmware->delete_resource(M2MFirmware::PackageUri) == false);
djmeyers 0:06ee5f8a484a 155 CHECK(firmware->delete_resource(M2MFirmware::State) == false);
djmeyers 0:06ee5f8a484a 156 CHECK(firmware->delete_resource(M2MFirmware::UpdateResult) == false);
djmeyers 0:06ee5f8a484a 157 CHECK(firmware->delete_resource(M2MFirmware::Update) == false);
djmeyers 0:06ee5f8a484a 158 }
djmeyers 0:06ee5f8a484a 159
djmeyers 0:06ee5f8a484a 160 void Test_M2MFirmware::test_set_resource_value_string()
djmeyers 0:06ee5f8a484a 161 {
djmeyers 0:06ee5f8a484a 162 m2mresourceinstance_stub::value = NULL;
djmeyers 0:06ee5f8a484a 163 m2mbase_stub::bool_value = true;
djmeyers 0:06ee5f8a484a 164 m2mresourceinstance_stub::bool_value = true;
djmeyers 0:06ee5f8a484a 165
djmeyers 0:06ee5f8a484a 166 m2mobjectinstance_stub::resource = new M2MResource(*m2mobject_stub::inst,
djmeyers 0:06ee5f8a484a 167 "name",
djmeyers 0:06ee5f8a484a 168 "type",
djmeyers 0:06ee5f8a484a 169 M2MResourceInstance::STRING,
djmeyers 0:06ee5f8a484a 170 false,
djmeyers 0:06ee5f8a484a 171 "name");
djmeyers 0:06ee5f8a484a 172 m2mresource_stub::bool_value = false;
djmeyers 0:06ee5f8a484a 173
djmeyers 0:06ee5f8a484a 174 m2mbase_stub::void_value = malloc(20);
djmeyers 0:06ee5f8a484a 175
djmeyers 0:06ee5f8a484a 176 CHECK(firmware->set_resource_value(M2MFirmware::PackageName,"test") == true);
djmeyers 0:06ee5f8a484a 177 CHECK(firmware->set_resource_value(M2MFirmware::PackageVersion,"test") == true);
djmeyers 0:06ee5f8a484a 178 CHECK(firmware->set_resource_value(M2MFirmware::PackageUri,"test") == true);
djmeyers 0:06ee5f8a484a 179 CHECK(firmware->set_resource_value(M2MFirmware::PackageUri,"") == true);
djmeyers 0:06ee5f8a484a 180
djmeyers 0:06ee5f8a484a 181 // Check size limit
djmeyers 0:06ee5f8a484a 182 String test = "";
djmeyers 0:06ee5f8a484a 183 for (int i = 0; i <= 255; i++) {
djmeyers 0:06ee5f8a484a 184 test.append("a", 1);
djmeyers 0:06ee5f8a484a 185 }
djmeyers 0:06ee5f8a484a 186 CHECK(firmware->set_resource_value(M2MFirmware::PackageUri,test) == false);
djmeyers 0:06ee5f8a484a 187
djmeyers 0:06ee5f8a484a 188 CHECK(firmware->set_resource_value(M2MFirmware::Package,"test") == false);
djmeyers 0:06ee5f8a484a 189 CHECK(firmware->set_resource_value(M2MFirmware::State,"test") == false);
djmeyers 0:06ee5f8a484a 190 CHECK(firmware->set_resource_value(M2MFirmware::UpdateResult,"test") == false);
djmeyers 0:06ee5f8a484a 191 CHECK(firmware->set_resource_value(M2MFirmware::UpdateSupportedObjects,"test") == false);
djmeyers 0:06ee5f8a484a 192 CHECK(firmware->set_resource_value(M2MFirmware::Update,"test") == false);
djmeyers 0:06ee5f8a484a 193
djmeyers 0:06ee5f8a484a 194 free(m2mbase_stub::void_value);
djmeyers 0:06ee5f8a484a 195 delete m2mobjectinstance_stub::resource;
djmeyers 0:06ee5f8a484a 196 m2mobjectinstance_stub::resource = NULL;
djmeyers 0:06ee5f8a484a 197 }
djmeyers 0:06ee5f8a484a 198
djmeyers 0:06ee5f8a484a 199 void Test_M2MFirmware::test_set_resource_value_int()
djmeyers 0:06ee5f8a484a 200 {
djmeyers 0:06ee5f8a484a 201 m2mresourceinstance_stub::bool_value = true;
djmeyers 0:06ee5f8a484a 202
djmeyers 0:06ee5f8a484a 203 m2mobjectinstance_stub::resource = new M2MResource(*m2mobject_stub::inst,
djmeyers 0:06ee5f8a484a 204 "name",
djmeyers 0:06ee5f8a484a 205 "type",
djmeyers 0:06ee5f8a484a 206 M2MResourceInstance::STRING,
djmeyers 0:06ee5f8a484a 207 false,
djmeyers 0:06ee5f8a484a 208 "name");
djmeyers 0:06ee5f8a484a 209 m2mresource_stub::bool_value = false;
djmeyers 0:06ee5f8a484a 210
djmeyers 0:06ee5f8a484a 211 m2mbase_stub::void_value = malloc(20);
djmeyers 0:06ee5f8a484a 212
djmeyers 0:06ee5f8a484a 213 CHECK(firmware->set_resource_value(M2MFirmware::PackageName,10) == false);
djmeyers 0:06ee5f8a484a 214 CHECK(firmware->set_resource_value(M2MFirmware::PackageVersion,10) == false);
djmeyers 0:06ee5f8a484a 215 CHECK(firmware->set_resource_value(M2MFirmware::PackageUri,10) == false);
djmeyers 0:06ee5f8a484a 216
djmeyers 0:06ee5f8a484a 217 CHECK(firmware->set_resource_value(M2MFirmware::Package,10) == false);
djmeyers 0:06ee5f8a484a 218 CHECK(firmware->set_resource_value(M2MFirmware::State,2) == true);
djmeyers 0:06ee5f8a484a 219 CHECK(firmware->set_resource_value(M2MFirmware::State,1) == true);
djmeyers 0:06ee5f8a484a 220 CHECK(firmware->set_resource_value(M2MFirmware::State,3) == true);
djmeyers 0:06ee5f8a484a 221 CHECK(firmware->set_resource_value(M2MFirmware::State,4) == false);
djmeyers 0:06ee5f8a484a 222 CHECK(firmware->set_resource_value(M2MFirmware::State,0) == true);
djmeyers 0:06ee5f8a484a 223 CHECK(firmware->set_resource_value(M2MFirmware::UpdateResult,2) == true);
djmeyers 0:06ee5f8a484a 224 CHECK(firmware->set_resource_value(M2MFirmware::UpdateResult,20) == false);
djmeyers 0:06ee5f8a484a 225 CHECK(firmware->set_resource_value(M2MFirmware::UpdateSupportedObjects,true) == true);
djmeyers 0:06ee5f8a484a 226 CHECK(firmware->set_resource_value(M2MFirmware::Update,10) == false);
djmeyers 0:06ee5f8a484a 227 CHECK(firmware->check_value_range(M2MFirmware::Update,10) == false);
djmeyers 0:06ee5f8a484a 228
djmeyers 0:06ee5f8a484a 229 free(m2mbase_stub::void_value);
djmeyers 0:06ee5f8a484a 230 delete m2mobjectinstance_stub::resource;
djmeyers 0:06ee5f8a484a 231 m2mobjectinstance_stub::resource = NULL;
djmeyers 0:06ee5f8a484a 232 }
djmeyers 0:06ee5f8a484a 233
djmeyers 0:06ee5f8a484a 234
djmeyers 0:06ee5f8a484a 235 void Test_M2MFirmware::test_resource_value_int()
djmeyers 0:06ee5f8a484a 236 {
djmeyers 0:06ee5f8a484a 237 uint8_t value[] = {"10"};
djmeyers 0:06ee5f8a484a 238 uint8_t* ptr = (uint8_t*)malloc((uint32_t)sizeof(value));
djmeyers 0:06ee5f8a484a 239 m2mresourceinstance_stub::value = ptr;
djmeyers 0:06ee5f8a484a 240 memset(m2mresourceinstance_stub::value,0,(uint32_t)sizeof(value));
djmeyers 0:06ee5f8a484a 241 memcpy(m2mresourceinstance_stub::value, value,sizeof(value));
djmeyers 0:06ee5f8a484a 242 m2mresourceinstance_stub::int_value = (uint32_t)sizeof(value);
djmeyers 0:06ee5f8a484a 243
djmeyers 0:06ee5f8a484a 244 m2mobjectinstance_stub::resource = new M2MResource(*m2mobject_stub::inst,
djmeyers 0:06ee5f8a484a 245 "name",
djmeyers 0:06ee5f8a484a 246 "type",
djmeyers 0:06ee5f8a484a 247 M2MResourceInstance::STRING,
djmeyers 0:06ee5f8a484a 248 false,
djmeyers 0:06ee5f8a484a 249 "name");
djmeyers 0:06ee5f8a484a 250
djmeyers 0:06ee5f8a484a 251 m2mresourceinstance_stub::bool_value = true;
djmeyers 0:06ee5f8a484a 252 m2mresource_stub::bool_value = false;
djmeyers 0:06ee5f8a484a 253 m2mbase_stub::void_value = malloc(20);
djmeyers 0:06ee5f8a484a 254
djmeyers 0:06ee5f8a484a 255 CHECK(firmware->resource_value_int(M2MFirmware::State) == 10);
djmeyers 0:06ee5f8a484a 256 CHECK(firmware->resource_value_int(M2MFirmware::UpdateResult) == 10);
djmeyers 0:06ee5f8a484a 257 CHECK(firmware->resource_value_int(M2MFirmware::UpdateSupportedObjects) == 10);
djmeyers 0:06ee5f8a484a 258 CHECK(firmware->resource_value_int(M2MFirmware::PackageName) == -1);
djmeyers 0:06ee5f8a484a 259 CHECK(firmware->resource_value_int(M2MFirmware::Package) == -1);
djmeyers 0:06ee5f8a484a 260 CHECK(firmware->resource_value_int(M2MFirmware::PackageUri) == -1);
djmeyers 0:06ee5f8a484a 261 CHECK(firmware->resource_value_int(M2MFirmware::PackageVersion) == -1);
djmeyers 0:06ee5f8a484a 262 CHECK(firmware->resource_value_int(M2MFirmware::Update) == -1);
djmeyers 0:06ee5f8a484a 263
djmeyers 0:06ee5f8a484a 264 free(m2mbase_stub::void_value);
djmeyers 0:06ee5f8a484a 265 delete m2mobjectinstance_stub::resource;
djmeyers 0:06ee5f8a484a 266 m2mobjectinstance_stub::resource = NULL;
djmeyers 0:06ee5f8a484a 267
djmeyers 0:06ee5f8a484a 268 free(ptr);
djmeyers 0:06ee5f8a484a 269 }
djmeyers 0:06ee5f8a484a 270
djmeyers 0:06ee5f8a484a 271 void Test_M2MFirmware::test_resource_value_string()
djmeyers 0:06ee5f8a484a 272 {
djmeyers 0:06ee5f8a484a 273 String test = "string";
djmeyers 0:06ee5f8a484a 274 uint8_t value[] = {"string"};
djmeyers 0:06ee5f8a484a 275 m2mresourceinstance_stub::value = (uint8_t*)malloc((uint32_t)sizeof(value));
djmeyers 0:06ee5f8a484a 276 memset(m2mresourceinstance_stub::value,0,(uint32_t)sizeof(value));
djmeyers 0:06ee5f8a484a 277 memcpy(m2mresourceinstance_stub::value,value,sizeof(value));
djmeyers 0:06ee5f8a484a 278 m2mresourceinstance_stub::int_value = (uint32_t)sizeof(value);
djmeyers 0:06ee5f8a484a 279
djmeyers 0:06ee5f8a484a 280 m2mobjectinstance_stub::resource = new M2MResource(*m2mobject_stub::inst,
djmeyers 0:06ee5f8a484a 281 "name",
djmeyers 0:06ee5f8a484a 282 "type",
djmeyers 0:06ee5f8a484a 283 M2MResourceInstance::STRING,
djmeyers 0:06ee5f8a484a 284 false,
djmeyers 0:06ee5f8a484a 285 "name");
djmeyers 0:06ee5f8a484a 286
djmeyers 0:06ee5f8a484a 287 m2mresourceinstance_stub::bool_value = true;
djmeyers 0:06ee5f8a484a 288 m2mresource_stub::bool_value = false;
djmeyers 0:06ee5f8a484a 289 m2mbase_stub::void_value = malloc(20);
djmeyers 0:06ee5f8a484a 290
djmeyers 0:06ee5f8a484a 291 CHECK(firmware->resource_value_string(M2MFirmware::PackageUri) == test);
djmeyers 0:06ee5f8a484a 292 CHECK(firmware->resource_value_string(M2MFirmware::PackageName) == test);
djmeyers 0:06ee5f8a484a 293 CHECK(firmware->resource_value_string(M2MFirmware::PackageVersion) == test);
djmeyers 0:06ee5f8a484a 294 CHECK(firmware->resource_value_string(M2MFirmware::Package) == "");
djmeyers 0:06ee5f8a484a 295 CHECK(firmware->resource_value_string(M2MFirmware::Update) == "");
djmeyers 0:06ee5f8a484a 296 CHECK(firmware->resource_value_string(M2MFirmware::UpdateResult) == "");
djmeyers 0:06ee5f8a484a 297 CHECK(firmware->resource_value_string(M2MFirmware::UpdateSupportedObjects) == "");
djmeyers 0:06ee5f8a484a 298 CHECK(firmware->resource_value_string(M2MFirmware::State) == "");
djmeyers 0:06ee5f8a484a 299
djmeyers 0:06ee5f8a484a 300 free(m2mbase_stub::void_value);
djmeyers 0:06ee5f8a484a 301
djmeyers 0:06ee5f8a484a 302 delete m2mobjectinstance_stub::resource;
djmeyers 0:06ee5f8a484a 303 m2mobjectinstance_stub::resource = NULL;
djmeyers 0:06ee5f8a484a 304
djmeyers 0:06ee5f8a484a 305 free(m2mresourceinstance_stub::value);
djmeyers 0:06ee5f8a484a 306 m2mresourceinstance_stub::value = NULL;
djmeyers 0:06ee5f8a484a 307 }
djmeyers 0:06ee5f8a484a 308
djmeyers 0:06ee5f8a484a 309 void Test_M2MFirmware::test_is_resource_present()
djmeyers 0:06ee5f8a484a 310 {
djmeyers 0:06ee5f8a484a 311 m2mobjectinstance_stub::resource = new M2MResource(*m2mobject_stub::inst,
djmeyers 0:06ee5f8a484a 312 "name",
djmeyers 0:06ee5f8a484a 313 "type",
djmeyers 0:06ee5f8a484a 314 M2MResourceInstance::STRING,
djmeyers 0:06ee5f8a484a 315 false,
djmeyers 0:06ee5f8a484a 316 "name");
djmeyers 0:06ee5f8a484a 317 m2mresource_stub::bool_value = false;
djmeyers 0:06ee5f8a484a 318 CHECK(firmware->is_resource_present(M2MFirmware::PackageUri) == true);
djmeyers 0:06ee5f8a484a 319
djmeyers 0:06ee5f8a484a 320 delete m2mobjectinstance_stub::resource;
djmeyers 0:06ee5f8a484a 321 m2mobjectinstance_stub::resource = NULL;
djmeyers 0:06ee5f8a484a 322
djmeyers 0:06ee5f8a484a 323 CHECK(firmware->is_resource_present(M2MFirmware::PackageName) == false);
djmeyers 0:06ee5f8a484a 324 CHECK(firmware->is_resource_present(M2MFirmware::PackageVersion) == false);
djmeyers 0:06ee5f8a484a 325 }
djmeyers 0:06ee5f8a484a 326
djmeyers 0:06ee5f8a484a 327 void Test_M2MFirmware::test_per_resource_count()
djmeyers 0:06ee5f8a484a 328 {
djmeyers 0:06ee5f8a484a 329 m2mobjectinstance_stub::int_value = 1;
djmeyers 0:06ee5f8a484a 330 CHECK(firmware->per_resource_count(M2MFirmware::Package) == 1);
djmeyers 0:06ee5f8a484a 331
djmeyers 0:06ee5f8a484a 332 m2mobjectinstance_stub::int_value = 0;
djmeyers 0:06ee5f8a484a 333
djmeyers 0:06ee5f8a484a 334 CHECK(firmware->per_resource_count(M2MFirmware::PackageVersion) == 0);
djmeyers 0:06ee5f8a484a 335 }
djmeyers 0:06ee5f8a484a 336
djmeyers 0:06ee5f8a484a 337
djmeyers 0:06ee5f8a484a 338
djmeyers 0:06ee5f8a484a 339 void Test_M2MFirmware::test_total_resource_count()
djmeyers 0:06ee5f8a484a 340 {
djmeyers 0:06ee5f8a484a 341 M2MResource res(*m2mobject_stub::inst,
djmeyers 0:06ee5f8a484a 342 "name",
djmeyers 0:06ee5f8a484a 343 "type",
djmeyers 0:06ee5f8a484a 344 M2MResourceInstance::STRING,
djmeyers 0:06ee5f8a484a 345 false,
djmeyers 0:06ee5f8a484a 346 "name");
djmeyers 0:06ee5f8a484a 347
djmeyers 0:06ee5f8a484a 348 m2mobjectinstance_stub::resource_list.push_back(&res);
djmeyers 0:06ee5f8a484a 349 M2MResource res2(*m2mobject_stub::inst,
djmeyers 0:06ee5f8a484a 350 "name",
djmeyers 0:06ee5f8a484a 351 "type",
djmeyers 0:06ee5f8a484a 352 M2MResourceInstance::STRING,
djmeyers 0:06ee5f8a484a 353 false,
djmeyers 0:06ee5f8a484a 354 "name");
djmeyers 0:06ee5f8a484a 355
djmeyers 0:06ee5f8a484a 356 m2mobjectinstance_stub::resource_list.push_back(&res2);
djmeyers 0:06ee5f8a484a 357
djmeyers 0:06ee5f8a484a 358 CHECK(firmware->total_resource_count() == 2);
djmeyers 0:06ee5f8a484a 359
djmeyers 0:06ee5f8a484a 360 m2mobjectinstance_stub::resource_list.clear();
djmeyers 0:06ee5f8a484a 361 }
djmeyers 0:06ee5f8a484a 362
djmeyers 0:06ee5f8a484a 363 void Test_M2MFirmware::test_resource_value_buffer()
djmeyers 0:06ee5f8a484a 364 {
djmeyers 0:06ee5f8a484a 365 m2mresourceinstance_stub::bool_value = true;
djmeyers 0:06ee5f8a484a 366
djmeyers 0:06ee5f8a484a 367 uint8_t value[] = {"buffer"};
djmeyers 0:06ee5f8a484a 368 uint8_t *out_value = NULL;
djmeyers 0:06ee5f8a484a 369
djmeyers 0:06ee5f8a484a 370 m2mresourceinstance_stub::value = (uint8_t*)malloc((uint32_t)sizeof(value));
djmeyers 0:06ee5f8a484a 371 memset(m2mresourceinstance_stub::value,0,(uint32_t)sizeof(value));
djmeyers 0:06ee5f8a484a 372 memcpy(m2mresourceinstance_stub::value,value,sizeof(value));
djmeyers 0:06ee5f8a484a 373 m2mresourceinstance_stub::int_value = (uint16_t)sizeof(value);
djmeyers 0:06ee5f8a484a 374
djmeyers 0:06ee5f8a484a 375 m2mobjectinstance_stub::resource = new M2MResource(*m2mobject_stub::inst,
djmeyers 0:06ee5f8a484a 376 "name",
djmeyers 0:06ee5f8a484a 377 "type",
djmeyers 0:06ee5f8a484a 378 M2MResourceInstance::STRING,
djmeyers 0:06ee5f8a484a 379 false,
djmeyers 0:06ee5f8a484a 380 "name");
djmeyers 0:06ee5f8a484a 381
djmeyers 0:06ee5f8a484a 382 CHECK(firmware->resource_value_buffer(M2MFirmware::Package,out_value) != 0);
djmeyers 0:06ee5f8a484a 383
djmeyers 0:06ee5f8a484a 384 CHECK(firmware->resource_value_buffer(M2MFirmware::PackageName,out_value) == 0);
djmeyers 0:06ee5f8a484a 385 CHECK(firmware->resource_value_buffer(M2MFirmware::PackageUri,out_value) == 0);
djmeyers 0:06ee5f8a484a 386 CHECK(firmware->resource_value_buffer(M2MFirmware::PackageVersion,out_value) == 0);
djmeyers 0:06ee5f8a484a 387 CHECK(firmware->resource_value_buffer(M2MFirmware::Update,out_value) == 0);
djmeyers 0:06ee5f8a484a 388 CHECK(firmware->resource_value_buffer(M2MFirmware::State,out_value) == 0);
djmeyers 0:06ee5f8a484a 389 CHECK(firmware->resource_value_buffer(M2MFirmware::UpdateResult,out_value) == 0);
djmeyers 0:06ee5f8a484a 390 CHECK(firmware->resource_value_buffer(M2MFirmware::UpdateSupportedObjects,out_value) == 0);
djmeyers 0:06ee5f8a484a 391
djmeyers 0:06ee5f8a484a 392
djmeyers 0:06ee5f8a484a 393 free(out_value);
djmeyers 0:06ee5f8a484a 394 out_value = NULL;
djmeyers 0:06ee5f8a484a 395
djmeyers 0:06ee5f8a484a 396 delete m2mobjectinstance_stub::resource;
djmeyers 0:06ee5f8a484a 397 m2mobjectinstance_stub::resource = NULL;
djmeyers 0:06ee5f8a484a 398
djmeyers 0:06ee5f8a484a 399 free(m2mresourceinstance_stub::value);
djmeyers 0:06ee5f8a484a 400 m2mresourceinstance_stub::value = NULL;
djmeyers 0:06ee5f8a484a 401 }
djmeyers 0:06ee5f8a484a 402
djmeyers 0:06ee5f8a484a 403 void Test_M2MFirmware::test_set_resource_value_buffer()
djmeyers 0:06ee5f8a484a 404 {
djmeyers 0:06ee5f8a484a 405 m2mresourceinstance_stub::bool_value = true;
djmeyers 0:06ee5f8a484a 406
djmeyers 0:06ee5f8a484a 407 uint8_t value[] = {"value"};
djmeyers 0:06ee5f8a484a 408 uint16_t length = (uint16_t)sizeof(value);
djmeyers 0:06ee5f8a484a 409
djmeyers 0:06ee5f8a484a 410 m2mobjectinstance_stub::resource = new M2MResource(*m2mobject_stub::inst,
djmeyers 0:06ee5f8a484a 411 "name",
djmeyers 0:06ee5f8a484a 412 "type",
djmeyers 0:06ee5f8a484a 413 M2MResourceInstance::STRING,
djmeyers 0:06ee5f8a484a 414 false,
djmeyers 0:06ee5f8a484a 415 "name");
djmeyers 0:06ee5f8a484a 416
djmeyers 0:06ee5f8a484a 417 CHECK(firmware->set_resource_value(M2MFirmware::Package,value,length) == true);
djmeyers 0:06ee5f8a484a 418 CHECK(firmware->set_resource_value(M2MFirmware::PackageName,value,length) == false);
djmeyers 0:06ee5f8a484a 419 CHECK(firmware->set_resource_value(M2MFirmware::PackageUri,value,length) == false);
djmeyers 0:06ee5f8a484a 420 CHECK(firmware->set_resource_value(M2MFirmware::PackageVersion,value,length) == false);
djmeyers 0:06ee5f8a484a 421 CHECK(firmware->set_resource_value(M2MFirmware::State,value,length) == false);
djmeyers 0:06ee5f8a484a 422 CHECK(firmware->set_resource_value(M2MFirmware::Update,value,length) == false);
djmeyers 0:06ee5f8a484a 423 CHECK(firmware->set_resource_value(M2MFirmware::UpdateResult,value,length) == false);
djmeyers 0:06ee5f8a484a 424 CHECK(firmware->set_resource_value(M2MFirmware::UpdateSupportedObjects,value,length) == false);
djmeyers 0:06ee5f8a484a 425
djmeyers 0:06ee5f8a484a 426 delete m2mobjectinstance_stub::resource;
djmeyers 0:06ee5f8a484a 427 m2mobjectinstance_stub::resource = NULL;
djmeyers 0:06ee5f8a484a 428 }
djmeyers 0:06ee5f8a484a 429
djmeyers 0:06ee5f8a484a 430 void Test_M2MFirmware::test_resource_name()
djmeyers 0:06ee5f8a484a 431 {
djmeyers 0:06ee5f8a484a 432 STRCMP_EQUAL(firmware->resource_name(M2MFirmware::Package), "0");
djmeyers 0:06ee5f8a484a 433 STRCMP_EQUAL(firmware->resource_name(M2MFirmware::PackageUri), "1");
djmeyers 0:06ee5f8a484a 434 STRCMP_EQUAL(firmware->resource_name(M2MFirmware::Update), "2");
djmeyers 0:06ee5f8a484a 435 STRCMP_EQUAL(firmware->resource_name(M2MFirmware::State), "3");
djmeyers 0:06ee5f8a484a 436 STRCMP_EQUAL(firmware->resource_name(M2MFirmware::UpdateSupportedObjects), "4");
djmeyers 0:06ee5f8a484a 437 STRCMP_EQUAL(firmware->resource_name(M2MFirmware::UpdateResult), "5");
djmeyers 0:06ee5f8a484a 438 STRCMP_EQUAL(firmware->resource_name(M2MFirmware::PackageName), "6");
djmeyers 0:06ee5f8a484a 439 STRCMP_EQUAL(firmware->resource_name(M2MFirmware::PackageVersion), "7");
djmeyers 0:06ee5f8a484a 440 }