Add Tests

Adds tests. Increases test coverage from 30% to 70% :smile_cat: 
A lot of HttpClientMock can be simplified, but since this is just for testing (and is untested itself), how much effort should we put into writing clean code? That said, we also use HttpClientMock in our Android tests, so maybe improving it is worthwhile?