mirror of
https://github.com/deunix-educ/Fail2banMqttActionBanishment.git
synced 2026-08-24 03:11:58 +02:00
27 lines
1.1 KiB
Python
27 lines
1.1 KiB
Python
from django.test import TestCase
|
|
|
|
from .ingestion import save_ban_event
|
|
from .models import NodeRegistry
|
|
|
|
|
|
class NodeRegistryIngestionTests(TestCase):
|
|
def test_creates_node_registry_row_for_new_node(self):
|
|
save_ban_event({'node': '12345', 'action': 'BAN', 'name': 'sshd', 'ip': '203.0.113.1'})
|
|
|
|
node = NodeRegistry.objects.get(node_id='12345')
|
|
self.assertEqual(node.alias, '')
|
|
self.assertEqual(node.display_name, '12345')
|
|
|
|
def test_second_event_updates_last_seen_without_duplicating(self):
|
|
save_ban_event({'node': '12345', 'action': 'BAN', 'name': 'sshd', 'ip': '203.0.113.1'})
|
|
first_seen = NodeRegistry.objects.get(node_id='12345').last_seen
|
|
|
|
save_ban_event({'node': '12345', 'action': 'UNBAN', 'name': 'sshd', 'ip': '203.0.113.1'})
|
|
|
|
self.assertEqual(NodeRegistry.objects.filter(node_id='12345').count(), 1)
|
|
self.assertGreaterEqual(NodeRegistry.objects.get(node_id='12345').last_seen, first_seen)
|
|
|
|
def test_display_name_prefers_alias(self):
|
|
node = NodeRegistry.objects.create(node_id='12345', alias='miraceti-vps1')
|
|
self.assertEqual(node.display_name, 'miraceti-vps1')
|