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.config.consumer.OutlierDetectionConfig;
import com.tencent.polaris.api.utils.CollectionUtils; import com.tencent.polaris.api.utils.CollectionUtils;
import com.tencent.polaris.api.utils.StringUtils; 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.ConfigurationImpl;
import com.tencent.polaris.factory.config.configuration.ConfigFilterConfigImpl; import com.tencent.polaris.factory.config.configuration.ConfigFilterConfigImpl;
import com.tencent.polaris.factory.config.configuration.ConnectorConfigImpl; 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 com.tencent.polaris.factory.config.global.ServerConnectorConfigImpl;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -67,8 +70,12 @@ public class ConfigurationModifier implements PolarisConfigurationConfigModifier
@Override @Override
public void modify(ConfigurationImpl configuration) { public void modify(ConfigurationImpl configuration) {
configuration.getGlobal().getStatReporter().setEnable(false); configuration.getGlobal().getStatReporter().setEnable(false);
// Enable client reporter to report config watch metadata via ReportClient. ClientReporterConfigImpl clientReporterConfig = configuration.getGlobal().getClientReporter();
configuration.getGlobal().getClientReporter().setEnable(true); 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().getOutlierDetection().setWhen(OutlierDetectionConfig.When.never);
configuration.getConsumer().getCircuitBreaker().setEnable(false); 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.config.config.PolarisCryptoConfigProperties;
import com.tencent.cloud.polaris.context.config.PolarisContextProperties; import com.tencent.cloud.polaris.context.config.PolarisContextProperties;
import com.tencent.polaris.api.config.consumer.OutlierDetectionConfig; 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.ConfigurationImpl;
import com.tencent.polaris.factory.config.configuration.ConfigFileConfigImpl; import com.tencent.polaris.factory.config.configuration.ConfigFileConfigImpl;
import com.tencent.polaris.factory.config.configuration.ConfigFilterConfigImpl; import com.tencent.polaris.factory.config.configuration.ConfigFilterConfigImpl;
@ -79,6 +81,9 @@ class ConfigurationModifierTest {
@Mock @Mock
private PolarisContextProperties polarisContextProperties; private PolarisContextProperties polarisContextProperties;
@Mock
private ConfigWatchReporterConfig configWatchReporter;
private ConfigurationModifier configurationModifier; private ConfigurationModifier configurationModifier;
@BeforeEach @BeforeEach
@ -100,6 +105,8 @@ class ConfigurationModifierTest {
APIConfigImpl apiConfig = mock(APIConfigImpl.class); APIConfigImpl apiConfig = mock(APIConfigImpl.class);
when(globalConfig.getStatReporter()).thenReturn(statReporter); when(globalConfig.getStatReporter()).thenReturn(statReporter);
when(globalConfig.getClientReporter()).thenReturn(clientReporter); 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.getServerConnector()).thenReturn(serverConnector);
Mockito.lenient().when(globalConfig.getAPI()).thenReturn(apiConfig); Mockito.lenient().when(globalConfig.getAPI()).thenReturn(apiConfig);
when(configuration.getGlobal()).thenReturn(globalConfig); when(configuration.getGlobal()).thenReturn(globalConfig);
@ -157,6 +164,10 @@ class ConfigurationModifierTest {
// Assert // Assert
verify(configuration.getGlobal().getStatReporter()).setEnable(false); verify(configuration.getGlobal().getStatReporter()).setEnable(false);
verify(configuration.getGlobal().getClientReporter()).setEnable(true); 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().getOutlierDetection()).setWhen(OutlierDetectionConfig.When.never);
verify(configuration.getConsumer().getCircuitBreaker()).setEnable(false); verify(configuration.getConsumer().getCircuitBreaker()).setEnable(false);
verify(configuration.getConfigFile(), never()).getServerConnector(); verify(configuration.getConfigFile(), never()).getServerConnector();
@ -181,6 +192,10 @@ class ConfigurationModifierTest {
// Assert // Assert
verify(configuration.getGlobal().getStatReporter()).setEnable(false); verify(configuration.getGlobal().getStatReporter()).setEnable(false);
verify(configuration.getGlobal().getClientReporter()).setEnable(true); 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(); verify(configuration.getConfigFile(), never()).getServerConnector();
} }

Loading…
Cancel
Save