Sha256: 81c1f34c3489d3ff24154542be2d9b7cdd2769b2e9d17ca2e9b1c4235e1a33d8

Contents?: true

Size: 1.67 KB

Versions: 2

Compression:

Stored size: 1.67 KB

Contents

require 'spec_helper'

describe Caliper::Tracer do

  it 'should generate a uid on creation' do
    tracer = Caliper::Tracer.new({"REQEUEST_METHOD" => "POST", "REQUEST_PATH" => "/users"})
    tracer.uuid.should_not be_nil
  end

  context "When storing 2 events" do
    before do
      @tracer = Caliper::Tracer.new({"REQEUEST_METHOD" => "GET", "REQUEST_PATH" => "/users"})
      @events = []
      2.times {
        event = mock_event
        @tracer.record(event)
        @events << event
      }
    end

    it 'should store the two events to referencing later' do
      @tracer.samples.should_not be_nil
      @tracer.samples.size.should eq 2
    end

    it 'should post data to CaliperAPI when finished' do
      CaliperApi.should_receive(:create_trace)
      @tracer.finish
    end
  end

  context "Given a tracer with no samples" do
    before do
      @tracer = Caliper::Tracer.new({"REQUEST_METHOD" => "GET", "REQUEST_PATH" => "/users"})
    end

    it 'should not post data to CaliperAPI when finished' do
      CaliperApi.should_not_receive(:create_trace)
      @tracer.finish
    end
  end

  context "A typical rails controller request trace" do
    before do
      @tracer = Caliper::Tracer.new({"REQEUEST_METHOD" => "GET", "REQUEST_PATH" => "/users"})

      replay_into_tracer(@tracer, "rails_get_request_samples")
    end

    it 'should have stored correct amount of samples ignoring SCHEMA named events' do
      @tracer.samples.each do |sample|
        if sample.name[/active_record/]
          sample.payload[:name].should_not eq "SCHEMA"
        end
      end
      @tracer.samples.size.should eq 6
    end

    it 'should dump the correct json data' do
      pending
    end
  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
caliper-0.0.2 spec/caliper/tracer_spec.rb
caliper-0.0.1 spec/caliper/tracer_spec.rb