Add MariaDB HTTP readiness service
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
import unittest
|
||||
from unittest.mock import MagicMock, patch
|
||||
|
||||
import pymysql
|
||||
|
||||
import server
|
||||
|
||||
|
||||
class DatabaseReadyTests(unittest.TestCase):
|
||||
@patch("server.pymysql.connect")
|
||||
def test_returns_true_for_select_one(self, connect):
|
||||
connection = MagicMock()
|
||||
cursor = connection.cursor.return_value
|
||||
cursor.fetchone.return_value = (1,)
|
||||
connect.return_value = connection
|
||||
|
||||
self.assertTrue(server.database_ready())
|
||||
cursor.execute.assert_called_once_with("SELECT 1")
|
||||
cursor.close.assert_called_once()
|
||||
connection.close.assert_called_once()
|
||||
|
||||
@patch("server.pymysql.connect", side_effect=pymysql.MySQLError("unavailable"))
|
||||
def test_returns_false_when_database_is_unavailable(self, connect):
|
||||
self.assertFalse(server.database_ready())
|
||||
connect.assert_called_once()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user