< Summary - Backend C Tests - Coverage Report (WSL)

Information
Class: test_machine_handler_c
Assembly: src.backend.tests.unit
File(s): ./src/backend/tests/unit/test_machine_handler.c
Line coverage
84%
Covered lines: 22
Uncovered lines: 4
Coverable lines: 26
Total lines: 51
Line coverage: 84.6%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Coverage history

Coverage history 0 25 50 75 100 2/18/2026 - 10:50:55 PM Line coverage: 84.6% (22/26) Total lines: 51

File(s)

./src/backend/tests/unit/test_machine_handler.c

#LineLine coverage
 1/* test_machine_handler_suite.c */
 2#include <stdarg.h>
 3#include <stddef.h>
 4#include <setjmp.h>
 5#include <cmocka.h>
 6#include <string.h>
 7#include "api/handlers/machine_handler.h"
 8
 9// Mock logs to avoid linking errors
 010void LOG_INFO(const char *f, ...) {
 11  (void)f;
 012}
 13
 014void LOG_ERROR(const char *f, ...) {
 15  (void)f;
 016}
 17
 118static void test_get_machines_success(void **state) {
 19  (void)state;
 120  HttpRequest req = { .method = "GET" };
 121  HttpResponse res = { 0 };
 122  handle_machine_request(&req, &res);
 123  assert_int_equal(res.status_code, 200);
 124  assert_non_null(strstr(res.body, "CNC Machine"));
 125}
 26
 127static void test_post_machines_success(void **state) {
 28  (void)state;
 129  HttpRequest req = { .method = "POST" };
 130  HttpResponse res = { 0 };
 131  handle_machine_request(&req, &res);
 132  assert_int_equal(res.status_code, 201);
 133}
 34
 135static void test_unsupported_method_branch(void **state) {
 36  (void)state;
 137  HttpRequest req = { .method = "DELETE" }; // Triggers the final implicit 'else'
 138  HttpResponse res = { .status_code = -1 };
 139  handle_machine_request(&req, &res);
 40  // Since code has no 'else' for other methods, status remains unchanged
 141  assert_int_equal(res.status_code, -1);
 142}
 43
 144int main(void) {
 145  const struct CMUnitTest tests[] = {
 46    cmocka_unit_test(test_get_machines_success),
 47    cmocka_unit_test(test_post_machines_success),
 48    cmocka_unit_test(test_unsupported_method_branch),
 49  };
 150  return cmocka_run_group_tests(tests, NULL, NULL);
 51}

Methods/Properties