amazonwebservices/aws-sdk-for-ruby — pull request #61 by petemounce (2012-07-26 15:41:56+00:00)
Title: SNS message handling

* Introduced `AWS::SNS::Message` to wrap [raw JSON SNS messages](http://docs.amazonwebservices.com/sns/latest/gsg/json-formats.html).
** To-do: support the different `canonical_string` for SubscriptionConfirmation and Unsubscribe SNS types
* `Message` also deals with crypographically authenticating SNS messages via [the method documented by AWS-SNS](http://docs.amazonwebservices.com/sns/latest/gsg/SendMessageToHttp.verify.signature.html)
* `Message` also builds in (crude) support for extending itself based on the originator of the message. The idea is that there's one mixin per originator.
** `FromAutoScaling` is one such originator, and partially wraps the SNS data that auto-scaling writes into the body of its notifications

To-do:
* Cucumber-based integration tests. Need a steer there, since the only thing I've come up with is to for-real create a `Topic`, and then `subscribe` a newly-created `SQS` to notifications and assert off them. I imagine there must be either better options for a test-harness, or some way of providing credentials so that the developer doing the work can put them somewhere to be read and all the tests then run off of those...?
* The JSON that the specs use link against real resources (I think; they were created weeks ago now and to be honest I've forgotten whether those still exist or not), and probably either shouldn't, or should link against AWS-owned ones so that they're less likely to ephemerally disappear in a puff of cloud :-)