Sha256: b343a6f9c87f582b768aa1164b6e1b1361881aa4fe748f88a707ff7edd8e3080

Contents?: true

Size: 1.94 KB

Versions: 21

Compression:

Stored size: 1.94 KB

Contents

# encoding: utf-8
# This file is distributed under New Relic's license terms.
# See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.

require 'mongo'
require 'newrelic_rpm'
require 'new_relic/agent/datastores/mongo'

if !NewRelic::Agent::Datastores::Mongo.is_supported_version?
  class NewRelic::Agent::Instrumentation::MongoInstrumentationTest < Minitest::Test
    include Mongo

    def setup
      @database_name = "multiverse"
      @collection_name = "tribbles-#{SecureRandom.hex(16)}"
      @tribble = {'name' => 'soterios johnson'}

      setup_collection

      NewRelic::Agent.drop_buffered_data
    end

    def teardown
      NewRelic::Agent.drop_buffered_data
      drop_collection
    end

    def test_records_metrics_for_insert
      insert_to_collection
      assert_metrics_not_recorded(["Datastore/all", "Datastore/allWeb", "Datastore/allOther"])
    end

    # API changes between 1.x and 2.x that we need to work around to make
    # sure that we're testing unsupported versions properly
    module Mongo1xUnsupported
      def setup_collection
        client = Mongo::Connection.new($mongo.host, $mongo.port)
        @database = client.db(@database_name)
        @collection = @database.collection(@collection_name)
      end

      def drop_collection
        @database.drop_collection(@collection_name)
      end

      def insert_to_collection
        @collection.insert(@tribble)
      end
    end

    module Mongo2xUnsupported
      def setup_collection
        client = Mongo::Client.new(["#{$mongo.host}:#{$mongo.port}"], :database => @database_name, :connect => :direct)
        @collection = client[@collection_name]
      end

      def drop_collection
        @collection.drop
      end

      def insert_to_collection
        @collection.insert_one(@tribble)
      end
    end

    if NewRelic::Agent::Datastores::Mongo.is_unsupported_2x?
      include Mongo2xUnsupported
    else
      include Mongo1xUnsupported
    end
  end
end

Version data entries

21 entries across 21 versions & 2 rubygems

Version Path
newrelic_rpm-4.1.0.333 test/multiverse/suites/mongo/mongo_unsupported_version_test.rb
newrelic_rpm-4.0.0.332 test/multiverse/suites/mongo/mongo_unsupported_version_test.rb
newrelic_rpm-3.18.1.330 test/multiverse/suites/mongo/mongo_unsupported_version_test.rb
newrelic_rpm-3.18.0.329 test/multiverse/suites/mongo/mongo_unsupported_version_test.rb
newrelic_rpm-3.17.2.327 test/multiverse/suites/mongo/mongo_unsupported_version_test.rb
newrelic_rpm-3.17.1.326 test/multiverse/suites/mongo/mongo_unsupported_version_test.rb
newrelic_rpm-3.17.0.325 test/multiverse/suites/mongo/mongo_unsupported_version_test.rb
newrelic_rpm-3.16.3.323 test/multiverse/suites/mongo/mongo_unsupported_version_test.rb
newrelic_rpm-3.16.2.321 test/multiverse/suites/mongo/mongo_unsupported_version_test.rb
newrelic_rpm-3.16.1.320 test/multiverse/suites/mongo/mongo_unsupported_version_test.rb
newrelic_rpm-3.16.0.318 test/multiverse/suites/mongo/mongo_unsupported_version_test.rb
ish_lib_manager-0.0.1 test/dummy/vendor/bundle/ruby/2.3.0/gems/newrelic_rpm-3.15.2.317/test/multiverse/suites/mongo/mongo_unsupported_version_test.rb
newrelic_rpm-3.15.2.317 test/multiverse/suites/mongo/mongo_unsupported_version_test.rb
newrelic_rpm-3.15.1.316 test/multiverse/suites/mongo/mongo_unsupported_version_test.rb
newrelic_rpm-3.15.0.314 test/multiverse/suites/mongo/mongo_unsupported_version_test.rb
newrelic_rpm-3.14.3.313 test/multiverse/suites/mongo/mongo_unsupported_version_test.rb
newrelic_rpm-3.14.2.312 test/multiverse/suites/mongo/mongo_unsupported_version_test.rb
newrelic_rpm-3.14.1.311 test/multiverse/suites/mongo/mongo_unsupported_version_test.rb
newrelic_rpm-3.14.0.305 test/multiverse/suites/mongo/mongo_unsupported_version_test.rb
newrelic_rpm-3.13.2.302 test/multiverse/suites/mongo/mongo_unsupported_version_test.rb