Skip to content

Commit f969e54

Browse files
committed
feat: fixup
1 parent e57cd82 commit f969e54

File tree

1 file changed

+85
-0
lines changed

1 file changed

+85
-0
lines changed

api/tacticalrmm/core/tests.py

+85
Original file line numberDiff line numberDiff line change
@@ -500,3 +500,88 @@ def test_get_meshagent_url_docker(self):
500500
r,
501501
"http://tactical-meshcentral:4443/meshagents?id=4&meshid=abc123&installflags=0",
502502
)
503+
504+
505+
class TestMonitoring(TacticalTestCase):
506+
url = "/core/status/"
507+
508+
def setUp(self):
509+
self.setup_client()
510+
self.setup_coresettings()
511+
512+
# prometheus tests
513+
def test_prometheus_missing_auth_header_request(self):
514+
r = self.client.get(self.url)
515+
self.assertEqual(r.status_code, 400)
516+
517+
def test_prometheus_missing_token_config(self):
518+
r = self.client.get(self.url, HTTP_Authorization="Bearer MySuperTestSecret")
519+
self.assertEqual(r.status_code, 401)
520+
521+
@override_settings(MON_TOKEN="MySuperTestSecret")
522+
def test_prometheus_incorrect_token_request(self):
523+
r = self.client.get(self.url, HTTP_Authorization="Bearer NotMySuperTestSecret")
524+
self.assertEqual(r.status_code, 401)
525+
526+
@override_settings(DOCKER_BUILD=True)
527+
@override_settings(MON_TOKEN="MySuperTestSecret")
528+
def test_prometheus_correct_docker_build_request(self):
529+
r = self.client.get(self.url, HTTP_Authorization="Bearer MySuperTestSecret")
530+
self.assertEqual(r.status_code, 200)
531+
532+
@override_settings(MON_TOKEN="MySuperTestSecret")
533+
def test_prometheus_correct_request(self):
534+
r = self.client.get(self.url, HTTP_Authorization="Bearer MySuperTestSecret")
535+
self.assertEqual(r.status_code, 200)
536+
537+
# invalid tests
538+
def test_invalid_request(self):
539+
r = self.client.put(self.url)
540+
self.assertEqual(r.status_code, 400)
541+
self.assertEqual(
542+
r.content,
543+
b"Invalid request type\n",
544+
)
545+
546+
# json tests
547+
def test_json_invalid_json_request(self):
548+
r = self.client.post(
549+
self.url,
550+
data="I am not json!",
551+
content_type="application/json",
552+
)
553+
self.assertEqual(r.status_code, 400)
554+
555+
def test_json_invalid_payload_request(self):
556+
r = self.client.post(
557+
self.url, data={"notauth": "NotMySuperTestSecret"}, format="json"
558+
)
559+
self.assertEqual(r.status_code, 400)
560+
561+
def test_json_missing_token_request(self):
562+
r = self.client.post(
563+
self.url, data={"auth": "MySuperTestSecret"}, format="json"
564+
)
565+
self.assertEqual(r.status_code, 401)
566+
567+
@override_settings(MON_TOKEN="MySuperTestSecret")
568+
def test_json_incorrect_token_request(self):
569+
r = self.client.post(
570+
self.url, data={"auth": "NotMySuperTestSecret"}, format="json"
571+
)
572+
self.assertEqual(r.status_code, 401)
573+
574+
@override_settings(MON_TOKEN="MySuperTestSecret")
575+
def test_json_correct_request(self):
576+
r = self.client.post(
577+
self.url, data={"auth": "MySuperTestSecret"}, format="json"
578+
)
579+
self.assertEqual(r.status_code, 200)
580+
581+
@override_settings(DOCKER_BUILD=True)
582+
@override_settings(MON_TOKEN="MySuperTestSecret")
583+
def test_json_correct_docker_build_request(self):
584+
r = self.client.post(
585+
self.url, data={"auth": "MySuperTestSecret"}, format="json"
586+
)
587+
self.assertEqual(r.status_code, 200)

0 commit comments

Comments
 (0)