Amazonudostepnia specjalne konta do testów. Z tego co pamiętam trzeba mieć serwis wystawiony na internet bo wszystko i st asynchroniczne i podajesz adres callbacka .
Jeżeli poczekasz do wtorku to wrzucę przykładowy kod. Jak zapłacisz to zrobię gema
Na koniec masz gista który pozwala spokojnie odbierać powiadomienia SNS, przetwarzanie pozostawiam ci do uzupełnienia bo nie wiem do czego planujesz SNS używać (otwórz na githubie, zauważyłem że forum cachuje, więc nie widać porpawek):
Dzięki za odpowiedzi, chociaż może źle się wyraziłem, to niekoniecznie o to mi chodziło
Kod do odbierania jest dosyć prosty do zrobienia, tu jeszcze brakuje sprawdzania podpisu notyfikacji, ale sam też go jeszcze nie zrobiłem, więc nie mogę uzupełnić.
Chodziło mi już bezpośrednio o test integracyjny. Narazie użyłem subskrypcji email-json, żeby wydobyć wiadomości od snsa, a następnie Postman do zrobienia requestu. Na stagingu sie okaże, czy działa
W necie są sugestie, żeby do testowania stawiać instancję EC2, i stunelować port do lokalnej maszyny. Wtedy po ustawieniu subskrypcji na instancję widoczną wewnątrz AWS, dostajemy powiadomienia lokalnie. Wydaje mi się, że to jest overkill trochę.
Jeżeli mówimy o teście integracyjnym to ja bym stworzył po prostu plik z takim testem integracyjnym. Wysłał kupę zapytań używając Net/HTTPS i czekał na odpowiedzi.
# startujemy serwer rack, etc.
timeut = 30 * 60 # seconds
{ request => expected_response, r3 => er2, ... }.each do |request|
Thread.new do
send_request_to_sns(request)
sleep timeout
check_if_we_got_response(response)
end
end
cały test odpalamy na maszynie stagingowej/produkcyjnej i patrzymy co sie dzieje