Assure errors are raised when recoverable errors occur

Unfortunately sidekiq bypasses large chunks of functionality in test mode which means we do not run retries when running sidekiq 'inline!'. Instead we depend here on sidekiq's default functionality to retry in the case of a raised error and use this test to assert that a FailedToPublishError is raised causing this default sidekiq functionality.