Add test for outlets
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
NADAL Jean-Baptiste
2020-01-08 14:21:10 +01:00
parent dd4f3ce3bb
commit 367d4aea64
6 changed files with 52 additions and 29 deletions

View File

@@ -116,16 +116,45 @@ int create_outlet(devices_manager_t *dm, struct json_object *node)
int remove_outlet(devices_manager_t *dm, uint16_t id)
{
#warning "TODO"
qlist_obj_t obj;
outlet_dio_t *outlet_dio;
int position = 0;
memset((void *)&obj, 0, sizeof(obj));
while (qlist_getnext(dm->outlets, &obj, true))
{
outlet_dio = obj.data;
if (outlet_dio->device->id == id)
{
qlist_removeat(dm->outlets, position);
return 0;
}
position++;
}
return -1;
}
/*--------------------------------------------------------------------------*/
int update_outlet(devices_manager_t *dm, uint16_t id, struct json_object *node)
{
#warning "TODO"
return 0;
qlist_obj_t obj;
outlet_dio_t *outlet_dio;
memset((void *)&obj, 0, sizeof(obj));
while (qlist_getnext(dm->outlets, &obj, false))
{
outlet_dio = obj.data;
if (outlet_dio->device->id == id)
{
return outlet_dio_from_json(outlet_dio, node);
}
}
return -1;
}
/*--------------------------------------------------------------------------*/

View File

@@ -48,6 +48,7 @@ void device_create_set_state_remove(const char *capability, const char *test_nam
// Check Objets.
device_serialized = devices_manager_get_by_id(dm, capability, 1);
// printf ("device: %s\n", device_serialized);
ASSERT_EQUAL_STR(device_serialized, test_name_false);
free(device_serialized);

View File

@@ -38,7 +38,7 @@ QUNIT_START("Test Data Model");
/*--------------------------------------------------------------------------*/
TEST("devices_manager create and free")
TEST("devices_manager create and free\t")
{
devices_manager_t *dm;
@@ -50,27 +50,18 @@ TEST("devices_manager create and free")
#include "test_devices.c"
#include "test_sprinkler.c"
#include "test_shutter.c"
//#include "test_outlet.c"
#include "test_outlet.c"
#if 0
devices_manager_t
kOutletEntry
kShutterEntry
kSprinklerEntry
extern int devices_manager_load(devices_manager_t *dm, char *config_path);
extern int devices_manager_save(devices_manager_t *dm);
extern char *devices_manager_get(devices_manager_t *dm, const char *capability);
extern char *devices_manager_get_by_id(devices_manager_t *dm, const char *capability, uint32_t id);
extern int devices_manager_set(devices_manager_t *dm, const char *capability, struct json_object *node);
extern int devices_manager_set_state(devices_manager_t *dm, const char *capability, int id, bool state);
extern int devices_manager_create(devices_manager_t *dm, const char *capability, struct json_object *node);
extern int devices_manager_update(devices_manager_t *dm, const char *capability, struct json_object *node);
extern int devices_manager_delete(devices_manager_t *dm, const char *capability, struct json_object *node);
#endif

View File

@@ -26,30 +26,33 @@
// This is an independent project of an individual developer. Dear PVS-Studio, please check it.
// PVS-Studio Static Code Analyzer for C, C++, C#, and Java: http://www.viva64.com
#define kOutletTestNameTrue "{ \"id\": 1, \"name\": \"test_name\", \"state\": true, \"zone\": \"\", \"sender\": 0, \"switch\": 0 }"
#define kOutletTestNameFalse "{ \"id\": 1, \"name\": \"test_name\", \"state\": false, \"zone\": \"\", \"sender\": 0, \"switch\": 0 }"
/*--------------------------------------------------------------------------*/
TEST("Outlet - create set_state remove.")
TEST("Outlet - create set_state remove\t")
{
device_create_set_state_remove(kOutletEntry);
device_create_set_state_remove(kOutletEntry, kOutletTestNameTrue, kOutletTestNameFalse);
}
/*--------------------------------------------------------------------------*/
TEST("Outlet - create - Error case")
TEST("Outlet - create - Error case\t")
{
device_create_error_case(kOutletEntry);
}
/*--------------------------------------------------------------------------*/
TEST("Outlet - get_by_id - Error case")
TEST("Outlet - get_by_id - Error case\t")
{
device_get_by_id_error_case(kOutletEntry);
}
/*--------------------------------------------------------------------------*/
TEST("Outlet - update - Error case")
TEST("Outlet - update - Error case\t")
{
device_get_by_id_error_case(kOutletEntry);
}

View File

@@ -26,34 +26,33 @@
// This is an independent project of an individual developer. Dear PVS-Studio, please check it.
// PVS-Studio Static Code Analyzer for C, C++, C#, and Java: http://www.viva64.com
#define kShutterTestNameTrue "{ \"id\": 1, \"name\": \"test_name\", \"state\": true, \"zone\": \"\", \"sender\": 0, \"switch\": 0, \"speed_up\": 0, \"speed_down\": 0 }"
#define kShutterTestNameFalse "{ \"id\": 1, \"name\": \"test_name\", \"state\": false, \"zone\": \"\", \"sender\": 0, \"switch\": 0, \"speed_up\": 0, \"speed_down\": 0 }"
/*--------------------------------------------------------------------------*/
TEST("Shutter - create set_state remove.")
TEST("Shutter - create set_state remove\t")
{
device_create_set_state_remove(kShutterEntry, kShutterTestNameTrue, kShutterTestNameFalse);
}
/*--------------------------------------------------------------------------*/
TEST("Shutter - create - Error case")
TEST("Shutter - create - Error case\t")
{
device_create_error_case(kShutterEntry);
}
/*--------------------------------------------------------------------------*/
TEST("Shutter - get_by_id - Error case")
TEST("Shutter - get_by_id - Error case\t")
{
device_get_by_id_error_case(kShutterEntry);
}
/*--------------------------------------------------------------------------*/
TEST("Shutter - update - Error case")
TEST("Shutter - update - Error case\t")
{
device_get_by_id_error_case(kShutterEntry);
}

View File

@@ -32,28 +32,28 @@
/*--------------------------------------------------------------------------*/
TEST("Sprinkler - create set_state remove.")
TEST("Sprinkler - create set_state remove\t")
{
device_create_set_state_remove(kSprinklerEntry, kSprinklerTestNameTrue, kSprinklerTestNameFalse);
}
/*--------------------------------------------------------------------------*/
TEST("Sprinkler - create - Error case")
TEST("Sprinkler - create - Error case\t")
{
device_create_error_case(kSprinklerEntry);
}
/*--------------------------------------------------------------------------*/
TEST("Sprinkler - get_by_id - Error case")
TEST("Sprinkler - get_by_id - Error case\t")
{
device_get_by_id_error_case(kSprinklerEntry);
}
/*--------------------------------------------------------------------------*/
TEST("Sprinkler - update - Error case")
TEST("Sprinkler - update - Error case\t")
{
device_get_by_id_error_case(kSprinklerEntry);
}