Champion! The structure of the connection plug-ins will drastically change for asynchronous connect when that arrives, so right now what you have is perfect -- a little cutpaste it's all I've been doing too :P
Eventually these will be converted to a small set of state machine classes, and the most important thing to capture are the expected strings and general behaviour.
I need to write better stub test implementations for a bunch of stuff, including su, so I will add doas to the list.
Also the "mitogen" Travis jobs are failing right now due to the child process reaping issue -- don't worry about those either.