Sha256: b5e841fe9ceedc85e9abfa96433efcda3949e75b0f4fdf7ef1a9503aea8b977f

Contents?: true

Size: 1.36 KB

Versions: 230

Compression:

Stored size: 1.36 KB

Contents

describe Appsignal::Hooks::UnicornHook do
  context "with unicorn" do
    before :context do
      module Unicorn
        class HttpServer
          def worker_loop(_worker)
            @worker_loop = true
          end

          def worker_loop?
            @worker_loop == true
          end
        end

        class Worker
          def close
            @close = true
          end

          def close?
            @close == true
          end
        end
      end
      Appsignal::Hooks::UnicornHook.new.install
    end
    after(:context) { Object.send(:remove_const, :Unicorn) }

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

      it { is_expected.to be_truthy }
    end

    it "adds behavior to Unicorn::HttpServer#worker_loop" do
      server = Unicorn::HttpServer.new
      worker = double

      expect(Appsignal).to receive(:forked)

      server.worker_loop(worker)

      expect(server.worker_loop?).to be true
    end

    it "adds behavior to Unicorn::Worker#close" do
      worker = Unicorn::Worker.new

      expect(Appsignal).to receive(:stop)

      worker.close
      expect(worker.close?).to be true
    end
  end

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

      it { is_expected.to be_falsy }
    end
  end
end

Version data entries

230 entries across 230 versions & 1 rubygems

Version Path
appsignal-4.0.6-java spec/lib/appsignal/hooks/unicorn_spec.rb
appsignal-4.0.6 spec/lib/appsignal/hooks/unicorn_spec.rb
appsignal-4.0.5-java spec/lib/appsignal/hooks/unicorn_spec.rb
appsignal-4.0.5 spec/lib/appsignal/hooks/unicorn_spec.rb
appsignal-4.0.4-java spec/lib/appsignal/hooks/unicorn_spec.rb
appsignal-4.0.4 spec/lib/appsignal/hooks/unicorn_spec.rb
appsignal-4.0.3-java spec/lib/appsignal/hooks/unicorn_spec.rb
appsignal-4.0.3 spec/lib/appsignal/hooks/unicorn_spec.rb
appsignal-4.0.2-java spec/lib/appsignal/hooks/unicorn_spec.rb
appsignal-4.0.2 spec/lib/appsignal/hooks/unicorn_spec.rb
appsignal-4.0.1-java spec/lib/appsignal/hooks/unicorn_spec.rb
appsignal-4.0.1 spec/lib/appsignal/hooks/unicorn_spec.rb
appsignal-4.0.0-java spec/lib/appsignal/hooks/unicorn_spec.rb
appsignal-4.0.0 spec/lib/appsignal/hooks/unicorn_spec.rb
appsignal-3.13.1-java spec/lib/appsignal/hooks/unicorn_spec.rb
appsignal-3.13.1 spec/lib/appsignal/hooks/unicorn_spec.rb
appsignal-3.13.1.alpha.1-java spec/lib/appsignal/hooks/unicorn_spec.rb
appsignal-3.13.1.alpha.1 spec/lib/appsignal/hooks/unicorn_spec.rb
appsignal-4.0.0.beta.2-java spec/lib/appsignal/hooks/unicorn_spec.rb
appsignal-4.0.0.beta.2 spec/lib/appsignal/hooks/unicorn_spec.rb