100 lines
2.8 KiB
Python
100 lines
2.8 KiB
Python
from djangormm.test import BaseTestCase
|
|
|
|
from .serializers import AgentSerializer
|
|
from .models import Agent
|
|
|
|
|
|
class TestAgentViews(BaseTestCase):
|
|
def test_agents_list(self):
|
|
url = "/agents/listagents/"
|
|
|
|
r = self.client.get(url)
|
|
self.assertEqual(r.status_code, 200)
|
|
|
|
self.check_not_authenticated("get", url)
|
|
|
|
def test_agents_agent_detail(self):
|
|
url = f"/agents/{self.agent.pk}/agentdetail/"
|
|
|
|
r = self.client.get(url)
|
|
self.assertEqual(r.status_code, 200)
|
|
|
|
self.check_not_authenticated("get", url)
|
|
|
|
def test_edit_agent(self):
|
|
url = "/agents/editagent/"
|
|
|
|
edit = {
|
|
"pk": self.agent.pk,
|
|
"client": "Facebook",
|
|
"site": "NY Office",
|
|
"montype": "workstation",
|
|
"desc": "asjdk234andasd",
|
|
"overduetime": 300,
|
|
"pinginterval": 60,
|
|
"emailalert": True,
|
|
"textalert": False,
|
|
}
|
|
r = self.client.patch(url, edit, format="json")
|
|
self.assertEqual(r.status_code, 200)
|
|
|
|
agent = Agent.objects.get(pk=self.agent.pk)
|
|
data = AgentSerializer(agent).data
|
|
self.assertEqual(data["site"], "NY Office")
|
|
|
|
self.check_not_authenticated("patch", url)
|
|
|
|
def test_meshcentral_tabs(self):
|
|
url = f"/agents/{self.agent.pk}/meshtabs/"
|
|
|
|
r = self.client.get(url)
|
|
self.assertIn("viewmode", r.data["fileurl"])
|
|
|
|
self.check_not_authenticated("get", url)
|
|
|
|
def test_takecontrols(self):
|
|
url = f"/agents/{self.agent.pk}/takecontrol/"
|
|
|
|
r = self.client.get(url)
|
|
self.assertIn("hide", r.data)
|
|
|
|
self.check_not_authenticated("get", url)
|
|
|
|
def test_by_client(self):
|
|
url = "/agents/byclient/Google/"
|
|
|
|
r = self.client.get(url)
|
|
self.assertEqual(r.status_code, 200)
|
|
self.assertTrue(r.data)
|
|
|
|
url = f"/agents/byclient/Majh3 Akj34 ad/"
|
|
r = self.client.get(url)
|
|
self.assertFalse(r.data) # returns empty list
|
|
|
|
self.check_not_authenticated("get", url)
|
|
|
|
def test_by_site(self):
|
|
url = f"/agents/bysite/Google/Main Office/"
|
|
|
|
r = self.client.get(url)
|
|
self.assertEqual(r.status_code, 200)
|
|
self.assertTrue(r.data)
|
|
|
|
url = f"/agents/bysite/Google/Ajdaksd Office/"
|
|
r = self.client.get(url)
|
|
self.assertFalse(r.data)
|
|
|
|
self.check_not_authenticated("get", url)
|
|
|
|
def test_overdue_action(self):
|
|
url = "/agents/overdueaction/"
|
|
|
|
payload = {"pk": self.agent.pk, "alertType": "email", "action": "enabled"}
|
|
r = self.client.post(url, payload, format="json")
|
|
self.assertEqual(r.status_code, 200)
|
|
|
|
agent = Agent.objects.get(pk=self.agent.pk)
|
|
self.assertTrue(agent.overdue_email_alert)
|
|
|
|
self.check_not_authenticated("post", url)
|