Search in sources :

Example 11 with ConfigOrError

use of io.grpc.NameResolver.ConfigOrError in project grpc-java by grpc.

the class RingHashLoadBalancerProviderTest method parseLoadBalancingConfig_invalid_ringTooLarge.

@Test
public void parseLoadBalancingConfig_invalid_ringTooLarge() throws IOException {
    long ringSize = RingHashLoadBalancerProvider.MAX_RING_SIZE + 1;
    String lbConfig = String.format("{\"minRingSize\" : 10, \"maxRingSize\" : %d}", ringSize);
    ConfigOrError configOrError = provider.parseLoadBalancingPolicyConfig(parseJsonObject(lbConfig));
    assertThat(configOrError.getError()).isNotNull();
    assertThat(configOrError.getError().getCode()).isEqualTo(Code.INVALID_ARGUMENT);
    assertThat(configOrError.getError().getDescription()).isEqualTo("Invalid 'mingRingSize'/'maxRingSize'");
}
Also used : ConfigOrError(io.grpc.NameResolver.ConfigOrError) Test(org.junit.Test)

Example 12 with ConfigOrError

use of io.grpc.NameResolver.ConfigOrError in project grpc-java by grpc.

the class RingHashLoadBalancerProviderTest method parseLoadBalancingConfig_invalid_minGreaterThanMax.

@Test
public void parseLoadBalancingConfig_invalid_minGreaterThanMax() throws IOException {
    String lbConfig = "{\"minRingSize\" : 1000, \"maxRingSize\" : 100}";
    ConfigOrError configOrError = provider.parseLoadBalancingPolicyConfig(parseJsonObject(lbConfig));
    assertThat(configOrError.getError()).isNotNull();
    assertThat(configOrError.getError().getCode()).isEqualTo(Code.INVALID_ARGUMENT);
    assertThat(configOrError.getError().getDescription()).isEqualTo("Invalid 'mingRingSize'/'maxRingSize'");
}
Also used : ConfigOrError(io.grpc.NameResolver.ConfigOrError) Test(org.junit.Test)

Example 13 with ConfigOrError

use of io.grpc.NameResolver.ConfigOrError in project grpc-java by grpc.

the class RingHashLoadBalancerProviderTest method parseLoadBalancingConfig_invalid_negativeSize.

@Test
public void parseLoadBalancingConfig_invalid_negativeSize() throws IOException {
    String lbConfig = "{\"minRingSize\" : -10}";
    ConfigOrError configOrError = provider.parseLoadBalancingPolicyConfig(parseJsonObject(lbConfig));
    assertThat(configOrError.getError()).isNotNull();
    assertThat(configOrError.getError().getCode()).isEqualTo(Code.INVALID_ARGUMENT);
    assertThat(configOrError.getError().getDescription()).isEqualTo("Invalid 'mingRingSize'/'maxRingSize'");
}
Also used : ConfigOrError(io.grpc.NameResolver.ConfigOrError) Test(org.junit.Test)

Example 14 with ConfigOrError

use of io.grpc.NameResolver.ConfigOrError in project grpc-java by grpc.

the class LeastRequestLoadBalancerProviderTest method parseLoadBalancingConfig_invalidInteger.

@Test
public void parseLoadBalancingConfig_invalidInteger() throws IOException {
    Map<String, ?> lbConfig = parseJsonObject("{\"choiceCount\" : \"NaN\"}");
    ConfigOrError configOrError = provider.parseLoadBalancingPolicyConfig(lbConfig);
    assertThat(configOrError.getError()).isNotNull();
    assertThat(configOrError.getError().getDescription()).isEqualTo("Failed to parse least_request_experimental LB config: " + lbConfig);
}
Also used : ConfigOrError(io.grpc.NameResolver.ConfigOrError) Test(org.junit.Test)

Example 15 with ConfigOrError

use of io.grpc.NameResolver.ConfigOrError in project grpc-java by grpc.

the class LeastRequestLoadBalancerProviderTest method parseLoadBalancingConfig_valid.

@Test
public void parseLoadBalancingConfig_valid() throws IOException {
    String lbConfig = "{\"choiceCount\" : 3}";
    ConfigOrError configOrError = provider.parseLoadBalancingPolicyConfig(parseJsonObject(lbConfig));
    assertThat(configOrError.getConfig()).isNotNull();
    LeastRequestConfig config = (LeastRequestConfig) configOrError.getConfig();
    assertThat(config.choiceCount).isEqualTo(3);
}
Also used : LeastRequestConfig(io.grpc.xds.LeastRequestLoadBalancer.LeastRequestConfig) ConfigOrError(io.grpc.NameResolver.ConfigOrError) Test(org.junit.Test)

Aggregations

ConfigOrError (io.grpc.NameResolver.ConfigOrError)57 Test (org.junit.Test)52 PolicySelection (io.grpc.internal.ServiceConfigUtil.PolicySelection)10 EquivalentAddressGroup (io.grpc.EquivalentAddressGroup)9 Helper (io.grpc.LoadBalancer.Helper)9 Status (io.grpc.Status)9 AutoConfiguredLoadBalancer (io.grpc.internal.AutoConfiguredLoadBalancerFactory.AutoConfiguredLoadBalancer)7 ForwardingLoadBalancerHelper (io.grpc.util.ForwardingLoadBalancerHelper)7 Map (java.util.Map)7 InetSocketAddress (java.net.InetSocketAddress)6 SocketAddress (java.net.SocketAddress)4 Random (java.util.Random)4 CreateSubchannelArgs (io.grpc.LoadBalancer.CreateSubchannelArgs)3 ResolvedAddresses (io.grpc.LoadBalancer.ResolvedAddresses)3 LoadBalancerProvider (io.grpc.LoadBalancerProvider)3 LoadBalancerRegistry (io.grpc.LoadBalancerRegistry)3 LeastRequestConfig (io.grpc.xds.LeastRequestLoadBalancer.LeastRequestConfig)3 LbConfig (io.grpc.internal.ServiceConfigUtil.LbConfig)2 RingHashConfig (io.grpc.xds.RingHashLoadBalancer.RingHashConfig)2 LinkedHashMap (java.util.LinkedHashMap)2