No, AWS does not currently provide a way to start SNS locally. However, there are several ways developers can test our applications to ensure good behavior when integrating with external services.
Here are three options you should consider:
- Integration Account
- Tantalizing
- Fake sns
Amazon does not provide a sandbox zone for testing applications. However, there is nothing that will prevent us from registering events at the integration level.
As an example, register a theme in AWS called "NewAccountEvent-Dev" and provide this theme for integration testing. This will ensure that your AWS applications are built correctly. I usually expect most mature teams to have several fully integrated test environments. Try and make sure that the regions before production are exactly the same as the production.
As developers, we must make sure that we pick up the problems as early as possible. Solving integration problems after deploying the application, even in a test environment, is quite far in the development process. To improve our integration environment, we can use the concept of call mocks. Mocks will allow us to solve problems during assembly.
Mocking allows you to check whether the application will correctly respond to messages that you expect from SNS. You manually configure the answers and start writing your tests against fake SNS. There are many mocking tools to help you expose layouts. The selected language and angle will ultimately lead to the selection of the frame. Personally, I am most familiar with Mokito, since I use it in a spring boot.
Finally, you can start the application and enable a service that emulates SNS. This is similar to DynamoDBLocal FakeSNS . If you are writing an application that has great integration in SNS. those. delete, create, work with permissions, etc. This project will be a good look. These servers are richer because they usually implement logic within the service itself, rather than just mocking the interface.
Unfortunately, Fake SNS does not seem to have much GitHub activity at the moment; therefore, I would advise you to continue to do more research.