def test_connect_with_pkey(self, mock_serialization): mock_snowflake = Mock(name='mock_snowflake') mock_connector = mock_snowflake.connector mock_pkey = mock_serialization.load_pem_private_key.return_value = Mock(name='pkey') # need to patch this here so it can be imported in the function scope with patch.dict('sys.modules', snowflake=mock_snowflake): mock_connector.connect.return_value = 'OK' snowflake = SnowflakeDatabase(user='******', private_key_data='abcdefg', private_key_password='******', account='test_account', database='test_database') result = snowflake.connect() with self.subTest('returns connection'): self.assertEqual('OK', result) with self.subTest('connects with credentials'): mock_serialization.load_pem_private_key.assert_called_once_with(b'abcdefg', b'1234', backend=ANY) with self.subTest('connects with credentials'): mock_connector.connect.assert_called_once_with(user='******', password=None, account='test_account', database='test_database', private_key=mock_pkey.private_bytes.return_value, region=None, warehouse=None)
def test_connect_with_pkey(self, mock_serialization): mock_snowflake = Mock(name='mock_snowflake') mock_connector = mock_snowflake.connector mock_pkey = mock_serialization.load_pem_private_key.return_value = Mock( name='pkey') # need to patch this here so it can be imported in the function scope with patch.dict('sys.modules', snowflake=mock_snowflake): mock_connector.connect.return_value = 'OK' snowflake = SnowflakeDatabase(user='******', private_key_data='abcdefg', private_key_password='******', account='test_account', database='test_database') result = snowflake.connect() with self.subTest('returns connection'): self.assertEqual('OK', result) with self.subTest('connects with credentials'): mock_serialization.load_pem_private_key.assert_called_once_with( b'abcdefg', b'1234', backend=ANY) with self.subTest('connects with credentials'): mock_connector.connect.assert_called_once_with( user='******', password=None, account='test_account', database='test_database', private_key=mock_pkey.private_bytes.return_value, region=None, warehouse=None)
def test_connect_with_password(self): mock_snowflake = Mock(name='mock_snowflake') mock_connector = mock_snowflake.connector # need to patch this here so it can be imported in the function scope with patch.dict('sys.modules', snowflake=mock_snowflake): mock_connector.connect.return_value = 'OK' snowflake = SnowflakeDatabase(user='******', password='******', account='test_account', database='test_database') result = snowflake.connect() self.assertEqual('OK', result) mock_connector.connect.assert_called_once_with(user='******', password='******', account='test_account', database='test_database', private_key=None, region=None, warehouse=None)