fakesdb
                                
                                 fakesdb copied to clipboard
                                
                                    fakesdb copied to clipboard
                            
                            
                            
                        a fake version of Amazon's SimpleDB for local/integration testing
Overview
A fake version of Amazon's SimpleDB. Local, in-memory, consistent, deployed as a war.
The entire REST API (Query, Select, etc.) is implemented in ~750 lines of Scala.
Install
You can get fakesdb from:
- 
The downloads page 
- 
The http://repo.joist.ws Maven repository, e.g. com.bizo+fakesdb-testing_2.9.1+2.6.1here
There are a few different modules:
- 
fakesdb-standalonehas all of the dependencies (including Scala) as an uber-jar for running from the CLI.You can run this as: `java -jar fakesdb-standalone-1.5.jar`And it will start up an embedded instance of Jetty on port 8080. You can pass -Dport=Xto specify a different port.
- 
fakesdb-testingis the dependencies (without Scala) as an uber-jar for embedding.From within a unit test, you can call: fakesdb.Jetty.apply(8080)To start up fakesdb on port 8080. 
- 
fakesdb-servletis just the fakesdb classes (no dependencies) for running within your own webapp. E.g. add thefakesdb.FakeSdbServletto your ownweb.xmlfile.You could also use this version for AmazonSimpleDbStubif you want to do in-memory only testing.
- 
fakesdb.waris (was--it's not being published right now) to drop into your Tomcat/etc.
Notes
- 
To facilitate testing, issuing a CreateDomaincommand withDomainName=_flushwill reset all of the data
- 
If you're using the typicaJava SimpleDB client, versions through 1.6 only use port 80, even when given a non-80 setting. So you'll either have to runfakesdbon port 80 or else redirect port 80 traffic to 8080 with a firewall rule.
Changelog
- 2.6.1 - 15 November 2012
- Add <stacktrace>to error responses (Alex Boisvert)
- Build improvements (Alex Boisvert)
 
- Add 
- 2.5 - 6 Oct 2012
- Add AmazonSimpleDbStub for in-memory testing of clients using the AWS Java SDK
- Switch from sbt to buildr
 
- 2.4 - 23 Aug 2011
- Upgrade to Scala 2.9.0-1 and Jetty 8.0.0.RC0
- Make new fakesdb-testing.jarwhich has jetty but not scala-library
 
- 2.3 - 23 Aug 2011
- Remove Jettybootstrap classes fromfakesdb-servlet.jar
 
- Remove 
- 2.2 - 25 Apr 2011
- BatchDeleteAttributes support (Alexander Gorkunov)
- Partial Select support (Alexander Gorkunov)
 
- Pre-2.2 various releases
Todo
- Loading the SDB URL in a browser (e.g. without a REST action) should display all of the current data
- Release It talks about having "fake" (better term?) versions of systems like fakesdbpurposefully lock up, fail, etc., to test how your real application responds--it would be cool to flipfakesdbinto several error modes either via a web UI or meta-domains (like the current_flushdomain)
License
Licensed under the terms of the Apache Software License v2.0.
http://www.apache.org/licenses/LICENSE-2.0.html