Add diagnostic message for failure during CLI search deploy (#29462)

main-rebase-security-fix
Matt Jankowski 2024-03-15 10:26:23 -04:00 committed by GitHub
parent c76ae7a5c0
commit 4f4132f1a1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 19 additions and 0 deletions

View File

@ -100,6 +100,14 @@ module Mastodon::CLI
progress.finish
say("Indexed #{added} records, de-indexed #{removed}", :green, true)
rescue Elasticsearch::Transport::Transport::ServerError => e
fail_with_message <<~ERROR
There was an issue connecting to the search server. Make sure the
server is configured and running correctly, and that the environment
variable settings match what the server is expecting.
#{e.message}
ERROR
end
private

View File

@ -33,6 +33,17 @@ describe Mastodon::CLI::Search do
end
end
context 'when server communication raises an error' do
let(:options) { { reset_chewy: true } }
before { allow(Chewy::Stash::Specification).to receive(:reset!).and_raise(Elasticsearch::Transport::Transport::Errors::InternalServerError) }
it 'Exits with error message' do
expect { subject }
.to raise_error(Thor::Error, /issue connecting to the search/)
end
end
context 'without options' do
before { stub_search_indexes }