xds: promote CdsLoadBalancer2 (#7807)
This change migrates to the new LB hierarchy of CDS -> cluster_resolver -> priority -> cluster_impl -> ...
diff --git a/xds/src/main/java/io/grpc/xds/CdsLoadBalancerProvider.java b/xds/src/main/java/io/grpc/xds/CdsLoadBalancerProvider.java
index 7e28927..d2e3de1 100644
--- a/xds/src/main/java/io/grpc/xds/CdsLoadBalancerProvider.java
+++ b/xds/src/main/java/io/grpc/xds/CdsLoadBalancerProvider.java
@@ -55,7 +55,7 @@
@Override
public LoadBalancer newLoadBalancer(Helper helper) {
- return new CdsLoadBalancer(helper);
+ return new CdsLoadBalancer2(helper);
}
@Override
diff --git a/xds/src/test/java/io/grpc/xds/CdsLoadBalancerProviderTest.java b/xds/src/test/java/io/grpc/xds/CdsLoadBalancerProviderTest.java
index b937fc6..0cd3d73 100644
--- a/xds/src/test/java/io/grpc/xds/CdsLoadBalancerProviderTest.java
+++ b/xds/src/test/java/io/grpc/xds/CdsLoadBalancerProviderTest.java
@@ -17,8 +17,15 @@
package io.grpc.xds;
import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+import io.grpc.LoadBalancer;
+import io.grpc.LoadBalancer.Helper;
+import io.grpc.LoadBalancerProvider;
+import io.grpc.LoadBalancerRegistry;
import io.grpc.NameResolver.ConfigOrError;
+import io.grpc.SynchronizationContext;
import io.grpc.internal.JsonParser;
import io.grpc.xds.CdsLoadBalancerProvider.CdsConfig;
import java.io.IOException;
@@ -45,4 +52,28 @@
CdsConfig config = (CdsConfig) result.getConfig();
assertThat(config.name).isEqualTo("cluster-foo.googleapis.com");
}
+
+ @Test
+ public void provided() {
+ LoadBalancerProvider provider =
+ LoadBalancerRegistry.getDefaultRegistry().getProvider(XdsLbPolicies.CDS_POLICY_NAME);
+ assertThat(provider).isInstanceOf(CdsLoadBalancerProvider.class);
+ }
+
+ @Test
+ public void providesLoadBalancer() {
+ Helper helper = mock(Helper.class);
+
+ SynchronizationContext syncContext = new SynchronizationContext(
+ new Thread.UncaughtExceptionHandler() {
+ @Override
+ public void uncaughtException(Thread t, Throwable e) {
+ throw new AssertionError(e);
+ }
+ });
+ when(helper.getSynchronizationContext()).thenReturn(syncContext);
+ LoadBalancerProvider provider = new CdsLoadBalancerProvider();
+ LoadBalancer loadBalancer = provider.newLoadBalancer(helper);
+ assertThat(loadBalancer).isInstanceOf(CdsLoadBalancer2.class);
+ }
}