SIENTIAPDE-1172

refactor: streamline email generation and enhance notification handling

- Updated email HTML structure to improve clarity and presentation of notifications.
- Enhanced notification generator to better manage execution counts and output formatting.
- Refactored Email class to improve error handling and logging during email sending.
- Adjusted EmailBuilder to efficiently process error, warning, and info models.
- Improved test coverage for email and notification functionalities to ensure reliability.
This commit is contained in:
vitor-aignosi
2025-07-29 10:25:31 -03:00
parent c3ba2e4b5a
commit bc456cc8be
14 changed files with 503 additions and 401 deletions

View File

@@ -15,231 +15,11 @@
<body>
<h1>SIENTIA™ Alerts</h1>
<h3>Errors detected:</h3>
<h3></h3>
<h4>Model: <span>do elit</span></h4>
<table>
<thead>
<tr>
<th>Notification ID</th>
<th>Block</th>
<th>Timestamp</th>
<th>Message</th>
</tr>
</thead>
<tbody>
<tr>
<td>REPORT_PARTITION_MANAGER</td>
<td>lorem_adipiscing</td>
<td>2025-07-28 20:05:38.650661+00:00</td>
<td>incididunt dolor lorem incididunt elit incididunt dolor consectetur ipsum ut</td>
</tr>
</tbody>
</table>
<h3></h3>
<h4>Model: <span>dolor magna</span></h4>
<table>
<thead>
<tr>
<th>Notification ID</th>
<th>Block</th>
<th>Timestamp</th>
<th>Message</th>
</tr>
</thead>
<tbody>
<tr>
<td>REPORT_PARTITION_MANAGER</td>
<td>tempor_dolore_eiusmod</td>
<td>2025-07-28 20:05:38.650910+00:00</td>
<td>ipsum amet ipsum aliqua et eiusmod</td>
</tr>
</tbody>
</table>
<h4>Model: <span>labore sit lorem</span></h4>
<table>
<thead>
<tr>
<th>Notification ID</th>
<th>Block</th>
<th>Timestamp</th>
<th>Message</th>
</tr>
</thead>
<tbody>
<tr>
<td>OPC_CONNECTION_RETRY__server_6</td>
<td>dolor_labore_lorem</td>
<td>2025-07-28 20:05:38.650949+00:00</td>
<td>et adipiscing ipsum ut aliqua ut adipiscing aliqua amet</td>
</tr>
</tbody>
</table>
<h3>Warnings detected:</h3>
<h4>Model: <span>incididunt adipiscing elit sit</span></h4>
<table>
<thead>
<tr>
<th>Notification ID</th>
<th>Block</th>
<th>Timestamp</th>
<th>Message</th>
</tr>
</thead>
<tbody>
<tr>
<td>ADIPISCING_AMET_IPSUM</td>
<td>eiusmod_aliqua_incididunt</td>
<td>2025-07-28 20:05:38.650621+00:00</td>
<td>magna incididunt dolore sed eiusmod sit incididunt ut</td>
</tr>
</tbody>
</table>
<h4>Model: <span>do adipiscing et</span></h4>
<table>
<thead>
<tr>
<th>Notification ID</th>
<th>Block</th>
<th>Timestamp</th>
<th>Message</th>
</tr>
</thead>
<tbody>
<tr>
<td>TAG_node46:tag_73_LISTENNING_STOPPED</td>
<td>amet_dolor</td>
<td>2025-07-28 20:05:38.650706+00:00</td>
<td>dolore do et consectetur adipiscing do magna eiusmod eiusmod</td>
</tr>
</tbody>
</table>
<h4>Model: <span>lorem dolore amet</span></h4>
<table>
<thead>
<tr>
<th>Notification ID</th>
<th>Block</th>
<th>Timestamp</th>
<th>Message</th>
</tr>
</thead>
<tbody>
<tr>
<td>TAG_node13:tag_59_LISTENNING_STOPPED</td>
<td>ipsum_tempor_ipsum</td>
<td>2025-07-28 20:05:38.650785+00:00</td>
<td>et sed adipiscing tempor dolor magna do lorem</td>
</tr>
</tbody>
</table>
<h4>Model: <span>eiusmod sed</span></h4>
<table>
<thead>
<tr>
<th>Notification ID</th>
<th>Block</th>
<th>Timestamp</th>
<th>Message</th>
</tr>
</thead>
<tbody>
<tr>
<td>OPC_SUBSCRIPTION__server_2</td>
<td>do_ipsum</td>
<td>2025-07-28 20:05:38.650826+00:00</td>
<td>eiusmod et consectetur do dolore dolor sed amet</td>
</tr>
</tbody>
</table>
<h3>Infos detected:</h3>
<h4>Model: <span>et sed</span></h4>
<table>
<thead>
<tr>
<th>Notification ID</th>
<th>Block</th>
<th>Timestamp</th>
<th>Message</th>
</tr>
</thead>
<tbody>
<tr>
<td>OPC_LISTENNING_STOPPED__server_6</td>
<td>labore_do_ipsum_ipsum</td>
<td>2025-07-28 20:05:38.650570+00:00</td>
<td>tempor dolore eiusmod sit sit sed elit</td>
</tr>
</tbody>
</table>
<h4>Model: <span>dolore sit</span></h4>
<table>
<thead>
<tr>
<th>Notification ID</th>
<th>Block</th>
<th>Timestamp</th>
<th>Message</th>
</tr>
</thead>
<tbody>
<tr>
<td>REPORT_PARTITION_MANAGER</td>
<td>et_lorem_incididunt_ipsum</td>
<td>2025-07-28 20:05:38.650742+00:00</td>
<td>adipiscing magna adipiscing adipiscing sit tempor</td>
</tr>
</tbody>
</table>
<h4>Model: <span>adipiscing do</span></h4>
<table>
<thead>
<tr>
<th>Notification ID</th>
<th>Block</th>
<th>Timestamp</th>
<th>Message</th>
</tr>
</thead>
<tbody>
<tr>
<td>TAG_node76:tag_73_LISTENNING_STOPPED</td>
<td>tempor_elit</td>
<td>2025-07-28 20:05:38.650875+00:00</td>
<td>et do aliqua lorem incididunt</td>
</tr>
</tbody>
</table>
<h3></h3>