< Summary - Backend C Tests - Coverage Report

Information
Class: report_handler_c
Assembly: src.backend.api.handlers
File(s): C:\Users\yagiz\Desktop\Project\smart-maintenance-suite\src\backend\api\handlers\report_handler.c
Line coverage
68%
Covered lines: 11
Uncovered lines: 5
Coverable lines: 16
Total lines: 36
Line coverage: 68.7%
Branch coverage
50%
Covered branches: 3
Total branches: 6
Branch coverage: 50%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Coverage history

Coverage history 0 25 50 75 100

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
handle_report_request50%0068.75%

File(s)

C:\Users\yagiz\Desktop\Project\smart-maintenance-suite\src\backend\api\handlers\report_handler.c

#LineLine coverage
 1#include "report_handler.h"
 2#include "../../database/report_service.h"
 3#include "../../database/cJSON.h"
 4#include <string.h>
 5#include <stdlib.h>
 6#include <stdio.h>
 7
 8// Original mock functions removed. Using real service implementations from database/report_service.c
 9
 210void handle_report_request(HttpRequest *req, HttpResponse *res) {
 11  char *data;
 12
 213  if (strstr(req->path, "csv")) {
 14    // Return CSV
 015    if (strstr(req->path, "maintenance")) {
 016      data = generate_maintenance_csv_report();
 17    } else {
 018      data = generate_inventory_csv_report();
 19    }
 020    res->status_code = 200;
 021    strcpy(res->content_type, "text/csv");
 22  } else {
 23    // Return XML
 224    if (strstr(req->path, "maintenance")) {
 125      data = generate_maintenance_xml_report();
 26    } else {
 127      data = generate_inventory_xml_report();
 28    }
 229    res->status_code = 200;
 230    strcpy(res->content_type, "application/xml");
 31  }
 32
 233  strncpy(res->body, data, 8191);
 234  res->body[8191] = '\0';
 235  free(data);
 236}

Methods/Properties

handle_report_request