Markdown Reporter
Markdown report generator for ANTA test results.
ANTAReport
¶
ANTAReport(mdfile: TextIO, results: ResultManager)
Bases: MDReportBase
Generate the # ANTA Report
section of the markdown report.
generate_section
¶
generate_section() -> None
Generate the # ANTA Report
section of the markdown report.
Source code in anta/reporter/md_reporter.py
148 149 150 151 152 |
|
MDReportBase
¶
MDReportBase(mdfile: TextIO, results: ResultManager)
Bases: ABC
Base class for all sections subclasses.
Every subclasses must implement the generate_section
method that uses the ResultManager
object
to generate and write content to the provided markdown file.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
mdfile
|
TextIO
|
An open file object to write the markdown data into. |
required |
results
|
ResultManager
|
The ResultsManager instance containing all test results. |
required |
generate_heading_name
¶
generate_heading_name() -> str
Generate a formatted heading name based on the class name.
Returns:
Type | Description |
---|---|
str
|
Formatted header name. |
Example
ANTAReport
will becomeANTA Report
.TestResultsSummary
will becomeTest Results Summary
.
Source code in anta/reporter/md_reporter.py
65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
|
generate_rows
¶
Generate the rows of a markdown table for a specific report section.
Subclasses can implement this method to generate the content of the table rows.
Source code in anta/reporter/md_reporter.py
57 58 59 60 61 62 63 |
|
generate_section
abstractmethod
¶
generate_section() -> None
Abstract method to generate a specific section of the markdown report.
Must be implemented by subclasses.
Source code in anta/reporter/md_reporter.py
48 49 50 51 52 53 54 55 |
|
safe_markdown
¶
Escape markdown characters in the text to prevent markdown rendering issues.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
text
|
str | None
|
The text to escape markdown characters from. |
required |
Returns:
Type | Description |
---|---|
str
|
The text with escaped markdown characters. |
Source code in anta/reporter/md_reporter.py
124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 |
|
write_heading
¶
write_heading(heading_level: int) -> None
Write a markdown heading to the markdown file.
The heading name used is the class name.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
heading_level
|
int
|
The level of the heading (1-6). |
required |
Example
## Test Results Summary
Source code in anta/reporter/md_reporter.py
104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 |
|
write_table
¶
Write a markdown table with a table heading and multiple rows to the markdown file.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
table_heading
|
list[str]
|
List of strings to join for the table heading. |
required |
last_table
|
bool
|
Flag to determine if it’s the last table of the markdown file to avoid unnecessary new line. Defaults to False. |
False
|
Source code in anta/reporter/md_reporter.py
88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 |
|
MDReportGenerator
¶
Class responsible for generating a Markdown report based on the provided ResultManager
object.
It aggregates different report sections, each represented by a subclass of MDReportBase
,
and sequentially generates their content into a markdown file.
This class provides two methods for generating the report:
-
generate
: Uses a single result manager instance to generate all sections defined in theDEFAULT_SECTIONS
class variable list. -
generate_sections
: A custom list of sections is provided. Each section uses its own dedicated result manager instance, allowing greater flexibility or isolation between section generations.
generate
classmethod
¶
generate(results: ResultManager, md_filename: Path) -> None
Generate the sections of the markdown report defined in DEFAULT_SECTIONS using a single result manager instance for all sections.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
results
|
ResultManager
|
The ResultsManager instance containing all test results. |
required |
md_filename
|
Path
|
The path to the markdown file to write the report into. |
required |
Source code in anta/reporter/md_reporter.py
284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 |
|
generate_sections
classmethod
¶
generate_sections(
sections: list[
tuple[type[MDReportBase], ResultManager]
],
md_filename: Path,
) -> None
Generate the different sections of the markdown report provided in the sections argument with each section using its own result manager instance.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
sections
|
list[tuple[type[MDReportBase], ResultManager]]
|
A list of tuples, where each tuple contains a subclass of |
required |
md_filename
|
Path
|
The path to the markdown file to write the report into. |
required |
Source code in anta/reporter/md_reporter.py
304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 |
|
SummaryTotals
¶
SummaryTotals(mdfile: TextIO, results: ResultManager)
Bases: MDReportBase
Generate the ### Summary Totals
section of the markdown report.
generate_rows
¶
Generate the rows of the summary totals table.
Source code in anta/reporter/md_reporter.py
171 172 173 174 175 176 177 178 179 |
|
generate_section
¶
generate_section() -> None
Generate the ### Summary Totals
section of the markdown report.
Source code in anta/reporter/md_reporter.py
181 182 183 184 |
|
SummaryTotalsDeviceUnderTest
¶
SummaryTotalsDeviceUnderTest(
mdfile: TextIO, results: ResultManager
)
Bases: MDReportBase
Generate the ### Summary Totals Devices Under Tests
section of the markdown report.
generate_rows
¶
Generate the rows of the summary totals device under test table.
Source code in anta/reporter/md_reporter.py
195 196 197 198 199 200 201 202 203 204 |
|
generate_section
¶
generate_section() -> None
Generate the ### Summary Totals Devices Under Tests
section of the markdown report.
Source code in anta/reporter/md_reporter.py
206 207 208 209 |
|
SummaryTotalsPerCategory
¶
SummaryTotalsPerCategory(
mdfile: TextIO, results: ResultManager
)
Bases: MDReportBase
Generate the ### Summary Totals Per Category
section of the markdown report.
generate_rows
¶
Generate the rows of the summary totals per category table.
Source code in anta/reporter/md_reporter.py
220 221 222 223 224 225 226 227 228 |
|
generate_section
¶
generate_section() -> None
Generate the ### Summary Totals Per Category
section of the markdown report.
Source code in anta/reporter/md_reporter.py
230 231 232 233 |
|
TestResults
¶
TestResults(mdfile: TextIO, results: ResultManager)
Bases: MDReportBase
Generates the ## Test Results
section of the markdown report.
generate_rows
¶
Generate the rows of the all test results table.
Source code in anta/reporter/md_reporter.py
244 245 246 247 248 249 250 251 252 |
|
generate_section
¶
generate_section() -> None
Generate the ## Test Results
section of the markdown report.
Source code in anta/reporter/md_reporter.py
254 255 256 257 |
|
TestResultsSummary
¶
TestResultsSummary(mdfile: TextIO, results: ResultManager)
Bases: MDReportBase
Generate the ## Test Results Summary
section of the markdown report.
generate_section
¶
generate_section() -> None
Generate the ## Test Results Summary
section of the markdown report.
Source code in anta/reporter/md_reporter.py
158 159 160 |
|