failing with an appropriate message when there is neither default nor user-set port, rewrote test to be shorter