I've been able to mock behaviour very much at the outer boundaries of the app, like:
- Faking command-line options
- Faking the data in the user's token file
- Faking HTTP GET requests for actors, streams, and objects
- Faking HTTP POST requests to create new activities
- Faking user input
Overall, it's been a really fun, interesting process. I had ~20 commands programmed with no tests, and I've been able to add tests for almost all of them in less than a day of coding.