Sha256: 671e064b4ee7fb3e85281ee3c57917ef265267983ad7cb050ce080b270c6c837

Contents?: true

Size: 1.5 KB

Versions: 4

Compression:

Stored size: 1.5 KB

Contents

require 'spec_helper'

require File.dirname(__FILE__) + '/spec_helper'

describe Rack::ServerStatus do
  app = lambda { |env|
    [200, {'Content-Type' => 'text/plain'}, ["Hello, World!"]]
  }

  context 'confirm to Rack::Lint' do
    context 'Not affected WorkerScoreboard' do
      subject do
        Rack::Lint.new(Rack::ServerStatus.new(app))
      end
      it do
        response = Rack::MockRequest.new(subject).get('/')
        expect(response.body).to eq 'Hello, World!'
      end
    end
    context 'Affected WorkerScoreboard' do
      subject do
        Rack::Lint.new(Rack::ServerStatus.new(app, scoreboard_path: Dir.tmpdir))
      end
      it do
        response = Rack::MockRequest.new(subject).get('/')
        expect(response.body).to eq 'Hello, World!'
      end
    end
  end

  context 'return valid server-status' do
    subject do
      Rack::Lint.new(Rack::ServerStatus.new(app, scoreboard_path: Dir.tmpdir))
    end
    it do
      response = Rack::MockRequest.new(subject).get('/server-status')
      expect(response.successful?).to be_truthy
      expect(response.headers['Content-Type']).to eq 'text/plain'
    end
  end

  context 'return json valid server-status' do
    subject do
      Rack::Lint.new(Rack::ServerStatus.new(app, scoreboard_path: Dir.tmpdir))
    end
    it do
      response = Rack::MockRequest.new(subject).get('/server-status?json')
      expect(response.successful?).to be_truthy
      expect(response.headers['Content-Type']).to eq 'application/json; charset=utf-8'
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
rack-server_status-0.0.4 spec/server_status_spec.rb
rack-server_status-0.0.3 spec/server_status_spec.rb
rack-server_status-0.0.2 spec/server_status_spec.rb
rack-server_status-0.0.1 spec/server_status_spec.rb