call callback on connect timeout, add tests