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.
The easiest way is to get the
fakesdb-standalone-1.5.jar from github and run:
java -jar fakesdb-standalone-1.5.jar
This will start up an embedded instance of Jetty on port 8080. You can pass
-Dport=X to specify a different port.
If you're already running a J2EE container and want to deploy
fakesdb there, you can download
fakesdb-1.5.war also from github.
To facilitate testing, issuing a
DomainName=_flushwill reset all of the data
SelectParserprobably has some bugs in it--the grammar is fairly off-the-cuff.
QueryParsershould be pretty solid.
Typica is used for unit testing the server's responses
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 run
fakesdbon port 80 or else redirect port 80 traffic to 8080 with a firewall rule.
- 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
Jettybootstrap classes from
- 2.2 - 25 Apr 2011
- BatchDeleteAttributes support (Alexander Gorkunov)
- Partial Select support (Alexander Gorkunov)
- Pre-2.2 various releases
build.xmlhack over to
- Hook up the test suite to
sbtso that it is scripted
- 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 flip
fakesdbinto several error modes either via a web UI or meta-domains (like the current