Проверьте, что было запущено событие AWS EventBridge (или CloudWatch) - PullRequest
3 голосов
/ 18 марта 2020

Я выполняю некоторые интеграционные тесты на микросервисе, который я встроил в AWS. Один из тестов состоит в том, чтобы утверждать, что служба вызывает событие AWS EventBridge, так как нисходящие службы должны будут подписаться на это событие.

Мой вопрос заключается в том, как мне проверить это в контексте моей службы mircroservice. ?

Мне нужно просто утверждать, что событие было запущено в AWS. Я надеялся, что AWS SDK позволит каким-то образом утверждать это, например, иметь возможность подписаться на событие в какой-либо длинной операции типа опроса, но не смог ничего найти.

ПРИМЕЧАНИЕ: не ищите ответы на двойные шпионские тесты, пожалуйста. Уровень тестирования, который я выполняю, требует подтверждения того, что фактическое событие было запущено в AWS EventBridge

Ответы [ 2 ]

3 голосов
/ 12 апреля 2020

Вы можете создать правило для указанного вами c события и нацелить на SQS.

Затем вы можете прочитать из SQS (используя длинный опрос) и утверждать, что событие сработало.

1 голос
/ 14 апреля 2020

Вы можете проверить метрики CloudWatch для своего правила, например TriggeredRules , Вызовов и FailedInvocations для отладки. Проверьте ведение журнала и мониторинг в Amazon EventBridge здесь

Если правило запускается событием из службы AWS, вы также можете использовать TestEventPattern действие, чтобы проверить шаблон событий нашего правила с тестовым событием, чтобы убедиться, что шаблон событий вашего правила установлен правильно. Для получения дополнительной информации о том, как использовать TestEventPattern se TestEventPattern docs

...