@@ -500,3 +500,88 @@ def test_get_meshagent_url_docker(self):
500
500
r ,
501
501
"http://tactical-meshcentral:4443/meshagents?id=4&meshid=abc123&installflags=0" ,
502
502
)
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