String expectedMessageId = "sampleMessageId";
String expectedSessionId = "sampleSessionId";
String expectedReplyTo = "sampleReplyTo";
String expectedTo = "sampleTo";
service.createTopic(new TopicInfo(topicName));
CorrelationFilter correlationFilter = new CorrelationFilter();
correlationFilter.setCorrelationId(expectedCorrelationId);
correlationFilter.setContentType(expectedContentType);
correlationFilter.setLabel(expectedLabel);
correlationFilter.setMessageId(expectedMessageId);
correlationFilter.setReplyTo(expectedReplyTo);
correlationFilter.setSessionId(expectedSessionId);
correlationFilter.setTo(expectedTo);
RuleDescription ruleDescription = new RuleDescription();
ruleDescription.setFilter(correlationFilter);
// Act
SubscriptionInfo created = service.createSubscription(
topicName,
new SubscriptionInfo("MySubscription")
.setDefaultRuleDescription(ruleDescription)).getValue();
RuleInfo ruleInfo = service.getRule(topicName, "MySubscription",
"$Default").getValue();
CorrelationFilter correlationFilterResult = (CorrelationFilter) ruleInfo
.getFilter();
// Assert
assertNotNull(created);
assertEquals("MySubscription", created.getName());
assertEquals(false, created.isRequiresSession());
assertEquals(true,
created.isDeadLetteringOnFilterEvaluationExceptions());
assertNotNull(created.getCreatedAt());
assertNotNull(created.getUpdatedAt());
assertNotNull(created.getAccessedAt());
assertNotNull(created.getAutoDeleteOnIdle());
assertNotNull(correlationFilterResult);
assertEquals(expectedCorrelationId,
correlationFilterResult.getCorrelationId());
assertEquals(expectedContentType,
correlationFilterResult.getContentType());
assertEquals(expectedLabel, correlationFilterResult.getLabel());
assertEquals(expectedMessageId, correlationFilterResult.getMessageId());
assertEquals(expectedSessionId, correlationFilterResult.getSessionId());
assertEquals(expectedReplyTo, correlationFilterResult.getReplyTo());
assertEquals(expectedTo, correlationFilterResult.getTo());
}