Sha256: aba058aa7db46383ebac51620a0cbef413bbe9d89709b64b89b757657b5a355a

Contents?: true

Size: 1.25 KB

Versions: 5

Compression:

Stored size: 1.25 KB

Contents

Feature: Error Handling

  Background:
    Given I am connected to the broker

  @bunny
  Scenario: Queue isn't found on the broker
    When I execute the following code
    """ruby
    MessageDriver::Broker.dynamic_destination("missing_queue", passive: true)
    """

    Then I expect it to raise a MessageDriver::QueueNotFound error

  @no_ci
  @bunny
  @slow
  Scenario: The broker goes down
    Given the following broker configuration
    """ruby
    MessageDriver::Broker.define do |b|
      b.destination :my_queue, "broker_down_queue", durable: true, arguments: {:'x-expires' => 1000*60*10 } #expires in 10 minutes
    end
    """
    And I have no messages on :my_queue

    When I execute the following code
    """ruby
    publish(:my_queue, "Test Message 1")
    """
    And the broker goes down
    And I execute the following code
    """ruby
    publish(:my_queue, "Test Message 2")
    """
    Then I expect it to raise a MessageDriver::ConnectionError error

    When the broker comes up
    And I execute the following code
    """ruby
    publish(:my_queue, "Test Message 3")
    """

    Then I expect to have no errors
    And I expect to find the following 2 messages on :my_queue
      | body           |
      | Test Message 1 |
      | Test Message 3 |

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
message-driver-0.2.2 features/error_handling.feature
message-driver-0.2.1 features/error_handling.feature
message-driver-0.2.0 features/error_handling.feature
message-driver-0.2.0.rc2 features/error_handling.feature
message-driver-0.2.0.rc1 features/error_handling.feature