mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-04 05:53:43 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			28 lines
		
	
	
		
			1003 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			1003 B
		
	
	
	
		
			Python
		
	
	
	
	
	
from unittest import mock
 | 
						|
 | 
						|
from zerver.lib.exceptions import ServerNotReadyError
 | 
						|
from zerver.lib.test_classes import ZulipTestCase
 | 
						|
 | 
						|
 | 
						|
class HealthTest(ZulipTestCase):
 | 
						|
    def test_healthy(self) -> None:
 | 
						|
        # We do not actually use rabbitmq in tests, so this fails
 | 
						|
        # unless it's mocked out.
 | 
						|
        with mock.patch("zerver.views.health.check_rabbitmq"):
 | 
						|
            result = self.client_get("/health")
 | 
						|
        self.assert_json_success(result)
 | 
						|
 | 
						|
    def test_database_failure(self) -> None:
 | 
						|
        with (
 | 
						|
            mock.patch(
 | 
						|
                "zerver.views.health.check_database",
 | 
						|
                side_effect=ServerNotReadyError("Cannot query postgresql"),
 | 
						|
            ),
 | 
						|
            self.assertLogs(level="ERROR") as logs,
 | 
						|
            self.assertRaisesRegex(ServerNotReadyError, r"^Cannot query postgresql$"),
 | 
						|
        ):
 | 
						|
            self.client_get("/health")
 | 
						|
        self.assertIn(
 | 
						|
            "zerver.lib.exceptions.ServerNotReadyError: Cannot query postgresql", logs.output[0]
 | 
						|
        )
 |