fix: enable config watch client reporter plugin in SCT

pull/1813/head
fishtailfu 1 month ago
parent 66c32b10ba
commit a3ed64c011

@ -32,9 +32,12 @@ import com.tencent.cloud.polaris.context.config.PolarisContextProperties;
import com.tencent.polaris.api.config.consumer.OutlierDetectionConfig;
import com.tencent.polaris.api.utils.CollectionUtils;
import com.tencent.polaris.api.utils.StringUtils;
import com.tencent.polaris.configuration.client.internal.ConfigWatchClientReporter;
import com.tencent.polaris.configuration.client.internal.ConfigWatchReporterConfig;
import com.tencent.polaris.factory.config.ConfigurationImpl;
import com.tencent.polaris.factory.config.configuration.ConfigFilterConfigImpl;
import com.tencent.polaris.factory.config.configuration.ConnectorConfigImpl;
import com.tencent.polaris.factory.config.global.ClientReporterConfigImpl;
import com.tencent.polaris.factory.config.global.ServerConnectorConfigImpl;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -67,8 +70,12 @@ public class ConfigurationModifier implements PolarisConfigurationConfigModifier
@Override
public void modify(ConfigurationImpl configuration) {
configuration.getGlobal().getStatReporter().setEnable(false);
// Enable client reporter to report config watch metadata via ReportClient.
configuration.getGlobal().getClientReporter().setEnable(true);
ClientReporterConfigImpl clientReporterConfig = configuration.getGlobal().getClientReporter();
clientReporterConfig.setEnable(true);
ConfigWatchReporterConfig configWatchReporterConfig = clientReporterConfig.getPluginConfig(
ConfigWatchClientReporter.NAME, ConfigWatchReporterConfig.class);
configWatchReporterConfig.setEnable(true);
clientReporterConfig.setPluginConfig(ConfigWatchClientReporter.NAME, configWatchReporterConfig);
configuration.getConsumer().getOutlierDetection().setWhen(OutlierDetectionConfig.When.never);
configuration.getConsumer().getCircuitBreaker().setEnable(false);

@ -32,6 +32,8 @@ import com.tencent.cloud.polaris.config.config.PolarisConfigProperties;
import com.tencent.cloud.polaris.config.config.PolarisCryptoConfigProperties;
import com.tencent.cloud.polaris.context.config.PolarisContextProperties;
import com.tencent.polaris.api.config.consumer.OutlierDetectionConfig;
import com.tencent.polaris.configuration.client.internal.ConfigWatchClientReporter;
import com.tencent.polaris.configuration.client.internal.ConfigWatchReporterConfig;
import com.tencent.polaris.factory.config.ConfigurationImpl;
import com.tencent.polaris.factory.config.configuration.ConfigFileConfigImpl;
import com.tencent.polaris.factory.config.configuration.ConfigFilterConfigImpl;
@ -79,6 +81,9 @@ class ConfigurationModifierTest {
@Mock
private PolarisContextProperties polarisContextProperties;
@Mock
private ConfigWatchReporterConfig configWatchReporter;
private ConfigurationModifier configurationModifier;
@BeforeEach
@ -100,6 +105,8 @@ class ConfigurationModifierTest {
APIConfigImpl apiConfig = mock(APIConfigImpl.class);
when(globalConfig.getStatReporter()).thenReturn(statReporter);
when(globalConfig.getClientReporter()).thenReturn(clientReporter);
when(clientReporter.getPluginConfig(ConfigWatchClientReporter.NAME, ConfigWatchReporterConfig.class))
.thenReturn(configWatchReporter);
Mockito.lenient().when(globalConfig.getServerConnector()).thenReturn(serverConnector);
Mockito.lenient().when(globalConfig.getAPI()).thenReturn(apiConfig);
when(configuration.getGlobal()).thenReturn(globalConfig);
@ -157,6 +164,10 @@ class ConfigurationModifierTest {
// Assert
verify(configuration.getGlobal().getStatReporter()).setEnable(false);
verify(configuration.getGlobal().getClientReporter()).setEnable(true);
verify(configuration.getGlobal().getClientReporter()
.getPluginConfig(ConfigWatchClientReporter.NAME, ConfigWatchReporterConfig.class)).setEnable(true);
verify(configuration.getGlobal().getClientReporter())
.setPluginConfig(ConfigWatchClientReporter.NAME, configWatchReporter);
verify(configuration.getConsumer().getOutlierDetection()).setWhen(OutlierDetectionConfig.When.never);
verify(configuration.getConsumer().getCircuitBreaker()).setEnable(false);
verify(configuration.getConfigFile(), never()).getServerConnector();
@ -181,6 +192,10 @@ class ConfigurationModifierTest {
// Assert
verify(configuration.getGlobal().getStatReporter()).setEnable(false);
verify(configuration.getGlobal().getClientReporter()).setEnable(true);
verify(configuration.getGlobal().getClientReporter()
.getPluginConfig(ConfigWatchClientReporter.NAME, ConfigWatchReporterConfig.class)).setEnable(true);
verify(configuration.getGlobal().getClientReporter())
.setPluginConfig(ConfigWatchClientReporter.NAME, configWatchReporter);
verify(configuration.getConfigFile(), never()).getServerConnector();
}

Loading…
Cancel
Save