Add spec for exchange.publish with top-level props