Sha256: a5ddacb14ec0ab3519b32d1b04fd2c0d10e9ae75d5ec5ed480619c88f5ea9b95

Contents?: true

Size: 1.89 KB

Versions: 8

Compression:

Stored size: 1.89 KB

Contents

require "rails_helper"

describe "Posts", type: :request do
  describe "GET /posts" do
    describe "ActiveSupport::Notification" do
      context "when metrics is configured" do
        before do
          # ActiveRecord::Base.logger = Logger.new(STDOUT)
          Rails.logger.level = :debug
          Sapience.add_appender(:datadog)
          FactoryGirl.create_list(:post, 10)
          allow_any_instance_of(Sapience::Extensions::ActiveRecord::Notifications)
            .to receive(:record).and_return(true)
        end

        it "records a batch of metrics" do
          expect(Sapience.metrics).to receive(:increment) do |metric_name, options|
            expect(metric_name).to eq("rails.request")
            expect(options[:tags]).to match_array(%w(method:get status:200 action:index controller:posts format:html))
          end
          expect(Sapience.metrics).to receive(:timing) do |metric_name, duration, options|
            expect(metric_name).to eq("rails.request.time")
            expect(duration).to be_a(Float).and be > 0
            expect(options[:tags]).to match_array(%w(method:get status:200 action:index controller:posts format:html))
          end

          expect(Sapience.metrics).to receive(:timing) do |metric_name, duration, options|
            expect(metric_name).to eq("rails.request.time.db")
            expect(duration).to be_a(Float).and be > 0
            expect(options[:tags]).to match_array(%w(method:get status:200 action:index controller:posts format:html))
          end

          expect(Sapience.metrics).to receive(:timing) do |metric_name, duration, options|
            expect(metric_name).to eq("rails.request.time.view")
            expect(duration).to be_a(Float).and be > 0
            expect(options[:tags]).to match_array(%w(method:get status:200 action:index controller:posts format:html))
          end

          get posts_path
        end
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
sapience-1.0.11 test_apps/rails/spec/requests/posts_spec.rb
sapience-1.0.10 test_apps/rails/spec/requests/posts_spec.rb
sapience-1.0.9 test_apps/rails/spec/requests/posts_spec.rb
sapience-1.0.8 test_apps/rails/spec/requests/posts_spec.rb
sapience-1.0.7 test_apps/rails/spec/requests/posts_spec.rb
sapience-1.0.6 test_apps/rails/spec/requests/posts_spec.rb
sapience-1.0.5 test_apps/rails/spec/requests/posts_spec.rb
sapience-1.0.4 test_apps/rails/spec/requests/posts_spec.rb