Sha256: 0cd31f3ab6d2ef923dea10c6482777de0a03bd412e8d35ff559c5bf171435595

Contents?: true

Size: 1.65 KB

Versions: 179

Compression:

Stored size: 1.65 KB

Contents

describe Appsignal::Hooks::RedisHook do
  before do
    Appsignal.config = project_fixture_config
    Appsignal::Hooks.load_hooks
  end

  if DependencyHelper.redis_present?
    context "with redis" do
      context "with instrumentation enabled" do
        before do
          Appsignal.config.config_hash[:instrument_redis] = true
          allow_any_instance_of(Redis::Client).to receive(:process_without_appsignal).and_return(1)
        end

        describe "#dependencies_present?" do
          subject { described_class.new.dependencies_present? }

          it { is_expected.to be_truthy }
        end

        it "should instrument a redis call" do
          Appsignal::Transaction.create("uuid", Appsignal::Transaction::HTTP_REQUEST, "test")
          expect(Appsignal::Transaction.current).to receive(:start_event)
            .at_least(:once)
          expect(Appsignal::Transaction.current).to receive(:finish_event)
            .at_least(:once)
            .with("query.redis", "redis://127.0.0.1:6379/0", "get ?", 0)

          client = Redis::Client.new
          expect(client.process([[:get, "key"]])).to eq 1
        end
      end

      context "with instrumentation disabled" do
        before do
          Appsignal.config.config_hash[:instrument_redis] = false
        end

        describe "#dependencies_present?" do
          subject { described_class.new.dependencies_present? }

          it { is_expected.to be_falsy }
        end
      end
    end
  else
    context "without redis" do
      describe "#dependencies_present?" do
        subject { described_class.new.dependencies_present? }

        it { is_expected.to be_falsy }
      end
    end
  end
end

Version data entries

179 entries across 179 versions & 1 rubygems

Version Path
appsignal-2.11.10-java spec/lib/appsignal/hooks/redis_spec.rb
appsignal-2.11.10 spec/lib/appsignal/hooks/redis_spec.rb
appsignal-2.11.9-java spec/lib/appsignal/hooks/redis_spec.rb
appsignal-2.11.9 spec/lib/appsignal/hooks/redis_spec.rb
appsignal-2.11.8-java spec/lib/appsignal/hooks/redis_spec.rb
appsignal-2.11.8 spec/lib/appsignal/hooks/redis_spec.rb
appsignal-2.11.7 spec/lib/appsignal/hooks/redis_spec.rb
appsignal-2.11.7-java spec/lib/appsignal/hooks/redis_spec.rb
appsignal-2.11.6 spec/lib/appsignal/hooks/redis_spec.rb
appsignal-2.11.6-java spec/lib/appsignal/hooks/redis_spec.rb
appsignal-2.11.5-java spec/lib/appsignal/hooks/redis_spec.rb
appsignal-2.11.5 spec/lib/appsignal/hooks/redis_spec.rb
appsignal-2.11.4-java spec/lib/appsignal/hooks/redis_spec.rb
appsignal-2.11.4 spec/lib/appsignal/hooks/redis_spec.rb
appsignal-2.11.3-java spec/lib/appsignal/hooks/redis_spec.rb
appsignal-2.11.3 spec/lib/appsignal/hooks/redis_spec.rb
appsignal-2.11.2-java spec/lib/appsignal/hooks/redis_spec.rb
appsignal-2.11.2 spec/lib/appsignal/hooks/redis_spec.rb
appsignal-2.11.1-java spec/lib/appsignal/hooks/redis_spec.rb
appsignal-2.11.1 spec/lib/appsignal/hooks/redis_spec.rb