first pass at fully functional test infrastructure to work with travis ci