Sha256: e3e734f7cfb300cd1b90d093a12e4aa01266404b1dbca90661d22b3c4161bdf2

Contents?: true

Size: 1.23 KB

Versions: 1

Compression:

Stored size: 1.23 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 '/rss.php', 'milw0rm.com'

    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.0 spec/web/server/proxy_spec.rb