Similar to How do I mock part of a python constructor just for testing? but explicitly trying to get pymysqlpool.ConnectionPool
to work/
class DbTests(TestCase):
@mock.patch('pymysqlpool.ConnectionPool', autospec=True)
@mock.patch.dict(
os.environ,
{
"DATASOURCES_0_SERVERID": "server1",
"DATASOURCES_0_HOST": "non-existent",
"DATASOURCES_0_PORT": "3307",
"DATASOURCES_0_DATABASE": "lj_ca1",
"DATASOURCES_0_USERNAME": "sampleuser",
"DATASOURCES_0_PASSWORD": "password1",
"DATASOURCES_0_TIMEZONE": "Americas/Toronto",
},
)
def test_load(self, connection_pool_mock: mock.Mock):
ConnectionPool(
size=2, maxsize=3, pre_create_num=2, host=os.environ["DATASOURCES_0_HOST"]
)
I'm expecting the code to simply work, but I am getting
pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on 'non-existent' ([Errno 11001] getaddrinfo failed)")