"""Unit tests for api module.""" from unittest.mock import MagicMock from abacus_legacy_sync import api def test_get_mysql_connection_uri(): """Test building a valid connection uri.""" mock_config = MagicMock() mock_config.AR_MYSQL_DB_USER = 'username' mock_config.AR_MYSQL_DB_PASS = 'password' mock_config.AR_MYSQL_DB_HOST = 'host' mock_config.AR_MYSQL_DB_PORT = '3306' mock_config.AR_MYSQL_DB_NAME = 'art_relations' assert ( api._get_mysql_connection_uri(mock_config) == 'mysql+pymysql://username:password@host:3306/art_relations?charset=UTF8MB4' ) mock_config.AR_MYSQL_DB_PASS = '$B:cU<]VgA7NrL@UpvX5#&Hs{' assert ( api._get_mysql_connection_uri(mock_config) == 'mysql+pymysql://username:%24B%3AcU%3C%5DVgA7NrL%40UpvX5%23%26Hs%7B@host:3306/art_relations?charset=UTF8MB4' ) # noqa E501