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 static SubscriptionBuilder subscription(TopicName topicName, String subscriptionName) { return new SubscriptionBuilder(topicName, subscriptionName); }
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); }
private Subscription anySubscription() { SubscriptionName name = SubscriptionName.fromString("com.test.topic$" + Math.abs(UUID.randomUUID().getMostSignificantBits())); Subscription subscription = subscription(name).build(); given(subscriptionRepository.getSubscriptionDetails(name)).willReturn(subscription); return subscription; }
@Test public void shouldAnonymizePassword() { // given Subscription subscription = subscription("group.topic", "subscription").withEndpoint("http://user:password@service/path").build(); // when & then assertThat(subscription.anonymize().getEndpoint()).isEqualTo(new EndpointAddress("http://user:*****@service/path")); }
@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); }
private Subscription subscriptionWithTtl(int ttl) { return subscriptionBuilderWithTestValues() .withSubscriptionPolicy(subscriptionPolicy().applyDefaults() .withMessageTtl(ttl) .build()) .build(); }
@Test public void shouldDispatchCorrectTracker() { assertThat(trackers.get(subscription("group.topic", "sub").withTrackingMode(TrackingMode.TRACKING_OFF) .build())).isEqualTo(noOperationDeliveryTracker); assertThat(trackers.get(subscription("group.topic", "sub") .withTrackingMode(TrackingMode.TRACK_DISCARDED_ONLY).build())).isEqualTo(discardedSendingTracker); assertThat(trackers.get(subscription("group.topic", "sub").withTrackingMode(TrackingMode.TRACK_ALL) .build())).isEqualTo(messageDeliveryTracker); }
@Test public void shouldApplyPatchChangingSubscriptionOAuthPolicyGrantType() { // given Subscription subscription = subscription("group.topic", "subscription") .withOAuthPolicy(new SubscriptionOAuthPolicy(CLIENT_CREDENTIALS, "myProvider", "repo", null, null)) .build(); PatchData oAuthPolicyPatchData = patchData() .set("grantType", SubscriptionOAuthPolicy.GrantType.USERNAME_PASSWORD.getName()) .set("username", "user1") .set("password", "abc123") .build(); PatchData patch = patchData() .set("oAuthPolicy", oAuthPolicyPatchData) .build(); // when Subscription updated = Patch.apply(subscription, patch); // then SubscriptionOAuthPolicy updatedPolicy = updated.getOAuthPolicy(); assertThat(updatedPolicy.getGrantType()).isEqualTo(USERNAME_PASSWORD); assertThat(updatedPolicy.getUsername()).isEqualTo("user1"); } }
private Subscription subscriptionWithEndpoint(String endpoint) { return subscriptionBuilderWithTestValues().withEndpoint(endpoint).build(); }
private SubscriptionBuilder subscriptionBuilderWithTestValues() { return subscription("group.topic", "subscription"); }
private Subscription subscriptionWithRequestTimeout(int timeout) { return subscriptionBuilderWithTestValues().withRequestTimeout(timeout).build(); }
private Subscription subscriptionWithout4xxRetryAndWithOAuthPolicy() { return subscriptionBuilderWithTestValues() .withOAuthPolicy(passwordGrantOAuthPolicy("myOAuthProvider") .withUsername("user1") .withPassword("abc123") .build()) .build(); }
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); }
@Test public void shouldGetProtocolNotSupportedExceptionWhenPassingUnknownUri() { // given Subscription subscription = subscription("group.topic", "subscription", "unknown://localhost:8080/test").build(); // when catchException(factory).create(subscription); // then assertThat(CatchException.<EndpointProtocolNotSupportedException>caughtException()) .isInstanceOf(EndpointProtocolNotSupportedException.class); }
private Subscription subscriptionWithBackoff(int backoff) { return subscriptionBuilderWithTestValues() .withSubscriptionPolicy(subscriptionPolicy().applyDefaults() .withMessageBackoff(backoff) .build()) .build(); }
public static SubscriptionBuilder subscription(String topicQualifiedName, String subscriptionName, EndpointAddress endpoint) { return subscription(TopicName.fromQualifiedName(topicQualifiedName), subscriptionName, endpoint); }
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); }
@Test public void shouldCreateCustomProtocolMessageSender() { // given EndpointAddress endpoint = EndpointAddress.of("myProtocol://service"); Subscription subscription = subscription("group.topic", "subscription", endpoint).build(); factory.addSupportedProtocol("myProtocol", protocolMessageSenderProviderReturning(referenceMessageSender)); // when MessageSender sender = factory.create(subscription); // then assertThat(sender).isEqualTo(referenceMessageSender); }
private Subscription subscriptionWithTtlAndClientErrorRetry(int ttl) { return subscriptionBuilderWithTestValues() .withSubscriptionPolicy(subscriptionPolicy().applyDefaults() .withMessageTtl(ttl) .withClientErrorRetry() .build()) .build(); }