(self)
| 1093 | return rows |
| 1094 | |
| 1095 | def test(self) -> Tuple[bool, str]: |
| 1096 | # Lazy import to avoid a circular dependency with notification_manager, |
| 1097 | # which already imports from this module at load time. |
| 1098 | from notification_manager import _resolve_display_hostname |
| 1099 | hostname = _resolve_display_hostname() |
| 1100 | result = self.send( |
| 1101 | 'ProxMenux Test Notification', |
| 1102 | 'This is a test notification from ProxMenux Monitor.\n' |
| 1103 | 'If you received this, your email channel is working correctly.', |
| 1104 | 'INFO', |
| 1105 | data={ |
| 1106 | 'hostname': hostname, |
| 1107 | '_event_type': 'webhook_test', |
| 1108 | '_group': 'other', |
| 1109 | 'reason': 'Email notification channel connectivity verified successfully. ' |
| 1110 | 'You will receive alerts from ProxMenux Monitor at this address.', |
| 1111 | } |
| 1112 | ) |
| 1113 | return result.get('success', False), result.get('error', '') |
| 1114 | |
| 1115 | |
| 1116 | # ─── Apprise ───────────────────────────────────────────────────── |
no test coverage detected