Localstack создает тему SNS для тестирования интеграции Java

Я пишу интеграционный тест, в котором я использую стек для запуска док-контейнера localstack, имитирующего сервисы AWS.

Этот код запустит контейнер докеров

@RunWith(LocalstackTestRunner.class)
@LocalstackDockerProperties(services = {"dynamodb", "sns"})

Затем я звоню издателю из моего приложения из одного из моих тестов. Но я получаю исключение для темы, не найденной

com.amazonaws.services.sns.model.NotFoundException: Topic does not exist (Service: AmazonSNS; Status Code: 404; Error Code: NotFound; Request ID: 06c6a626)

Я не могу найти хороший пример создания темы SNS для модульного теста с java в Интернете. Я могу найти команду для интерфейса командной строки aws, которая создаст что-то вроде этого

$ aws --endpoint-url=http://localhost:4575 sns create-topic --name my_topic

Но я ищу что-то, что можно было бы использовать в своем весеннем загрузочном модульном тесте.


person AnonymousAlias    schedule 19.05.2020    source источник


Ответы (1)


AmazonSNS amazonSNS = DockerTestUtils.getClientSNS();
amazonSNS.createTopic("testTopic");

В @Before или в начале вашего теста.

person Artem Bilan    schedule 19.05.2020