Add diagnostic message for failure during CLI search deploy (#29462)
This commit is contained in:
		@@ -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
 | 
			
		||||
 
 | 
			
		||||
@@ -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 }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user