Files
2026-07-20 11:05:07 +02:00

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')