spec/consumer_spec.rb in deimos-ruby-1.1.0.pre.beta2 vs spec/consumer_spec.rb in deimos-ruby-1.2.0.pre.beta1

- old
+ new

@@ -10,10 +10,15 @@ schema 'MySchema' namespace 'com.my-namespace' key_config field: 'test_id' # :nodoc: + def fatal_error?(_exception, payload, _metadata) + payload == 'fatal' + end + + # :nodoc: def consume(_payload, _metadata) raise 'This should not be called unless call_original is set' end end stub_const('ConsumerTest::MyConsumer', consumer_class) @@ -34,9 +39,22 @@ expect(payload['test_id']).to eq('foo') end end it 'should fail on invalid message' do + test_consume_invalid_message(MyConsumer, 'invalid' => 'key') + end + + it 'should fail if reraise is false but fatal_error is true' do + Deimos.configure { |config| config.reraise_consumer_errors = false } + test_consume_invalid_message(MyConsumer, 'fatal') + end + + it 'should fail if fatal_error is true globally' do + Deimos.configure do |config| + config.fatal_error { true } + config.reraise_consumer_errors = false + end test_consume_invalid_message(MyConsumer, 'invalid' => 'key') end it 'should fail on message with extra fields' do test_consume_invalid_message(MyConsumer,