Now a basic build is working on Travis, it's time to patch it up and improve it a bit for this use case.
Work still left to do:
[x] Disable VCR cache - run against the real API
[x] Think of a convention and annotation to mark which subset of tests can be run on CI vs. those that should be skipped in CI
[x] Create a 'manual' folder under 'test'
[x] Refactor and move any tests that CI cannot run into the 'test/manual' folder. (The implication is that we will try to test everything on CI out of the box, but if your test needs OAuth user credentials, it needs to be run manually at this time, so it should be put in the 'manual' folder so that CI knows to skip it.)
[x] Populate MENDELEY_CLIENT_ID and MENDELEY_CLIENT_SECRET encrypted environment variables on Travis CI
[x] Make Python scripts read MENDELEY_CLIENT_ID and MENDELEY_CLIENT_SECRET from environment variables to allow it to hit the live API successfully
Now a basic build is working on Travis, it's time to patch it up and improve it a bit for this use case.
Work still left to do: