Raise "missing credentials" as an exception
Use logging for logs and fix syntax
Use coverage to run tests
Make tests cover client.Client.fetch()