Skip to content

Enhanced Reports#85

Open
sivaprabug wants to merge 3 commits into
DMTF:mainfrom
sivaprabug:feature-enhancement/reports-spreadsheet-support
Open

Enhanced Reports#85
sivaprabug wants to merge 3 commits into
DMTF:mainfrom
sivaprabug:feature-enhancement/reports-spreadsheet-support

Conversation

@sivaprabug
Copy link
Copy Markdown

@sivaprabug sivaprabug commented May 2, 2026

  1. Iteration-1

Create timestamped run folders and suppress warnings

  • Each run now creates a subdirectory under the report directory named YYYY-MM-DD-HH-SS (e.g. reports/2026-05-02-18-46), keeping the HTML report and debug log for each run isolated.
  • Suppress RequestsDependencyWarning emitted by the requests library on import, which was cluttering the tool's console output.
image

Reports :

image
  1. Iteration-2
  • Report output directory is now organised into timestamped sub-folders (YYYY-MM-DD-HH-SS) under the configured report directory
  • RequestsDependencyWarning from the requests library is suppressed at startup
  • HTML report redesigned with a responsive, enterprise-grade layout:
  • Sticky header with DMTF Redfish logo, tool version, and generation timestamp
  • Info cards for target system, credentials, product, and hardware details
  • Colour-coded summary counter cards (PASS / WARN / FAIL / NOT TESTED)
  • Collapsible category sections and collapsible test rows
  • Pill-style result badges (PASS / WARN / FAIL / NOT TESTED)
  • Expand All / Collapse All toolbar buttons
  • Scroll-to-top button that appears after scrolling 400 px
  • Excel (.xlsx) report generated alongside the HTML report:
  • Summary sheet — title, metadata, and colour-coded counter table; grid lines hidden
  • Results sheet — one row per result with Category, Test Name, Description, Operation, Result (colour-coded), and Message columns; frozen header row; grid lines hidden
  • Console summary output changed from a single comma-separated line to a formatted ASCII table with colour-coded columns
  • Blank lines added between console output entries (Summary, HTML Report, Excel Report, Debug Log) for readability
  • openpyxl added to requirements.txt
sivaprabug$ rf_use_case_checkers -r https://10.0.139.128 -u root -p 0penBmc
Redfish Use Case Checkers, Version 2.0.8

Performing Account Management use cases...
-- Running the User Count test...
-- Running the Add User test...
-- Running the Enable User test...
-- Running the Disable Password Change Required test...
-- Running the Credential Check test...
-- Running the Change Role test...
-- Running the Delete User test...

Performing Power Control use cases...
-- Running the System Count test...
-- Running the Reset Type test...
-- Running the Reset Operation test...

Performing Boot Override use cases...
-- Running the System Count test...
-- Running the Boot Override Check test...
-- Running the Continuous Boot Override test...
-- Running the One-Time Boot Override test...
-- Running the One-Time Boot Override Check test...
-- Running the Disable Boot Override test...

Performing Manager Ethernet Interfaces use cases...
-- Running the Ethernet Interface Count test...
-- Running the VLAN Check test...
-- Running the Addresses Check test...

Performing Query Parameters use cases...
-- Running the Filter Query test...
-- Running the Select Query test...
-- Running the Expand Query test...
-- Running the Only Query test...


+--------------+--------------+--------------+--------------+
|     PASS     |     WARN     |     FAIL     |  NOT TESTED  |
+--------------+--------------+--------------+--------------+
|     141      |      1       |      10      |      21      |
+--------------+--------------+--------------+--------------+


HTML Report:  reports/2026-05-02-21-03/RedfishUseCaseCheckersReport_05_02_2026_210203.html

Excel Report: reports/2026-05-02-21-03/RedfishUseCaseCheckersReport_05_02_2026_210203.xlsx

Debug Log:    reports/2026-05-02-21-03/RedfishUseCaseCheckersDebug_05_02_2026_210203.log

HTML Report: RedfishUseCaseCheckersReport_05_02_2026_210203.html

Excel Report: RedfishUseCaseCheckersReport_05_02_2026_210203.xlsx

Debug Log: RedfishUseCaseCheckersDebug_05_02_2026_210203.log

Screenshots:

Spread Sheet :

Summary :

image

Results :

image

HTML Report :

Expanded Report:

image

Collapsed Report :

image

CC: @jautor @tomasg2012 @billdodd @mraineri

sivaprabug added 2 commits May 2, 2026 18:50
- Each run now creates a subdirectory under the report directory
  named YYYY-MM-DD-HH-SS (e.g. reports/2026-05-02-18-46), keeping
  the HTML report and debug log for each run isolated.
- Suppress RequestsDependencyWarning emitted by the requests library
  on import, which was cluttering the tool's console output.

Signed-off-by: Sivaprabu Ganesan <sivaprabug@ami.com>
- Create YYYY-MM-DD-HH-SS subfolder under report dir on each run so
  each execution's HTML report, Excel file, and debug log are isolated

- Suppress RequestsDependencyWarning from requests on startup

- Rewrite HTML report with responsive enterprise layout: sticky header,
  info cards, colour-coded summary counters, collapsible sections and
  test rows, pill badges, Expand/Collapse All buttons, scroll-to-top

- Add Excel (.xlsx) report alongside HTML: Summary sheet with metadata
  and colour-coded counters (grid lines hidden), Results sheet with
  frozen header and per-result colour coding (grid lines hidden)

- Replace single-line console summary with colour-coded ASCII table

- Add blank lines between console output entries for readability

- Add openpyxl to requirements.txt

Signed-off-by: Sivaprabu Ganesan <sivaprabug@ami.com>
@sivaprabug sivaprabug marked this pull request as ready for review May 2, 2026 15:46
@sivaprabug sivaprabug marked this pull request as draft May 2, 2026 15:53
@sivaprabug sivaprabug marked this pull request as ready for review May 6, 2026 09:17
import colorama
import logging
import warnings
warnings.filterwarnings("ignore", category=Warning, module="requests")
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's the purpose of this? We haven't needed to suppress warnings from requests in other projects.

no_test_end,
)

col_w = 14
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Noting for myself: If we go with this change, we should apply the same output to other tools. Will see if others like the output change.

@mraineri
Copy link
Copy Markdown
Contributor

mraineri commented May 8, 2026

Could we align to the same layout and style that was applied to the Redfish-Service-Validator? Something like this...

image

@sivaprabug
Copy link
Copy Markdown
Author

Could we align to the same layout and style that was applied to the Redfish-Service-Validator? Something like this...

image

Both use case diff i will try to to align with Redfish-Service-Validator theme

- Two-column layout: sticky sidebar + scrollable test content

- Enterprise-style white sidebar with key-value info rows

- 2×2 stat grid and animated stacked pass-rate progress bar

- Inline result chips per test; aggregate badges per section

- Color-coded left border on test blocks by worst result status

- Add per-test inline summary chips (✓ N Pass / ✗ N Fail / ...)

- Add aggregate count badges to each section header

- Add 4px status-coded left border per test block (fail/warn/pass)

- Add animated pass-rate progress bar in sidebar (0→actual% on load)

- Move system info and results summary into a sticky 240px sidebar

- Dedicate main content area exclusively to test sections

- Style sidebar with enterprise white theme and accent headings

- Add 2×2 solid-color stat blocks for pass/warn/fail/skip counts

Signed-off-by: Sivaprabu Ganesan <sivaprabug@ami.com>
@sivaprabug
Copy link
Copy Markdown
Author

sivaprabug@ubuntu:upstream_to_dmtf/Redfish-Use-Case-Checkers$ rf_use_case_checkers -r https://10.0.99.46 -u root -p 0penBmc
Redfish Use Case Checkers, Version 2.0.8

Performing Account Management use cases...
-- Running the User Count test...
-- Running the Add User test...
-- Running the Enable User test...
-- Running the Disable Password Change Required test...
-- Running the Credential Check test...
-- Running the Change Role test...
-- Running the Delete User test...

Performing Power Control use cases...
-- Running the System Count test...
-- Running the Reset Type test...
-- Running the Reset Operation test...

Performing Boot Override use cases...
-- Running the System Count test...
-- Running the Boot Override Check test...
-- Running the Continuous Boot Override test...
-- Running the One-Time Boot Override test...
-- Running the One-Time Boot Override Check test...
-- Running the Disable Boot Override test...

Performing Manager Ethernet Interfaces use cases...
-- Running the Ethernet Interface Count test...
-- Running the VLAN Check test...
-- Running the Addresses Check test...

Performing Query Parameters use cases...
-- Running the Filter Query test...
-- Running the Select Query test...
-- Running the Expand Query test...
-- Running the Only Query test...


+--------------+--------------+--------------+--------------+
|     PASS     |     WARN     |     FAIL     |  NOT TESTED  |
+--------------+--------------+--------------+--------------+
|     141      |      1       |      10      |      21      |
+--------------+--------------+--------------+--------------+


HTML Report:  reports/2026-05-17-17-41/RedfishUseCaseCheckersReport_05_17_2026_175141.html

Excel Report: reports/2026-05-17-17-41/RedfishUseCaseCheckersReport_05_17_2026_175141.xlsx

Debug Log:    reports/2026-05-17-17-41/RedfishUseCaseCheckersDebug_05_17_2026_175141.log

Here is the markdown summary ready for a PR description or CHANGELOG entry:


HTML Report Enhancements

1. Two-Column Layout (Sidebar + Main Content)

The report now uses a sticky sidebar + scrollable main content layout instead of a single-column page.

  • Sidebar (240 px, fixed): Holds all System Under Test metadata and Results Summary — always visible while scrolling through test results.
  • Main content: Dedicated entirely to test sections, giving results more horizontal space.

2. Enterprise-Style Sidebar

The sidebar is styled for professional/enterprise reports:

  • White background with a subtle right-side box shadow.
  • Section headings use a blue left-accent border (var(--accent)) on a tinted background for clear visual hierarchy.
  • Info rows (Host / User / Product / Manufacturer / Model / Firmware) display as clean key–value pairs with uppercase labels.
  • Results Summary renders as a 2 × 2 grid of solid-color stat blocks (green / amber / red / slate-gray) with large count numbers and white text.

3. Animated Pass-Rate Progress Bar

A new Pass Rate section appears at the bottom of the sidebar:

  • Displays the overall pass-rate percentage (e.g. 92.3%) computed from live DOM values.
  • A stacked segmented bar (Pass / Warning / Fail / Not Tested) animates from 0 % → actual % on every page open using a 1.2 s ease-in-out CSS transition.
  • Percentage labels below each segment animate in sync with their segment.
  • Zero-count segments and labels are hidden automatically.

4. Section-Level Aggregate Count Badges

Each collapsible section header now shows pill-shaped count badges on the right side, giving an at-a-glance summary without expanding:

▶ Manager Ethernet Interfaces          ✓ 109   ✗ 4

Badges are rendered as semi-transparent overlays on the dark section header.


5. Inline Result Summary Chips per Test

Each test row now shows up to 4 compact pill chips (one per status type) directly in the heading row — visible without expanding:

✓ 95 Pass   ✗ 2 Fail

Previously, users had to expand every test to see its results. Now the pass/fail distribution is immediately visible at a glance.


6. Status-Coded Left Border per Test Block

Each test block receives a 4 px colored left border based on its worst result:

Border color Meaning
Red (#e53e3e) At least one Fail
Amber (#d69e2e) At least one Warning, no Fail
Green (#38a169) All results Pass

This lets users scan a long section and spot failing tests instantly without reading badges.

RedfishUseCaseCheckersDebug_05_17_2026_175141.log

RedfishUseCaseCheckersReport_05_17_2026_175141.html

RedfishUseCaseCheckersReport_05_17_2026_175141.xlsx

HTML report :

image image image

@sivaprabug
Copy link
Copy Markdown
Author

Guys if you have time kindly review this:

CC: @jautor @tomasg2012 @billdodd @mraineri

@mraineri
Copy link
Copy Markdown
Contributor

@sivaprabug would it be possible to start from the same template that's used by the Redfish Service Validator? There are slight discrepancies between the two in terms of coloring and fonts.

@sivaprabug
Copy link
Copy Markdown
Author

@sivaprabug would it be possible to start from the same template that's used by the Redfish Service Validator? There are slight discrepancies between the two in terms of coloring and fonts.

Sure i will verify and update

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants