Feature/api testing

Introduce a test suite to make sure we don't break old things when introducing new features & allow us testing new features.