Sha256: cad6547f2b1c1168fd33e9d4ecb3b114d490404ba5c7dea73419995e1b476f70
Contents?: true
Size: 1.59 KB
Versions: 1
Compression:
Stored size: 1.59 KB
Contents
ENV['RACK_ENV'] ||= 'test' $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib')) require 'datadog-notifications' require 'rspec' require 'rack/test' require 'grape' require 'active_record' require 'sqlite3' ### Active-record test preparation ActiveRecord::Base.configurations["test"] = { 'adapter' => 'sqlite3', 'database' => ':memory:' } ActiveRecord::Base.establish_connection(:test) ActiveRecord::Base.connection.create_table :posts do |t| t.string :title end class Post < ActiveRecord::Base end ### Mocks module Mock class Reporter < Datadog::Notifications::Reporter def timing(stat, ms, opts={}); super(stat, 333, opts); end def flush_buffer; end alias :send_stat :send_to_buffer end class Instrumentable def initialize(opts = {}) @opts = opts end def perform ActiveSupport::Notifications.instrument("mock.start", @opts) ActiveSupport::Notifications.instrument("mock.perform", @opts) do |payload| payload[:status] = 200 end end end end ### Configuration RSpec.configure do |c| helpers = Module.new do def buffered Datadog::Notifications.instance.send(:reporter).buffer end end c.include helpers c.before do buffered.clear end end Datadog::Notifications.configure do |c| c.hostname = "test.host" c.reporter = Mock::Reporter c.tags = ["custom:tag"] c.use Datadog::Notifications::Plugins::ActiveRecord c.use Datadog::Notifications::Plugins::Grape, tags: ["more:tags"], metric_name: "api.request", exception_handler: ->e { e.message.include?("unauthorized") ? 401 : 500 } end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
datadog-notifications-0.4.5 | spec/spec_helper.rb |