Sha256: b4ed96b9518e0d6805fe6a4c7fe62c61a9ec7cb1d8fdcd88887e6c0deb298bb5

Contents?: true

Size: 1.72 KB

Versions: 1

Compression:

Stored size: 1.72 KB

Contents

#
# Testing rufus-verbs
#
# jmettraux@gmail.com
#
# Thu Jan 17 10:15:52 JST 2008
#

require 'timeout'
require 'test/unit'

require 'rufus/verbs'


class ProxyTest < Test::Unit::TestCase

    include Rufus::Verbs


    def test_0

        res0 = get(
            "http://en.wikipedia.org/wiki/Ruby_%28programming_language%29",
            :proxy => false)

        assert_not_nil res0.body # just displaying the test dot

        proxies = find_proxies

        res1 = nil

        proxies.each do |proxy|
            begin
                Timeout::timeout 2 do
                    res1 = get(
                        "http://en.wikipedia.org/wiki/"+
                        "Ruby_%28programming_language%29",
                        :proxy => proxy)
                end
                break if res1.code.to_i == 200
            rescue Exception => e
                puts "skipped proxy '#{proxy}'"
            end
        end

        if res1.code.to_i != 200
            puts
            puts
            puts "sorry, couldn't find an open proxy, couldn't test the"
            puts "proxy feature of 'rufus-verbs'"
            puts
            puts
            return
        end

        assert_equal res0.body.length, res1.body.length

        #p res0.to_hash
        #p res1.to_hash

        via1 = res1["via"].split(", ")[-1]
            # last proxy

        assert_no_match /wikimedia\.org/, via1
            # making sure that the proxy was not one of wikipedia
    end

    protected

        def find_proxies

            res = get "http://freeproxy.ch/proxy.txt"
            lines = res.body.split "\n"
            lines[4..-1].collect do |line|
                l = line.split("\t")
                'http://' + l[0]
            end
        end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rufus-verbs-0.1 test/proxy_test.rb