From the book Test Driven Infrastructure with Chef