From c1b64e3493779c0e105b901d2a8f1fb8512d8bef Mon Sep 17 00:00:00 2001 From: ganmacs Date: Fri, 22 Jun 2018 00:48:06 +0900 Subject: GRPC::Cancelled should be occured when calling Enumrable#next on canceled call --- src/ruby/spec/generic/client_stub_spec.rb | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/ruby/spec') diff --git a/src/ruby/spec/generic/client_stub_spec.rb b/src/ruby/spec/generic/client_stub_spec.rb index 3f878cc100..fbf594a655 100644 --- a/src/ruby/spec/generic/client_stub_spec.rb +++ b/src/ruby/spec/generic/client_stub_spec.rb @@ -589,6 +589,18 @@ describe 'ClientStub' do # rubocop:disable Metrics/BlockLength responses.each { |r| p r } end end + + it 'raises GRPC::Cancelled after the call has been cancelled' do + server_port = create_test_server + host = "localhost:#{server_port}" + th = run_server_streamer(@sent_msg, @replys, @pass) + stub = GRPC::ClientStub.new(host, :this_channel_is_insecure) + resp = get_responses(stub, run_start_call_first: false) + expect(resp.next).to eq('reply_1') + @op.cancel + expect { resp.next }.to raise_error(GRPC::Cancelled) + th.join + end end end -- cgit v1.2.3