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

This commit is contained in:
NADAL Jean-Baptiste
2020-01-08 12:36:40 +01:00
parent c3891cd0c2
commit dd4f3ce3bb
7 changed files with 201 additions and 33 deletions

View File

@@ -1,5 +1,5 @@
/*!
* test_sprinkler.c
* test_devices.c
*
* Copyright (c) 2015-2020, NADAL Jean-Baptiste. All rights reserved.
*
@@ -26,17 +26,14 @@
// 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 kDeviceTestNameFalse "{ \"id\": 1, \"name\": \"test_name\", \"state\": false }"
#define kDeviceTestNameTrue "{ \"id\": 1, \"name\": \"test_name\", \"state\": true }"
/*--------------------------------------------------------------------------*/
void device_create_set_state_remove(const char *capability)
void device_create_set_state_remove(const char *capability, const char *test_name_true, const char *test_name_false)
{
struct json_object *root_node;
devices_manager_t *dm;
int ret;
char *sprinkler_serialized;
char *device_serialized;
dm = devices_manager_new();
ASSERT_NOT_NULL(dm);
@@ -50,9 +47,9 @@ void device_create_set_state_remove(const char *capability)
ASSERT_EQUAL_INT(ret, 0);
// Check Objets.
sprinkler_serialized = devices_manager_get_by_id(dm, capability, 1);
ASSERT_EQUAL_STR(sprinkler_serialized, kDeviceTestNameFalse);
free(sprinkler_serialized);
device_serialized = devices_manager_get_by_id(dm, capability, 1);
ASSERT_EQUAL_STR(device_serialized, test_name_false);
free(device_serialized);
// Change the State.
root_node = json_object_new_object();
@@ -65,9 +62,9 @@ void device_create_set_state_remove(const char *capability)
json_object_put(root_node);
// Check Objets.
sprinkler_serialized = devices_manager_get_by_id(dm, capability, 1);
ASSERT_EQUAL_STR(sprinkler_serialized, kDeviceTestNameTrue);
free(sprinkler_serialized);
device_serialized = devices_manager_get_by_id(dm, capability, 1);
ASSERT_EQUAL_STR(device_serialized, test_name_true);
free(device_serialized);
// Free the Object.
devices_manager_free(dm);
@@ -115,7 +112,7 @@ void device_get_by_id_error_case(const char *capability)
struct json_object *root_node;
devices_manager_t *dm;
int ret;
char *sprinkler_serialized;
char *device_serialized;
dm = devices_manager_new();
ASSERT_NOT_NULL(dm);
@@ -127,16 +124,16 @@ void device_get_by_id_error_case(const char *capability)
ASSERT_EQUAL_INT(ret, 0);
// dm is NULL
sprinkler_serialized = devices_manager_get_by_id(NULL, capability, 1);
ASSERT_NULL(sprinkler_serialized);
device_serialized = devices_manager_get_by_id(NULL, capability, 1);
ASSERT_NULL(device_serialized);
// unknown capability
sprinkler_serialized = devices_manager_get_by_id(dm, "", 1);
ASSERT_NULL(sprinkler_serialized);
device_serialized = devices_manager_get_by_id(dm, "", 1);
ASSERT_NULL(device_serialized);
// unknown id
sprinkler_serialized = devices_manager_get_by_id(dm, capability, 7);
ASSERT_NULL(sprinkler_serialized);
device_serialized = devices_manager_get_by_id(dm, capability, 7);
ASSERT_NULL(device_serialized);
json_object_put(root_node);