From f8369d7d6e37248d6523fdac6e1d760fca4f1b52 Mon Sep 17 00:00:00 2001 From: Tobias Sarnowski Date: Wed, 18 Apr 2012 12:08:28 +0200 Subject: moved _testing to _test --- _test/tests/inc/httpclient_http.test.php | 141 +++++++++++++++++++++++++++++++ 1 file changed, 141 insertions(+) create mode 100644 _test/tests/inc/httpclient_http.test.php (limited to '_test/tests/inc/httpclient_http.test.php') diff --git a/_test/tests/inc/httpclient_http.test.php b/_test/tests/inc/httpclient_http.test.php new file mode 100644 index 000000000..3857273f7 --- /dev/null +++ b/_test/tests/inc/httpclient_http.test.php @@ -0,0 +1,141 @@ +get($this->server.'/get?foo=bar'); + $this->assertFalse($data === false, 'HTTP response'); + $resp = json_decode($data, true); + $this->assertTrue(is_array($resp), 'JSON response'); + $this->assertArrayHasKey('args',$resp); + $this->assertEquals(array('foo'=>'bar'), $resp['args']); + } + + function test_dget(){ + $http = new HTTPClient(); + $data = $http->dget($this->server.'/get',array('foo'=>'bar')); + $this->assertFalse($data === false, 'HTTP response'); + $resp = json_decode($data, true); + $this->assertTrue(is_array($resp), 'JSON response'); + $this->assertArrayHasKey('args',$resp); + $this->assertEquals(array('foo'=>'bar'), $resp['args']); + } + + function test_gzip(){ + $http = new HTTPClient(); + $data = $http->get($this->server.'/gzip'); + $this->assertFalse($data === false, 'HTTP response'); + $resp = json_decode($data, true); + $this->assertTrue(is_array($resp), 'JSON response'); + $this->assertArrayHasKey('gzipped',$resp); + $this->assertTrue($resp['gzipped']); + } + + function test_simplepost(){ + $http = new HTTPClient(); + $data = $http->post($this->server.'/post',array('foo'=>'bar')); + $this->assertFalse($data === false, 'HTTP response'); + $resp = json_decode($data, true); + $this->assertTrue(is_array($resp), 'JSON response'); + $this->assertArrayHasKey('form',$resp); + $this->assertEquals(array('foo'=>'bar'), $resp['form']); + } + + function test_redirect(){ + $http = new HTTPClient(); + $data = $http->get($this->server.'/redirect/3'); + $this->assertFalse($data === false, 'HTTP response'); + $resp = json_decode($data, true); + $this->assertTrue(is_array($resp), 'JSON response'); + $this->assertArrayHasKey('url',$resp); + $this->assertRegExp('/\/get$/', $resp['url']); + } + + function test_relredirect(){ + $http = new HTTPClient(); + $data = $http->get($this->server.'/relative-redirect/3'); + $this->assertFalse($data === false, 'HTTP response'); + $resp = json_decode($data, true); + $this->assertTrue(is_array($resp), 'JSON response'); + $this->assertArrayHasKey('url',$resp); + $this->assertRegExp('/\/get$/', $resp['url']); + } + + function test_redirectfail(){ + $http = new HTTPClient(); + $data = $http->get($this->server.'/redirect/5'); + $this->assertTrue($data === false, 'HTTP response'); + $this->assertEquals('Maximum number of redirects exceeded',$http->error); + } + + function test_cookies(){ + $http = new HTTPClient(); + $http->get($this->server.'/cookies/set/foo/bar'); + $this->assertEquals(array('foo' => 'bar'), $http->cookies); + $data = $http->get($this->server.'/cookies'); + $this->assertFalse($data === false, 'HTTP response'); + $resp = json_decode($data, true); + $this->assertTrue(is_array($resp), 'JSON response'); + $this->assertArrayHasKey('cookies',$resp); + $this->assertEquals(array('foo'=>'bar'), $resp['cookies']); + } + + function test_teapot(){ + $http = new HTTPClient(); + $data = $http->get($this->server.'/status/418'); + $this->assertTrue($data === false, 'HTTP response'); + $this->assertEquals(418,$http->status); + } + + function test_maxbody(){ + $http = new HTTPClient(); + $http->max_bodysize = 250; + $data = $http->get($this->server.'/stream/30'); + $this->assertTrue($data === false, 'HTTP response'); + } + + function test_basicauth(){ + $http = new HTTPClient(); + $http->user = 'user'; + $http->pass = 'pass'; + $data = $http->get($this->server.'/basic-auth/user/pass'); + $this->assertFalse($data === false, 'HTTP response'); + $resp = json_decode($data, true); + $this->assertTrue(is_array($resp), 'JSON response'); + $this->assertEquals(array('authenticated'=>true,'user'=>'user'), $resp); + } + + function test_basicauthfail(){ + $http = new HTTPClient(); + $http->user = 'user'; + $http->pass = 'invalid'; + $data = $http->get($this->server.'/basic-auth/user/pass'); + $this->assertTrue($data === false, 'HTTP response'); + $this->assertEquals(401,$http->status); + } + + function test_timeout(){ + $http = new HTTPClient(); + $http->timeout = 5; + $data = $http->get($this->server.'/delay/10'); + $this->assertTrue($data === false, 'HTTP response'); + $this->assertEquals(-100,$http->status); + } + + function test_headers(){ + $http = new HTTPClient(); + $data = $http->get($this->server.'/response-headers?baz=&foo=bar'); + $this->assertFalse($data === false, 'HTTP response'); + $resp = json_decode($data, true); + $this->assertTrue(is_array($resp), 'JSON response'); + $this->assertArrayHasKey('baz',$http->resp_headers); + $this->assertArrayHasKey('foo',$http->resp_headers); + $this->assertEquals('bar',$http->resp_headers['foo']); + } +} +//Setup VIM: ex: et ts=4 : -- cgit v1.2.3 From f7161c34cbd45d87124ad25cf06d3ff57e3bc23f Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Fri, 20 Apr 2012 23:11:53 +0200 Subject: reenabled romanization test The test can be skipped by excluding the "slow" group. --- _test/tests/inc/httpclient_http.test.php | 45 +++++++++++++++++++++++++++++--- 1 file changed, 42 insertions(+), 3 deletions(-) (limited to '_test/tests/inc/httpclient_http.test.php') diff --git a/_test/tests/inc/httpclient_http.test.php b/_test/tests/inc/httpclient_http.test.php index 3857273f7..9cae3736a 100644 --- a/_test/tests/inc/httpclient_http.test.php +++ b/_test/tests/inc/httpclient_http.test.php @@ -1,11 +1,11 @@ get($this->server.'/get?foo=bar'); @@ -16,6 +16,9 @@ class httpclient_http_test extends DokuWikiTest { $this->assertEquals(array('foo'=>'bar'), $resp['args']); } + /** + * @group internet + */ function test_dget(){ $http = new HTTPClient(); $data = $http->dget($this->server.'/get',array('foo'=>'bar')); @@ -26,6 +29,9 @@ class httpclient_http_test extends DokuWikiTest { $this->assertEquals(array('foo'=>'bar'), $resp['args']); } + /** + * @group internet + */ function test_gzip(){ $http = new HTTPClient(); $data = $http->get($this->server.'/gzip'); @@ -36,6 +42,9 @@ class httpclient_http_test extends DokuWikiTest { $this->assertTrue($resp['gzipped']); } + /** + * @group internet + */ function test_simplepost(){ $http = new HTTPClient(); $data = $http->post($this->server.'/post',array('foo'=>'bar')); @@ -46,6 +55,9 @@ class httpclient_http_test extends DokuWikiTest { $this->assertEquals(array('foo'=>'bar'), $resp['form']); } + /** + * @group internet + */ function test_redirect(){ $http = new HTTPClient(); $data = $http->get($this->server.'/redirect/3'); @@ -56,6 +68,9 @@ class httpclient_http_test extends DokuWikiTest { $this->assertRegExp('/\/get$/', $resp['url']); } + /** + * @group internet + */ function test_relredirect(){ $http = new HTTPClient(); $data = $http->get($this->server.'/relative-redirect/3'); @@ -66,6 +81,9 @@ class httpclient_http_test extends DokuWikiTest { $this->assertRegExp('/\/get$/', $resp['url']); } + /** + * @group internet + */ function test_redirectfail(){ $http = new HTTPClient(); $data = $http->get($this->server.'/redirect/5'); @@ -73,6 +91,9 @@ class httpclient_http_test extends DokuWikiTest { $this->assertEquals('Maximum number of redirects exceeded',$http->error); } + /** + * @group internet + */ function test_cookies(){ $http = new HTTPClient(); $http->get($this->server.'/cookies/set/foo/bar'); @@ -85,6 +106,9 @@ class httpclient_http_test extends DokuWikiTest { $this->assertEquals(array('foo'=>'bar'), $resp['cookies']); } + /** + * @group internet + */ function test_teapot(){ $http = new HTTPClient(); $data = $http->get($this->server.'/status/418'); @@ -92,6 +116,9 @@ class httpclient_http_test extends DokuWikiTest { $this->assertEquals(418,$http->status); } + /** + * @group internet + */ function test_maxbody(){ $http = new HTTPClient(); $http->max_bodysize = 250; @@ -99,6 +126,9 @@ class httpclient_http_test extends DokuWikiTest { $this->assertTrue($data === false, 'HTTP response'); } + /** + * @group internet + */ function test_basicauth(){ $http = new HTTPClient(); $http->user = 'user'; @@ -110,6 +140,9 @@ class httpclient_http_test extends DokuWikiTest { $this->assertEquals(array('authenticated'=>true,'user'=>'user'), $resp); } + /** + * @group internet + */ function test_basicauthfail(){ $http = new HTTPClient(); $http->user = 'user'; @@ -119,6 +152,9 @@ class httpclient_http_test extends DokuWikiTest { $this->assertEquals(401,$http->status); } + /** + * @group internet + */ function test_timeout(){ $http = new HTTPClient(); $http->timeout = 5; @@ -127,6 +163,9 @@ class httpclient_http_test extends DokuWikiTest { $this->assertEquals(-100,$http->status); } + /** + * @group internet + */ function test_headers(){ $http = new HTTPClient(); $data = $http->get($this->server.'/response-headers?baz=&foo=bar'); -- cgit v1.2.3