Source code for fireant.tests.database.test_redshift

from unittest.mock import (
    Mock,
    patch,
)

from fireant.database import RedshiftDatabase
from .test_postgresql import TestPostgreSQL


[docs]class TestRedshift(TestPostgreSQL): """ Inherits from TestPostgreSQL as Redshift is almost identical to PostgreSQL so the tests are similar """
[docs] @classmethod def setUpClass(cls): cls.database = RedshiftDatabase()
[docs] def test_defaults(self): self.assertEqual('localhost', self.database.host) self.assertEqual(5439, self.database.port) self.assertIsNone(self.database.database) self.assertIsNone(self.database.password)
[docs] def test_connect(self): mock_redshift = Mock() with patch.dict('sys.modules', psycopg2=mock_redshift): mock_redshift.connect.return_value = 'OK' redshift = RedshiftDatabase('test_host', 1234, 'test_database', 'test_user', 'password') result = redshift.connect() self.assertEqual('OK', result) mock_redshift.connect.assert_called_once_with( host='test_host', port=1234, dbname='test_database', user='test_user', password='password', )