GoAMZ-DynamoDB is my experimental project forked from crowdmob/goamz/dynamodb.
These are no gurantees of API stability for now.
- v0 is identical with the master. This indicates v0 is continuously integrated with breaking changes.
- v1 has the compatibility with
crowdmob/goamz/dynamodb
. - v2 will be created once current v0 goes stable.
- cleanup the code base
- cleanup the test code
- keep the code well-tested and reviewed
- keep the code idiomatic go
- add documentation
The API documentation is currently available at:
http://godoc.org/github.com/nabeken/goamz-dynamodb
Thanks to dynalite, goamz-dynamodb is now integrated on every commit on Travis CI.
goamz-dynamodb has unittest and integration test using DynamoDB Local, dynalite and real DynamoDB.
DynamoDB local and dynalite are managed by supervisord. You need to install virtualenv and nodejs if you want to run the tests against dynalite. Our Makefile installs supervisord automatically in virtualenv.
$ (cd test && make supervisord)
You can stop supervisord:
$ (cd test && make stop)
To download and launch DynamoDB local:
$ ./test/setup-dynamodblocal.sh
$ (cd test && ./venv/bin/supervisorctl start dynamodb_local)
To test:
$ go test -v -integration -provider=local
According to LICENSE.txt in DynamoDB local distribution, AWS grants us a license to run DynamoDB local on the machine owned or controlled by us. we can't use DynamoDB local on travis-ci since travis-ci runs by third party.
You need to install nodejs before installing dynalite.
$ npm install -g dynalite
$ (cd test && ./venv/bin/supervisorctl start dynalite)
To test:
$ go test -v -integration -provider=dynalite
WARNING: Some dangerous operations such as DeleteTable
will be performed during the tests. Please be careful.
To test:
$ go test -v -integration -provider=amazon
Note: Running tests against real DynamoDB will take several minutes.
See LICENSE.