Skip to content

Partial implementation of AWS Java SDK that operates locally

License

Notifications You must be signed in to change notification settings

handavid/awslocal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

awslocal

Implements some of the AWS Java SDK interfaces so that they can work entirely on the local machine.

Which interfaces?

Currently, this implements:

  • SQS queues, by representing queues as directories and messages as files.
  • SNS, but only with the SQS protocol (it represents the topics in memory, and it takes an AmazonSQS implementation to send to SQS protocol subscriptions).

Using it

This library is built in Java 7.

  • SQS:

    AmazonSQS sqsClient = new DirectorySQS("<base directory for queues>")

    Then just use sqsClient just as the SDK specifies - create queues and send messages!

  • SNS:

    AmazonSNS snsClient = new InMemorySNS(<something implementing AmazonSQS>)

    Again, use it as if it were SNS; subscribe queues to topics, and broadcast to those topics! Note that topics only exist for a specific InMemorySNS.

See the tests for further examples of use.

Further development

These implementations have been tested fairly thoroughly, so you should be able to rely on them for testing projects that use SNS and SQS. We (Robby and Aidan) haven't needed any other interfaces implemented yet, so we don't have plans to add more stuff. However, if you find any bugs, please do open a ticket, and we'll see what we can do! If you want to add implementations for further interfaces, send us a pull request and we'll take a look.

Licensing

See the LICENSE file.

About

Partial implementation of AWS Java SDK that operates locally

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages