123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407 |
- # encoding: utf-8
- require 'integration_test_helper'
- class UserAgentTest < ActiveSupport::TestCase
- host = 'https://r2d2.znuny.com'
- # check
- test 'check some results' do
- # get / 200
- result = UserAgent.get(
- "#{host}/test/get/1?submitted=123",
- )
- assert(result)
- assert_equal(true, result.success?)
- assert_equal('200', result.code)
- assert_equal(String, result.body.class)
- assert(result.body =~ /"get"/)
- assert(result.body =~ /"123"/)
- # get / 404
- result = UserAgent.get(
- "#{host}/test/not_existing",
- )
- assert(result)
- assert_equal(false, result.success?)
- assert_equal('404', result.code)
- assert_equal(NilClass, result.body.class)
- # post / 200
- result = UserAgent.post(
- "#{host}/test/post/1",
- {
- :submitted => 'some value',
- }
- )
- assert(result)
- assert_equal(true, result.success?)
- assert_equal('200', result.code)
- assert_equal(String, result.body.class)
- assert(result.body =~ /"post"/)
- assert(result.body =~ /"some value"/)
- # post / 404
- result = UserAgent.post(
- "#{host}/test/not_existing",
- {
- :submitted => 'some value',
- }
- )
- assert(result)
- assert_equal(false, result.success?)
- assert_equal('404', result.code)
- assert_equal(NilClass, result.body.class)
- # put / 200
- result = UserAgent.put(
- "#{host}/test/put/1",
- {
- :submitted => 'some value',
- }
- )
- assert(result)
- assert_equal(true, result.success?)
- assert_equal('200', result.code)
- assert_equal(String, result.body.class)
- assert(result.body =~ /"put"/)
- assert(result.body =~ /"some value"/)
- # put / 404
- result = UserAgent.put(
- "#{host}/test/not_existing",
- {
- :submitted => 'some value',
- }
- )
- assert(result)
- assert_equal(false, result.success?)
- assert_equal('404', result.code)
- assert_equal(NilClass, result.body.class)
- # delete / 200
- result = UserAgent.delete(
- "#{host}/test/delete/1",
- )
- assert(result)
- assert_equal(true, result.success?)
- assert_equal('200', result.code)
- assert_equal(String, result.body.class)
- assert(result.body =~ /"delete"/)
- # delete / 404
- result = UserAgent.delete(
- "#{host}/test/not_existing",
- )
- assert(result)
- assert_equal(false, result.success?)
- assert_equal('404', result.code)
- assert_equal(NilClass, result.body.class)
- # with http basic auth
- # get / 200
- result = UserAgent.get(
- "#{host}/test_basic_auth/get/1?submitted=123",
- {
- :user => 'basic_auth_user',
- :password => 'test123',
- }
- )
- assert(result)
- assert_equal(true, result.success?)
- assert_equal('200', result.code)
- assert_equal(String, result.body.class)
- assert(result.body =~ /"get"/)
- assert(result.body =~ /"123"/)
- # get / 401
- result = UserAgent.get(
- "#{host}/test_basic_auth/get/1?submitted=123",
- {
- :user => 'basic_auth_user_not_existing',
- :password => 'test<>123',
- }
- )
- assert(result)
- assert_equal(false, result.success?)
- assert_equal('401', result.code)
- assert_equal(NilClass, result.body.class)
- # post / 200
- result = UserAgent.post(
- "#{host}/test_basic_auth/post/1",
- {
- :submitted => 'some value',
- },
- {
- :user => 'basic_auth_user',
- :password => 'test123',
- }
- )
- assert(result)
- assert_equal(true, result.success?)
- assert_equal('200', result.code)
- assert_equal(String, result.body.class)
- assert(result.body =~ /"post"/)
- assert(result.body =~ /"some value"/)
- # post / 401
- result = UserAgent.post(
- "#{host}/test_basic_auth/post/1",
- {
- :submitted => 'some value',
- },
- {
- :user => 'basic_auth_user_not_existing',
- :password => 'test<>123',
- }
- )
- assert(result)
- assert_equal(false, result.success?)
- assert_equal('401', result.code)
- assert_equal(NilClass, result.body.class)
- # put / 200
- result = UserAgent.put(
- "#{host}/test_basic_auth/put/1",
- {
- :submitted => 'some value',
- },
- {
- :user => 'basic_auth_user',
- :password => 'test123',
- }
- )
- assert(result)
- assert_equal(true, result.success?)
- assert_equal('200', result.code)
- assert_equal(String, result.body.class)
- assert(result.body =~ /"put"/)
- assert(result.body =~ /"some value"/)
- # put / 401
- result = UserAgent.put(
- "#{host}/test_basic_auth/put/1",
- {
- :submitted => 'some value',
- },
- {
- :user => 'basic_auth_user_not_existing',
- :password => 'test<>123',
- }
- )
- assert(result)
- assert_equal(false, result.success?)
- assert_equal('401', result.code)
- assert_equal(NilClass, result.body.class)
- # delete / 200
- result = UserAgent.delete(
- "#{host}/test_basic_auth/delete/1",
- {
- :user => 'basic_auth_user',
- :password => 'test123',
- }
- )
- assert(result)
- assert_equal(true, result.success?)
- assert_equal('200', result.code)
- assert_equal(String, result.body.class)
- assert(result.body =~ /"delete"/)
- # delete / 401
- result = UserAgent.delete(
- "#{host}/test_basic_auth/delete/1",
- {
- :user => 'basic_auth_user_not_existing',
- :password => 'test<>123',
- }
- )
- assert(result)
- assert_equal(false, result.success?)
- assert_equal('401', result.code)
- assert_equal(NilClass, result.body.class)
- end
- # check
- test 'check redirect' do
- # get / 301
- result = UserAgent.request(
- "#{host}/test/redirect",
- )
- assert(result)
- assert_equal(true, result.success?)
- assert_equal('200', result.code)
- assert_equal(String, result.body.class)
- assert(result.body =~ /"get"/)
- assert(result.body =~ /"abc"/)
- # get / 301
- result = UserAgent.request(
- "#{host}/test_basic_auth/redirect",
- {
- :user => 'basic_auth_user',
- :password => 'test123',
- }
- )
- assert(result)
- assert_equal(true, result.success?)
- assert_equal('200', result.code)
- assert_equal(String, result.body.class)
- assert(result.body =~ /"get"/)
- assert(result.body =~ /"abc"/)
- # get / 401
- result = UserAgent.request(
- "#{host}/test_basic_auth/redirect",
- {
- :user => 'basic_auth_user_not_existing',
- :password => 'test123',
- }
- )
- assert(result)
- assert_equal(false, result.success?)
- assert_equal('401', result.code)
- assert_equal(NilClass, result.body.class)
- end
- # check
- test 'check request' do
- # get / 200
- result = UserAgent.request(
- "#{host}/test/get/1?submitted=123",
- )
- assert(result)
- assert_equal(true, result.success?)
- assert_equal('200', result.code)
- assert_equal(String, result.body.class)
- assert(result.body =~ /"get"/)
- assert(result.body =~ /"123"/)
- # ftp / 200
- result = UserAgent.request(
- "ftp://ftp.gwdg.de/msgs/banner.msg",
- )
- assert(result)
- assert_equal(true, result.success?)
- assert_equal('200', result.code)
- assert_equal(String, result.body.class)
- assert(result.body =~ /Gesellschaft/i)
- # ftp / 401
- result = UserAgent.request(
- "ftp://ftp.gwdg.de/msgs/not_existing.msg",
- )
- assert(result)
- assert_equal(false, result.success?)
- assert_equal('550', result.code)
- assert_equal(NilClass, result.body.class)
- # get / 200 / gzip
- result = UserAgent.request(
- "https://httpbin.org/gzip",
- )
- assert(result)
- assert_equal(true, result.success?)
- assert_equal('200', result.code)
- assert_equal(String, result.body.class)
- assert(result.body =~ /"GET"/)
- # get / 200 / gzip
- result = UserAgent.request(
- "http://httpbin.org/gzip",
- )
- assert(result)
- assert_equal(true, result.success?)
- assert_equal('200', result.code)
- assert_equal(String, result.body.class)
- assert(result.body =~ /"GET"/)
- # get / 200 / gzip
- result = UserAgent.request(
- "https://httpbin.org/deflate",
- )
- assert(result)
- assert_equal(true, result.success?)
- assert_equal('200', result.code)
- assert_equal(String, result.body.class)
- assert(result.body =~ /"GET"/)
- # get / 200 / gzip
- result = UserAgent.request(
- "http://httpbin.org/deflate",
- )
- assert(result)
- assert_equal(true, result.success?)
- assert_equal('200', result.code)
- assert_equal(String, result.body.class)
- assert(result.body =~ /"GET"/)
- end
- # check
- test 'check not existing' do
- # get / 0
- result = UserAgent.request(
- "http://not.existing.host/test.php",
- )
- assert(result)
- assert_equal(false, result.success?)
- assert_equal(0, result.code)
- assert_equal(NilClass, result.body.class)
- # ftp / 0
- result = UserAgent.request(
- "ftp://not.existing.host/test.bin",
- )
- assert(result)
- assert_equal(false, result.success?)
- assert_equal(0, result.code)
- assert_equal(NilClass, result.body.class)
- end
- # check
- test 'check timeout' do
- # get / timeout
- result = UserAgent.get(
- "#{host}/test/get/3?submitted=123",
- {
- :open_timeout => 1,
- :read_timeout => 1,
- }
- )
- assert(result)
- assert_equal(false, result.success?)
- assert_equal(0, result.code)
- assert_equal(NilClass, result.body.class)
- # post / timeout
- result = UserAgent.post(
- "#{host}/test/post/3",
- {
- :submitted => 'timeout',
- },
- {
- :open_timeout => 1,
- :read_timeout => 1,
- }
- )
- assert(result)
- assert_equal(false, result.success?)
- assert_equal(0, result.code)
- assert_equal(NilClass, result.body.class)
- end
- end
|