@Override
    public Connection getConnection() throws SQLException {
        XAConnection xaConnection = xaDataSource.getXAConnection();
        return getConnectionProxy(xaConnection);
    }
@Test
    public void testGetConnection() throws SQLException {
        // Mock
        Connection connection = Mockito.mock(Connection.class);
        Mockito.when(connection.getAutoCommit()).thenReturn(true);
        DatabaseMetaData metaData = Mockito.mock(DatabaseMetaData.class);
        Mockito.when(metaData.getURL()).thenReturn("jdbc:mysql:xxx");
        Mockito.when(connection.getMetaData()).thenReturn(metaData);
        XAConnection xaConnection = Mockito.mock(XAConnection.class);
        Mockito.when(xaConnection.getConnection()).thenReturn(connection);
        XADataSource xaDataSource = Mockito.mock(XADataSource.class);
        Mockito.when(xaDataSource.getXAConnection()).thenReturn(xaConnection);

        DataSourceProxyXANative dataSourceProxyXANative = new DataSourceProxyXANative(xaDataSource);
        Connection connFromDataSourceProxyXANative = dataSourceProxyXANative.getConnection();

        Assertions.assertTrue(connFromDataSourceProxyXANative instanceof ConnectionProxyXA);
        XAConnection xaConnectionFromProxy = ((ConnectionProxyXA)connFromDataSourceProxyXANative).getWrappedXAConnection();
        Assertions.assertSame(xaConnection, xaConnectionFromProxy);
        Connection connectionFromProxy = ((ConnectionProxyXA)connFromDataSourceProxyXANative).getWrappedConnection();
        Assertions.assertSame(connection, connectionFromProxy);

    }