use the listen callback to ensure server.address() doesn't return null

Otherwise it's a race condition (one that fails each time on my machine).