@HighFrequencyInvocation(canBeCached = true)
    @Override
    public Connection getConnection() {
        return DriverStateContext.getConnection(databaseName, contextManager);
    }
@Test
    void assertNewConstructorWithAllArguments() throws Exception {
        Connection connection = mock(Connection.class, RETURNS_DEEP_STUBS);
        when(connection.getMetaData().getURL()).thenReturn("jdbc:mock://127.0.0.1/foo_ds");
        try (ShardingSphereDataSource actual = createShardingSphereDataSource(new MockedDataSource(connection))) {
            ContextManager contextManager = getContextManager(actual);
            assertNotNull(contextManager.getMetaDataContexts().getMetaData().getDatabase(DefaultDatabase.LOGIC_NAME));
            assertThat(contextManager.getStateContext().getClusterState(), is(ClusterState.OK));
            assertThat(contextManager.getComputeNodeInstanceContext().getInstance().getState().getCurrentState(), is(InstanceState.OK));
            assertThat(contextManager.getStorageUnits(DefaultDatabase.LOGIC_NAME).size(), is(1));
            assertThat(contextManager.getStorageUnits(DefaultDatabase.LOGIC_NAME).get("ds").getDataSource().getConnection().getMetaData().getURL(), is("jdbc:mock://127.0.0.1/foo_ds"));
        }
    }