"""Test Snowflake connector and private key helpers.""" import hashlib from unittest.mock import ANY, MagicMock, patch from src.connectors import snowflake from src.utils import private_key @patch('src.utils.private_key.serialization.load_pem_private_key') def test_get_private_key(mock_load_pem) -> None: """Test getting a private key.""" mock_key = MagicMock() mock_key.private_bytes.return_value = b'\x30\x82\x01\x00' + b'\x00' * 1200 mock_load_pem.return_value = mock_key result = private_key.get_private_key('pem-key-string', 'foobar') assert isinstance(result, bytes) assert result[0:1] == b'\x30' assert len(result) >= 1200 expected_fingerprint = hashlib.sha256(result).hexdigest() assert len(expected_fingerprint) == 64 mock_load_pem.assert_called_once_with( b'pem-key-string', password=b'foobar', backend=ANY ) @patch('snowflake.connector.connect') @patch('src.connectors.snowflake.config.SNOWFLAKE_ACCOUNT', 'test-account') def test_get_connection(mock_connect): """Test get_connection.""" snowflake.get_connection() mock_connect.assert_called_once()