Sha256: 320f4ca0e70bfdfacdc1f70c61a908b3b2f3472451060aec4195fd58823e6d93

Contents?: true

Size: 1.36 KB

Versions: 4

Compression:

Stored size: 1.36 KB

Contents

require 'sinatra'
require 'sinatra/base'
require 'rack'
require 'helper'


class TestSinatra < MiniTest::Test
  @zmq_pull = nil

  def app
    Sinatra.new do
      register MashapeAnalytics::Frameworks::Sinatra

      mashapeAnalytics! 'MY-API-KEY', host: @@host, send_body: true

      get('/get') { 'GET Endpoint' }
      post('/post') { 'POST Endpoint' }
    end
  end

  def setup
    # Create our socket server
    @zmq_pull = zmq_pull_socket(@@host)
  end

  def teardown
    MashapeAnalytics::Capture.disconnect
    @zmq_pull.close if @zmq_pull != nil
  end

  should 'send ALF on GET /get?query=test request' do
    request = Rack::MockRequest.new(app)
    response = request.get('/get?query=test')

    version, message = @zmq_pull.recv.split(' ', 2)
    alf = JSON.parse(message)

    assert_ruby_agent alf

    entry = alf['har']['log']['entries'].first
    assert_entry_request entry, 'GET', 'http://example.org/get?query=test'
    assert_entry_response entry, 200, 86
  end

  should 'send ALF on POST /post request' do
    request = Rack::MockRequest.new(app)
    response = request.post('/post')

    version, message = @zmq_pull.recv.split(' ', 2)
    alf = JSON.parse(message)

    assert_ruby_agent alf

    entry = alf['har']['log']['entries'].first
    assert_entry_request entry, 'POST', 'http://example.org/post'
    assert_entry_response entry, 200, 87
  end


end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
mashape-analytics-1.0.5 test/test_sinatra.rb
mashape-analytics-1.0.4 test/test_sinatra.rb
mashape-analytics-1.0.3 test/test_sinatra.rb
mashape-analytics-1.0.2 test/test_sinatra.rb