@Override
    public Mono<Map<String, Object>> acquire(ServerWebExchange exchange) {
        return environmentFetcher.getConfigMap()
            .filter(configMap -> configMap.getData() != null)
            .map(configMap -> {
                SiteSettingVo siteSettingVo = SiteSettingVo.from(configMap)
                    .withUrl(externalUrlSupplier.getURL(exchange.getRequest()));
                return Map.of("site", siteSettingVo);
            });
    }
@Test
    void acquireWhenExternalUrlSet() throws MalformedURLException {
        var configMap = new ConfigMap();
        configMap.setData(Map.of());

        var url = new URL("https://halo.run");
        when(externalUrlSupplier.getURL(any())).thenReturn(url);
        when(environmentFetcher.getConfigMap()).thenReturn(Mono.just(configMap));

        siteSettingVariablesAcquirer.acquire(mock(ServerWebExchange.class))
            .as(StepVerifier::create)
            .consumeNextWith(result -> {
                assertThat(result).containsKey("site");
                assertThat(result.get("site")).isInstanceOf(SiteSettingVo.class);
                assertThat((SiteSettingVo) result.get("site"))
                    .extracting(SiteSettingVo::getUrl)
                    .isEqualTo(url);
            })
            .verifyComplete();
        verify(externalUrlSupplier).getURL(any());
    }