public void createBatchSubscription(Topic topic, String endpoint, BatchSubscriptionPolicy policy) { Subscription subscription = subscription(topic, "batchSubscription") .withEndpoint(endpoint) .withContentType(ContentType.JSON) .withSubscriptionPolicy(policy) .build(); createSubscription(topic, subscription); }
public void createBatchSubscription(Topic topic, String endpoint, BatchSubscriptionPolicy policy) { Subscription subscription = subscription(topic, "batchSubscription") .withEndpoint(endpoint) .withContentType(ContentType.JSON) .withSubscriptionPolicy(policy) .build(); createSubscription(topic, subscription); }
@Before public void setup() { ConfigFactory config = mock(ConfigFactory.class); when(config.getDoubleProperty(Configs.CONSUMER_RATE_CONVERGENCE_FACTOR)).thenReturn(0.5); when(config.getIntProperty(Configs.CONSUMER_RATE_LIMITER_SLOW_MODE_DELAY)).thenReturn(1); when(config.getIntProperty(Configs.CONSUMER_RATE_LIMITER_HEARTBEAT_MODE_DELAY)).thenReturn(60); subscription = subscription("group.topic", "subscription").withSubscriptionPolicy( SubscriptionPolicy.Builder.subscriptionPolicy().withRate(200).build() ).build(); NegotiatedMaxRateProvider maxRateProvider = mock(NegotiatedMaxRateProvider.class); when(maxRateProvider.get()).thenReturn(100D); calculator = new OutputRateCalculator(config, maxRateProvider); }
@Test public void shouldDelaySendingMessageForHalfSecond() { // given Subscription subscription = subscriptionBuilderWithTestValues() .withSubscriptionPolicy(subscriptionPolicy().applyDefaults() .withSendingDelay(500) .build()) .build(); setUpMetrics(subscription); Message message = message(); when(messageSender.send(message)).thenReturn(success()); ConsumerMessageSender sender = consumerMessageSender(subscription); // when long sendingStartTime = System.currentTimeMillis(); sender.sendAsync(message); verify(successHandler, timeout(1000)).handleSuccess(eq(message), eq(subscription), any(MessageSendingResult.class)); // then long sendingTime = System.currentTimeMillis() - sendingStartTime; assertThat(sendingTime).isGreaterThan(500); }
public Subscription createSubscription(Topic topic, String subscriptionName, String endpoint, ContentType contentType, SubscriptionMode mode, Subscription.State state) { Subscription subscription = subscription(topic, subscriptionName) .withEndpoint(endpoint) .withContentType(contentType) .withSubscriptionPolicy(subscriptionPolicy().applyDefaults().build()) .withMode(mode) .withState(state) .build(); return createSubscription(topic, subscription); }
public Subscription createSubscription(Topic topic, String subscriptionName, String endpoint, ContentType contentType, SubscriptionMode mode, Subscription.State state) { Subscription subscription = subscription(topic, subscriptionName) .withEndpoint(endpoint) .withContentType(contentType) .withSubscriptionPolicy(subscriptionPolicy().applyDefaults().build()) .withMode(mode) .withState(state) .build(); return createSubscription(topic, subscription); }
private Subscription subscriptionWithTtl(int ttl) { return subscriptionBuilderWithTestValues() .withSubscriptionPolicy(subscriptionPolicy().applyDefaults() .withMessageTtl(ttl) .build()) .build(); }
private Subscription subscriptionWithBackoff(int backoff) { return subscriptionBuilderWithTestValues() .withSubscriptionPolicy(subscriptionPolicy().applyDefaults() .withMessageBackoff(backoff) .build()) .build(); }
private Subscription subscriptionWithTtlAndClientErrorRetry(int ttl) { return subscriptionBuilderWithTestValues() .withSubscriptionPolicy(subscriptionPolicy().applyDefaults() .withMessageTtl(ttl) .withClientErrorRetry() .build()) .build(); }