Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-04-27 07:41:42

0001 from django.test import TestCase
0002 from django.urls import reverse
0003 from django.contrib.auth.models import User
0004 from django.utils import timezone
0005 from rest_framework.test import APITestCase, APIClient
0006 from rest_framework import status
0007 from monitor_app.models import SystemAgent, AppLog, Run, StfFile, Subscriber
0008 from monitor_app.serializers import AppLogSerializer
0009 from django.core.management import call_command
0010 from io import StringIO
0011 import logging
0012 import uuid
0013 import re
0014 
0015 
0016 class MonitorAppUITests(TestCase):
0017     def setUp(self):
0018         self.user = User.objects.create_user(username='ui_user', password='password')
0019         self.staff_user = User.objects.create_user(username='staff_user', password='password', is_staff=True)
0020         self.agent = SystemAgent.objects.create(instance_name='ui_agent', agent_type='test', status='OK')
0021 
0022     def test_index_view_unauthenticated(self):
0023         response = self.client.get(reverse('monitor_app:index'))
0024         self.assertEqual(response.status_code, 302) # Redirect to login
0025 
0026     def test_index_view_authenticated(self):
0027         self.client.login(username='ui_user', password='password')
0028         response = self.client.get(reverse('monitor_app:index'))
0029         self.assertEqual(response.status_code, 200)
0030 
0031     def test_create_agent_view_as_staff(self):
0032         self.client.login(username='staff_user', password='password')
0033         url = reverse('monitor_app:system_agent_create')
0034         data = {'instance_name': 'new_ui_agent', 'agent_type': 'test', 'status': 'OK'}
0035         response = self.client.post(url, data)
0036         self.assertEqual(response.status_code, 302) # Redirect on success
0037         self.assertTrue(SystemAgent.objects.filter(instance_name='new_ui_agent').exists())
0038 
0039     def test_create_agent_view_as_non_staff(self):
0040         self.client.login(username='ui_user', password='password')
0041         url = reverse('monitor_app:system_agent_create')
0042         data = {'instance_name': 'new_ui_agent', 'agent_type': 'test', 'status': 'OK'}
0043         response = self.client.post(url, data)
0044         self.assertEqual(response.status_code, 403) # Forbidden
0045 
0046     def test_delete_agent_view(self):
0047         self.client.login(username='staff_user', password='password')
0048         url = reverse('monitor_app:system_agent_delete', kwargs={'pk': self.agent.pk})
0049         response = self.client.post(url)
0050         self.assertEqual(response.status_code, 302) # Redirect on success
0051         self.assertFalse(SystemAgent.objects.filter(pk=self.agent.pk).exists())
0052 
0053     def test_update_agent_view_get(self):
0054         self.client.login(username='staff_user', password='password')
0055         url = reverse('monitor_app:system_agent_update', kwargs={'pk': self.agent.pk})
0056         response = self.client.get(url)
0057         self.assertEqual(response.status_code, 200)
0058         self.assertContains(response, self.agent.instance_name)
0059 
0060     def test_update_non_existent_agent_view(self):
0061         self.client.login(username='staff_user', password='password')
0062         url = reverse('monitor_app:system_agent_update', kwargs={'pk': 999})
0063         response = self.client.get(url)
0064         self.assertEqual(response.status_code, 404)
0065 
0066     def test_delete_non_existent_agent_view(self):
0067         self.client.login(username='staff_user', password='password')
0068         url = reverse('monitor_app:system_agent_delete', kwargs={'pk': 999})
0069         response = self.client.get(url)
0070         self.assertEqual(response.status_code, 404)