Search in sources :

Example 1 with ParSeqRestliClientConfigBuilder

use of com.linkedin.restli.client.ParSeqRestliClientConfigBuilder in project parseq by linkedin.

the class RequestConfigProviderImpl method createDefaultConfig.

/**
 * Default configuration map must specify default values for all properties.
 */
private static ParSeqRestliClientConfig createDefaultConfig() {
    ParSeqRestliClientConfigBuilder builder = new ParSeqRestliClientConfigBuilder();
    builder.addTimeoutMs("*.*/*.*", DEFAULT_TIMEOUT);
    builder.addBatchingEnabled("*.*/*.*", DEFAULT_BATCHING_ENABLED);
    builder.addMaxBatchSize("*.*/*.*", DEFAULT_MAX_BATCH_SIZE);
    return builder.build();
}
Also used : ParSeqRestliClientConfigBuilder(com.linkedin.restli.client.ParSeqRestliClientConfigBuilder)

Example 2 with ParSeqRestliClientConfigBuilder

use of com.linkedin.restli.client.ParSeqRestliClientConfigBuilder in project parseq by linkedin.

the class TestRequestConfigProvider method testOutboundName.

@Test
public void testOutboundName() throws RequestConfigKeyParsingException {
    ParSeqRestliClientConfigBuilder configBuilder = new ParSeqRestliClientConfigBuilder();
    configBuilder.addTimeoutMs("*.*/greetings.*", 1000L);
    configBuilder.addTimeoutMs("*.*/associations:foo.*", 1001L);
    configBuilder.addTimeoutMs("*.*/associations.*", 1000L);
    RequestConfigProvider provider = RequestConfigProvider.build(configBuilder.build(), () -> Optional.empty());
    RequestConfig rc = provider.apply(new GreetingsBuilders().get().id(0L).build());
    assertNotNull(rc);
    assertEquals(rc.getTimeoutMs().getValue(), Long.valueOf(1000L));
    assertEquals(rc.isBatchingEnabled().getValue(), Boolean.valueOf(false));
    assertEquals(rc.getMaxBatchSize().getValue(), Integer.valueOf(1024));
    rc = provider.apply(new GroupsBuilders().get().id(10).build());
    assertNotNull(rc);
    assertEquals(rc.getTimeoutMs().getValue(), Long.valueOf(DEFAULT_TIMEOUT));
    assertEquals(rc.isBatchingEnabled().getValue(), Boolean.valueOf(false));
    assertEquals(rc.getMaxBatchSize().getValue(), Integer.valueOf(1024));
    rc = provider.apply(new AssociationsSubBuilders().get().srcKey("a").destKey("b").id("x").build());
    assertNotNull(rc);
    assertEquals(rc.getTimeoutMs().getValue(), Long.valueOf(1000L));
    assertEquals(rc.isBatchingEnabled().getValue(), Boolean.valueOf(false));
    assertEquals(rc.getMaxBatchSize().getValue(), Integer.valueOf(1024));
}
Also used : ParSeqRestliClientConfigBuilder(com.linkedin.restli.client.ParSeqRestliClientConfigBuilder) GreetingsBuilders(com.linkedin.restli.examples.greetings.client.GreetingsBuilders) GroupsBuilders(com.linkedin.restli.examples.groups.client.GroupsBuilders) AssociationsSubBuilders(com.linkedin.restli.examples.greetings.client.AssociationsSubBuilders) Test(org.testng.annotations.Test)

Example 3 with ParSeqRestliClientConfigBuilder

use of com.linkedin.restli.client.ParSeqRestliClientConfigBuilder in project parseq by linkedin.

the class TestRequestConfigProvider method testOutboundOp.

@Test
public void testOutboundOp() throws RequestConfigKeyParsingException {
    ParSeqRestliClientConfigBuilder configBuilder = new ParSeqRestliClientConfigBuilder();
    configBuilder.addTimeoutMs("*.*/*.GET", 1000L);
    RequestConfigProvider provider = RequestConfigProvider.build(configBuilder.build(), () -> Optional.empty());
    RequestConfig rc = provider.apply(new GreetingsBuilders().get().id(0L).build());
    assertNotNull(rc);
    assertEquals(rc.getTimeoutMs().getValue(), Long.valueOf(1000L));
    assertEquals(rc.isBatchingEnabled().getValue(), Boolean.valueOf(false));
    assertEquals(rc.getMaxBatchSize().getValue(), Integer.valueOf(1024));
    rc = provider.apply(new GreetingsBuilders().delete().id(0L).build());
    assertNotNull(rc);
    assertEquals(rc.getTimeoutMs().getValue(), Long.valueOf(DEFAULT_TIMEOUT));
    assertEquals(rc.isBatchingEnabled().getValue(), Boolean.valueOf(false));
    assertEquals(rc.getMaxBatchSize().getValue(), Integer.valueOf(1024));
    rc = provider.apply(new AssociationsSubBuilders().get().srcKey("a").destKey("b").id("x").build());
    assertNotNull(rc);
    assertEquals(rc.getTimeoutMs().getValue(), Long.valueOf(1000L));
    assertEquals(rc.isBatchingEnabled().getValue(), Boolean.valueOf(false));
    assertEquals(rc.getMaxBatchSize().getValue(), Integer.valueOf(1024));
}
Also used : ParSeqRestliClientConfigBuilder(com.linkedin.restli.client.ParSeqRestliClientConfigBuilder) GreetingsBuilders(com.linkedin.restli.examples.greetings.client.GreetingsBuilders) AssociationsSubBuilders(com.linkedin.restli.examples.greetings.client.AssociationsSubBuilders) Test(org.testng.annotations.Test)

Example 4 with ParSeqRestliClientConfigBuilder

use of com.linkedin.restli.client.ParSeqRestliClientConfigBuilder in project parseq by linkedin.

the class TestRequestConfigProvider method testPrioritiesWithInboundSubresourceAndOutboundMatch.

@Test
public void testPrioritiesWithInboundSubresourceAndOutboundMatch() throws RequestConfigKeyParsingException {
    ParSeqRestliClientConfigBuilder configBuilder = new ParSeqRestliClientConfigBuilder();
    configBuilder.addTimeoutMs("*.*/*.GET", 1000L);
    configBuilder.addTimeoutMs("x.GET/*.GET", 1000L);
    configBuilder.addTimeoutMs("y.GET/x1.GET", 1000L);
    configBuilder.addTimeoutMs("y.GET/x2.GET", 1000L);
    configBuilder.addTimeoutMs("*.GET/x.GET", 1000L);
    configBuilder.addTimeoutMs("*.GET/x2.GET", 1000L);
    configBuilder.addTimeoutMs("*.GET/greetings.GET", 1000L);
    configBuilder.addTimeoutMs("greetings.GET/*.GET", 1000L);
    configBuilder.addTimeoutMs("greetings.GET/greetings.GET", 100L);
    configBuilder.addTimeoutMs("*.*/greetings.DELETE", 1000L);
    configBuilder.addTimeoutMs("greetings.*/greetings.DELETE", 1000L);
    configBuilder.addTimeoutMs("*.GET/greetings.DELETE", 1000L);
    configBuilder.addTimeoutMs("greetings.GET/greetings.DELETE", 500L);
    RequestConfigProvider provider = RequestConfigProvider.build(configBuilder.build(), requestContextFinder("greetings:associationsSub", ResourceMethod.GET.toString().toUpperCase(), Optional.empty(), Optional.empty()));
    RequestConfig rc = provider.apply(new GreetingsBuilders().get().id(0L).build());
    assertNotNull(rc);
    assertEquals(rc.getTimeoutMs().getValue(), Long.valueOf(100L));
    assertEquals(rc.isBatchingEnabled().getValue(), Boolean.valueOf(false));
    assertEquals(rc.getMaxBatchSize().getValue(), Integer.valueOf(1024));
    rc = provider.apply(new GreetingsBuilders().delete().id(0L).build());
    assertNotNull(rc);
    assertEquals(rc.getTimeoutMs().getValue(), Long.valueOf(500L));
    assertEquals(rc.isBatchingEnabled().getValue(), Boolean.valueOf(false));
    assertEquals(rc.getMaxBatchSize().getValue(), Integer.valueOf(1024));
}
Also used : ParSeqRestliClientConfigBuilder(com.linkedin.restli.client.ParSeqRestliClientConfigBuilder) GreetingsBuilders(com.linkedin.restli.examples.greetings.client.GreetingsBuilders) Test(org.testng.annotations.Test)

Example 5 with ParSeqRestliClientConfigBuilder

use of com.linkedin.restli.client.ParSeqRestliClientConfigBuilder in project parseq by linkedin.

the class TestRequestConfigProvider method testFromEmptyMapOverrideDefault.

@Test
public void testFromEmptyMapOverrideDefault() throws RequestConfigKeyParsingException {
    ParSeqRestliClientConfigBuilder configBuilder = new ParSeqRestliClientConfigBuilder();
    configBuilder.addTimeoutMs("*.*/*.*", 1000L);
    configBuilder.addMaxBatchSize("*.*/*.*", 4096);
    configBuilder.addBatchingEnabled("*.*/*.*", true);
    RequestConfigProvider provider = RequestConfigProvider.build(configBuilder.build(), () -> Optional.empty());
    RequestConfig rc = provider.apply(new GreetingsBuilders().get().id(0L).build());
    assertNotNull(rc);
    assertEquals(rc.getTimeoutMs().getValue(), Long.valueOf(1000L));
    assertEquals(rc.isBatchingEnabled().getValue(), Boolean.valueOf(true));
    assertEquals(rc.getMaxBatchSize().getValue(), Integer.valueOf(4096));
    rc = provider.apply(new AssociationsSubBuilders().get().srcKey("a").destKey("b").id("x").build());
    assertNotNull(rc);
    assertEquals(rc.getTimeoutMs().getValue(), Long.valueOf(1000L));
    assertEquals(rc.isBatchingEnabled().getValue(), Boolean.valueOf(true));
    assertEquals(rc.getMaxBatchSize().getValue(), Integer.valueOf(4096));
}
Also used : ParSeqRestliClientConfigBuilder(com.linkedin.restli.client.ParSeqRestliClientConfigBuilder) GreetingsBuilders(com.linkedin.restli.examples.greetings.client.GreetingsBuilders) AssociationsSubBuilders(com.linkedin.restli.examples.greetings.client.AssociationsSubBuilders) Test(org.testng.annotations.Test)

Aggregations

ParSeqRestliClientConfigBuilder (com.linkedin.restli.client.ParSeqRestliClientConfigBuilder)17 Test (org.testng.annotations.Test)14 GreetingsBuilders (com.linkedin.restli.examples.greetings.client.GreetingsBuilders)12 AssociationsSubBuilders (com.linkedin.restli.examples.greetings.client.AssociationsSubBuilders)5 ParSeqUnitTestHelper (com.linkedin.parseq.ParSeqUnitTestHelper)3 ParSeqRestliClientBuilder (com.linkedin.restli.client.ParSeqRestliClientBuilder)3 BeforeClass (org.testng.annotations.BeforeClass)3 RestLiValidationFilter (com.linkedin.restli.server.validation.RestLiValidationFilter)2 Task (com.linkedin.parseq.Task)1 BatchingSupport (com.linkedin.parseq.batching.BatchingSupport)1 Trace (com.linkedin.parseq.trace.Trace)1 ExecutionGroup (com.linkedin.restli.client.ExecutionGroup)1 ParSeqBasedCompletionStage (com.linkedin.restli.client.ParSeqBasedCompletionStage)1 ParSeqRestliClient (com.linkedin.restli.client.ParSeqRestliClient)1 ParSeqRestliClientConfig (com.linkedin.restli.client.ParSeqRestliClientConfig)1 Greeting (com.linkedin.restli.examples.greetings.api.Greeting)1 GreetingsFluentClient (com.linkedin.restli.examples.greetings.client.GreetingsFluentClient)1 GroupsBuilders (com.linkedin.restli.examples.groups.client.GroupsBuilders)1 ArrayList (java.util.ArrayList)1 Arrays (java.util.Arrays)1