Sha256: fa8beffc7d3555df9fc02898ea3fbddeb97a784ff5674a297c91fb727338ad83

Contents?: true

Size: 1.25 KB

Versions: 1

Compression:

Stored size: 1.25 KB

Contents

require 'ronin/web/server/helpers/proxy'

require 'spec_helper'
require 'web/server/helpers/server'
require 'web/server/classes/proxy_app'

describe Web::Server::Helpers::Proxy do
  include Helpers::Web::Server

  before(:all) do
    self.app = ProxyApp
  end

  it "should allow the proxying of requests for certain routes" do
    get_host '/', 'www.example.com'

    last_response.should be_ok
    last_response.body.should =~ /RFC\s+2606/
  end

  it "should allow overriding the headers of proxied requests" do
    get '/reddit/erlang'

    last_response.should be_ok
    last_response.body.should =~ /Erlang/
  end

  it "should allow modification of proxied responses" do
    get_host '/r/erlang', 'www.reddit.com'

    last_response.should be_ok
    last_response.body.should_not =~ /erlang/i
    last_response.body.should =~ /Fixed Gear Bicycle/
  end

  it "should allow modification of proxied HTML documents" do
    get_host '/r/ruby', 'www.reddit.com'

    last_response.should be_ok
    last_response.body.should_not =~ /rails/i
  end

  it "should allow modification of proxied XML documents" do
    get_host '/feed/vulnerabilities/latest.rss', 'osvdb.org'

    last_response.should be_ok
    last_response.body.should_not =~ /(XSS|SQLi|SQL\s+Injection)/i
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ronin-web-0.2.1 spec/web/server/proxy_spec.rb