Я хочу протестировать работающий компонент, который в результате выполнения отправляет сообщение в теме SNS.
Есть ли способ создания «встроенной» клиентской подписки с Java SDK?
Что-то в строке (псевдокод):
@Test
public void testProcessingResult() throws Exception {
final Box<Object> resultBox = new Box();
snsClient.subscribe(new SubscribeRequest(topicArn,
msg -> resultBox.setValue(extractResult(msg))
));
...
httpClient.post(endpoint, params); // send the request
Thread.sleep(2000); // wait for eventual processing
assertEquals(expected, resultBox.getValue());
}
Одним из способов достижения этой цели может быть создание очереди Amazon SQS и регистрация в ней тестового клиента, а затем получение результата с помощью опроса.
Есть ли более простой способ?