Sha256: 42af312480770ab7a6808fd6d4a7f7c42ec733f4328bee96e79f82006a062a9f

Contents?: true

Size: 822 Bytes

Versions: 73

Compression:

Stored size: 822 Bytes

Contents

Given /^there is a wire server (running |)on port (\d+) which understands the following protocol:$/ do |running, port, table|
  table.map_column!('response') {|cell| cell.gsub(/\n/, '\n')}
  protocol = table.hashes
  @server = FakeWireServer.new(port.to_i, protocol)
  start_wire_server if running.strip == "running"
end

Given /^the wire server takes (.*) seconds to respond to the invoke message$/ do |timeout|
  @server.delay_response(:invoke, timeout.to_f)
  start_wire_server
end

module WireHelper
  def start_wire_server
    @wire_pid = fork do
      at_exit { stop_wire_server }
      @server.run
    end
  end
  
  def stop_wire_server
    return unless @wire_pid
    Process.kill('KILL', @wire_pid)
    Process.wait
  end
end

Before('@wire') do
  extend(WireHelper)
end

After('@wire') do
  stop_wire_server
end

Version data entries

73 entries across 69 versions & 11 rubygems

Version Path
cucumber-1.0.4 legacy_features/step_definitions/wire_steps.rb
cucumber-1.0.3 legacy_features/step_definitions/wire_steps.rb
cucumber-1.0.2 legacy_features/step_definitions/wire_steps.rb
cucumber-1.0.1 legacy_features/step_definitions/wire_steps.rb
cucumber-1.0.0 legacy_features/step_definitions/wire_steps.rb
cucumber-0.10.7 legacy_features/step_definitions/wire_steps.rb
cucumber-0.10.6 legacy_features/step_definitions/wire_steps.rb
cucumber-0.10.5 legacy_features/step_definitions/wire_steps.rb
cucumber-0.10.3 legacy_features/step_definitions/wire_steps.rb
cucumber-0.10.2 legacy_features/step_definitions/wire_steps.rb
cucumber-0.10.1 legacy_features/step_definitions/wire_steps.rb
stefl-cucumber-0.10.1 legacy_features/step_definitions/wire_steps.rb
cucumber-0.10.0 legacy_features/step_definitions/wire_steps.rb