Testing web app with infrataster and kitchenci
In some cases it's not sufficient to test if a nginx process is running or port 80 is open. There are some cases that before promote a change to production environment we need run some acceptance test.
I have been searching in google how to run some acceptance tests with Chef + Kitchen, and I found infrastaster, a Infraestucture Behavior Testing Framework. And on a project issue I has found a solution to run infrastaster with serverspec.
Next I show how I have implemented my own tests with infrastaster
The serverspec tests there are inside integration/default/serverspec/ directory in the chef-repo.
Create a file integration/default/serverspec/Gemfile
Create a file integration/default/serverspec/spec_helper
Create tests
This test check if port 80 is open, and connect to http://testing.shopswey.com url to check if the response contains the string Shopswey
After create the test, you can run a kitchen verify to run the test. When you run the kitchen verify, Kitchen install infrastaster on the node.
How to install simple-jekyll-search plugin
Create a Vagrant box from existing one