public Collection<String> getUsedDataSourceNames() {
        Collection<String> result = new ArrayList<>(cachedConnections.size());
        String databaseName = connectionSession.getUsedDatabaseName().toLowerCase();
        for (String each : cachedConnections.keySet()) {
            String[] split = each.split("\\.", 2);
            String cachedDatabaseName = split[0];
            String cachedDataSourceName = split[1];
            if (databaseName.equals(cachedDatabaseName)) {
                result.add(cachedDataSourceName);
            }
        }
        return result;
    }
@Test
    void assertGetDataSourceNamesOfCachedConnections() {
        databaseConnectionManager.getCachedConnections().put(connectionSession.getUsedDatabaseName() + ".ds_0", null);
        databaseConnectionManager.getCachedConnections().put(connectionSession.getUsedDatabaseName() + ".ds_1", null);
        databaseConnectionManager.getCachedConnections().put(connectionSession.getUsedDatabaseName() + ".ds_2", null);
        List<String> actual = new ArrayList<>(databaseConnectionManager.getUsedDataSourceNames());
        Collections.sort(actual);
        assertThat(actual, is(Arrays.asList("ds_0", "ds_1", "ds_2")));
    }