@Override
    public Object getInternalProperty(String key) {
        String value = getenv(key);
        if (StringUtils.isEmpty(value)) {
            value = getenv(StringUtils.toOSStyleKey(key));
        }
        return value;
    }
@Test
    void testGetInternalProperty() {
        Map<String, String> map = new HashMap<>();
        map.put(MOCK_KEY, MOCK_VALUE);
        EnvironmentConfiguration configuration = new EnvironmentConfiguration() {
            @Override
            protected String getenv(String key) {
                return map.get(key);
            }
        };
        // this UT maybe only works on particular platform, assert only when value is not null.
        Assertions.assertEquals(MOCK_VALUE, configuration.getInternalProperty("dubbo.key"));
        Assertions.assertEquals(MOCK_VALUE, configuration.getInternalProperty("key"));
        Assertions.assertEquals(MOCK_VALUE, configuration.getInternalProperty("dubbo_key"));
        Assertions.assertEquals(MOCK_VALUE, configuration.getInternalProperty(MOCK_KEY));
    }