Files

29 lines
887 B
Python

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()