

Given("I am the runner") do
  puts 'I am the runner'
end

When(/^I am triggered with message "([^"]*)"$/) do |arg|
  message = {"message"=>arg}
  open('./event.json', 'w') { |f| f << message.to_json }
  @startup  = `python-lambda-local -l '../../venv' -f 'handler' -e './env.json' ../../runner.py ./event.json`
end

Then("I send a message to my queue") do
  resp = @sqs_client.receive_message({queue_url: @queue.queue_url,
                                      attribute_names: ['All'],
                                      max_number_of_messages: 1,
                                      wait_time_seconds: 10})
  expect(resp.messages.length()).to be(1)
  msg = resp.messages[0]

  expect(msg.body).to eq('I have found the queue')
end



Then("I send a message to my topic") do
  resp = @sqs_client.receive_message({queue_url: @subscribed_queue.queue_url, attribute_names: ['All'], max_number_of_messages: 1})

  expect(resp.messages.length()).to be(1)

  msg = resp.messages[0]
  decoded_msg = JSON.parse(msg.body)

  expect(decoded_msg['Message']).to eq('I have found the topic')
end