Files
c-websocket-server/tests/json.test.c

20 lines
1011 B
C

/* test(json-c): Unit tests for data casting */
#include "../include/json.h"
#include "../include/macros.h"
#include "../include/libtap.h"
void run_json_tests(int argc, char* argv[], char* env[]) {
/* Unit test for parsing JSON object*/
printf("\033[0;35m--Tests for parsing JSON object--\033[0;0m\n");
char* json_string = "{ \"auth\": 1, \"payload\": { \"sensorId\": \"LDR_1\", \"sensorData\": \"55\" } }";
Envelope envelope;
int status_code = parse_envelope_json(json_string, &envelope);
dbg("status_code(%d)\nEnvelope { auth: %s, payload: Message { sensorId: %s, sensorData: %s } }\n", status_code, envelope.auth, envelope.payload.sensorId, envelope.payload.sensorData);
ok(status_code == 0, "`parse_envelope_json` returned `json_string` casted as `Envelope`.");
like(envelope.payload.sensorId, "LDR_1", "`envelope.payload.sensorId is the same as `json_string` (`LDR_1`)");
like(envelope.payload.sensorData, "55", "`envelope.payload.sensorData is the same as `json_string` (`55`)");
}