1717
1818package com .tencent .polaris .plugins .stat .prometheus .plugin ;
1919
20+ import static org .mockito .ArgumentMatchers .any ;
21+ import static org .mockito .Mockito .when ;
22+
23+ import com .tencent .polaris .api .plugin .compose .Extensions ;
24+ import com .tencent .polaris .api .plugin .impl .PluginManager ;
25+ import com .tencent .polaris .api .plugin .loadbalance .LoadBalancer ;
2026import com .tencent .polaris .api .plugin .stat .CircuitBreakGauge ;
2127import com .tencent .polaris .api .plugin .stat .DefaultCircuitBreakResult ;
2228import com .tencent .polaris .api .plugin .stat .StatInfo ;
2329import com .tencent .polaris .api .pojo .*;
2430import com .tencent .polaris .api .rpc .ServiceCallResult ;
31+ import com .tencent .polaris .client .flow .BaseFlow ;
2532import com .tencent .polaris .client .remote .ServiceAddressRepository ;
2633import com .tencent .polaris .logging .LoggerFactory ;
34+ import com .tencent .polaris .plugins .loadbalancer .roundrobin .WeightedRoundRobinBalance ;
2735import com .tencent .polaris .plugins .stat .common .model .MetricValueAggregationStrategy ;
2836import com .tencent .polaris .plugins .stat .common .model .MetricValueAggregationStrategyCollections ;
2937import com .tencent .polaris .plugins .stat .common .model .SystemMetricModel ;
3644import io .prometheus .client .CollectorRegistry ;
3745import org .junit .Assert ;
3846import org .junit .Before ;
47+ import org .junit .BeforeClass ;
3948import org .junit .Test ;
4049import org .junit .runner .RunWith ;
50+ import org .mockito .Mock ;
51+ import org .mockito .Mockito ;
4152import org .mockito .junit .MockitoJUnitRunner ;
4253import org .slf4j .Logger ;
4354
@@ -56,9 +67,13 @@ public class PrometheusReporterTest {
5667 private final Random random = new Random ();
5768 private PrometheusReporter handler ;
5869 private long pushInterval ;
59-
70+ @ Mock
71+ private Extensions extensions ;
72+ @ Mock
73+ private PluginManager pluginManager ;
6074 @ Before
6175 public void setUp () {
76+
6277 pushInterval = 2 * 1000 ;
6378 PrometheusHandlerConfig config = new PrometheusHandlerConfig ();
6479 config .setType ("push" );
@@ -70,10 +85,13 @@ public void setUp() {
7085 handler .setSdkIP ("127.0.0.1" );
7186 handler .setConfig (config );
7287 handler .setServiceAddressRepository (new ServiceAddressRepository (Collections .singletonList (PUSH_DEFAULT_ADDRESS ),
73- null , null , new ServiceKey ("Polaris" , "polaris.pushgateway" )));
88+ null , extensions , new ServiceKey ("Polaris" , "polaris.pushgateway" )));
7489 handler .getPushGatewayMap ().put (PUSH_DEFAULT_ADDRESS , pgw );
7590 handler .setExecutorService (Executors .newScheduledThreadPool (4 ));
7691 handler .initHandle ();
92+ LoadBalancer weightedRandomBalance = new WeightedRoundRobinBalance ();
93+ when (extensions .getPlugins ()).thenReturn (pluginManager );
94+ when (extensions .getPlugins ().getPlugin (any (), any ())).thenReturn (weightedRandomBalance );
7795 }
7896
7997 @ Test
0 commit comments