A fun project for the last few nights has been reviving some test code. I’ve open-sourced it as giant-blackbox.
Blackbox has a long history; it first existed as a Bamboo CI script (remember Bamboo?). Then it was part of an internal webapp, the aptly-named ‘Quality.git’. I think to one point it was part of a Jenkins deployment. But throughout, the job has been the same; to run some simple outside-in tests on a given hostname.
These are simple quality checks that most agencies expect from their client projects:
- Making sure a sitemap.xml exist.
- Ensuring that SSL is working correctly, and that we redirect to HTTPS.
- Test that responses are gzipped
… among other things. Reviving code which is so old is a fun project (the last commit was five years ago). It’s somewhat surprising how much worked first time; assuming you have a Python2.7 interpreter available there isn’t much which has changed in that ecosystem; PyPi still works, libraries are still available. Moving the code to Python3 and poetry was by-the-numbers.
There is work to do to add more capabilities, and increase the feature set (I would like to be able to specify tests to ignore, in particular).