From 67ad1c6833140f9e9737f5a4a50a8d15a415bc7c Mon Sep 17 00:00:00 2001 From: Sergey Biryukov Date: Mon, 15 Apr 2024 12:28:32 +0000 Subject: [PATCH] Tests: Use an image on WordPress.org CDN in external HTTP tests. Due to some changes on the WP.com side to compress the requested images on the fly, the exact image size in the response could be different between platforms. This commit aims to make the affected tests more reliable. Follow-up to [139/tests], [31258], [34568], [47142], [57903], [57904], [57924]. Merges [57931] to the 5.5 branch. Props peterwilsoncc, jorbin. See #60865. git-svn-id: https://develop.svn.wordpress.org/branches/5.5@57996 602fd350-edb4-49c9-b593-d223f7449a82 --- .../phpunit/tests/functions/wpRemoteFopen.php | 6 +-- tests/phpunit/tests/http/functions.php | 46 +++++++++++-------- tests/phpunit/tests/image/functions.php | 6 +-- 3 files changed, 33 insertions(+), 25 deletions(-) diff --git a/tests/phpunit/tests/functions/wpRemoteFopen.php b/tests/phpunit/tests/functions/wpRemoteFopen.php index 3d52b82ba1be4..5e3bf56d3047e 100644 --- a/tests/phpunit/tests/functions/wpRemoteFopen.php +++ b/tests/phpunit/tests/functions/wpRemoteFopen.php @@ -25,10 +25,10 @@ public function test_wp_remote_fopen_bad_url() { */ public function test_wp_remote_fopen() { // This URL gives a direct 200 response. - $url = 'https://asdftestblog1.files.wordpress.com/2007/09/2007-06-30-dsc_4700-1.jpg'; + $url = 'https://s.w.org/screenshots/3.9/dashboard.png'; $response = wp_remote_fopen( $url ); - $this->assertInternalType( 'string', $response ); - $this->assertEquals( 40148, strlen( $response ) ); + $this->assertIsString( $response ); + $this->assertSame( 153204, strlen( $response ) ); } } diff --git a/tests/phpunit/tests/http/functions.php b/tests/phpunit/tests/http/functions.php index de272d9a0e0c5..9cf58b5656bc8 100644 --- a/tests/phpunit/tests/http/functions.php +++ b/tests/phpunit/tests/http/functions.php @@ -16,7 +16,7 @@ public function setUp() { function test_head_request() { // This URL gives a direct 200 response. - $url = 'https://asdftestblog1.files.wordpress.com/2007/09/2007-06-30-dsc_4700-1.jpg'; + $url = 'https://s.w.org/screenshots/3.9/dashboard.png'; $response = wp_remote_head( $url ); $this->skipTestOnTimeout( $response ); @@ -25,30 +25,38 @@ function test_head_request() { $this->assertInternalType( 'array', $response ); - $this->assertEquals( 'image/jpeg', $headers['content-type'] ); - $this->assertEquals( '40148', $headers['content-length'] ); - $this->assertEquals( '200', wp_remote_retrieve_response_code( $response ) ); + $this->assertSame( 'image/png', $headers['Content-Type'] ); + $this->assertSame( '153204', $headers['Content-Length'] ); + $this->assertSame( 200, wp_remote_retrieve_response_code( $response ) ); } function test_head_redirect() { // This URL will 301 redirect. - $url = 'https://asdftestblog1.wordpress.com/files/2007/09/2007-06-30-dsc_4700-1.jpg'; + $url = 'https://wp.org/screenshots/3.9/dashboard.png'; $response = wp_remote_head( $url ); $this->skipTestOnTimeout( $response ); $this->assertEquals( '301', wp_remote_retrieve_response_code( $response ) ); } - function test_head_404() { - $url = 'https://asdftestblog1.files.wordpress.com/2007/09/awefasdfawef.jpg'; + /** + * @covers ::wp_remote_head + */ + public function test_head_404() { + $url = 'https://wordpress.org/screenshots/3.9/awefasdfawef.jpg'; $response = wp_remote_head( $url ); $this->skipTestOnTimeout( $response ); $this->assertEquals( '404', wp_remote_retrieve_response_code( $response ) ); } - function test_get_request() { - $url = 'https://asdftestblog1.files.wordpress.com/2007/09/2007-06-30-dsc_4700-1.jpg'; + /** + * @covers ::wp_remote_get + * @covers ::wp_remote_retrieve_headers + * @covers ::wp_remote_retrieve_response_code + */ + public function test_get_request() { + $url = 'https://s.w.org/screenshots/3.9/dashboard.png'; $response = wp_remote_get( $url ); @@ -59,14 +67,14 @@ function test_get_request() { $this->assertInternalType( 'array', $response ); // Should return the same headers as a HEAD request. - $this->assertEquals( 'image/jpeg', $headers['content-type'] ); - $this->assertEquals( '40148', $headers['content-length'] ); - $this->assertEquals( '200', wp_remote_retrieve_response_code( $response ) ); + $this->assertSame( 'image/png', $headers['Content-Type'] ); + $this->assertSame( '153204', $headers['Content-Length'] ); + $this->assertSame( 200, wp_remote_retrieve_response_code( $response ) ); } function test_get_redirect() { - // This will redirect to asdftestblog1.files.wordpress.com. - $url = 'https://asdftestblog1.wordpress.com/files/2007/09/2007-06-30-dsc_4700-1.jpg'; + // This will redirect to wordpress.org. + $url = 'https://wp.org/screenshots/3.9/dashboard.png'; $response = wp_remote_get( $url ); @@ -75,14 +83,14 @@ function test_get_redirect() { $headers = wp_remote_retrieve_headers( $response ); // Should return the same headers as a HEAD request. - $this->assertEquals( 'image/jpeg', $headers['content-type'] ); - $this->assertEquals( '40148', $headers['content-length'] ); - $this->assertEquals( '200', wp_remote_retrieve_response_code( $response ) ); + $this->assertSame( 'image/png', $headers['Content-Type'] ); + $this->assertSame( '153204', $headers['Content-Length'] ); + $this->assertSame( 200, wp_remote_retrieve_response_code( $response ) ); } function test_get_redirect_limit_exceeded() { - // This will redirect to asdftestblog1.files.wordpress.com. - $url = 'https://asdftestblog1.wordpress.com/files/2007/09/2007-06-30-dsc_4700-1.jpg'; + // This will redirect to wordpress.org. + $url = 'https://wp.org/screenshots/3.9/dashboard.png'; // Pretend we've already redirected 5 times. $response = wp_remote_get( $url, array( 'redirection' => -1 ) ); diff --git a/tests/phpunit/tests/image/functions.php b/tests/phpunit/tests/image/functions.php index cfffd71922bf9..598046eb41ff2 100644 --- a/tests/phpunit/tests/image/functions.php +++ b/tests/phpunit/tests/image/functions.php @@ -335,7 +335,7 @@ public function test_wp_crop_image_url() { } $file = wp_crop_image( - 'https://asdftestblog1.files.wordpress.com/2008/04/canola.jpg', + 'https://s.w.org/screenshots/3.9/dashboard.png', 0, 0, 100, @@ -343,7 +343,7 @@ public function test_wp_crop_image_url() { 100, 100, false, - DIR_TESTDATA . '/images/' . __FUNCTION__ . '.jpg' + DIR_TESTDATA . '/images/' . __FUNCTION__ . '.png' ); if ( is_wp_error( $file ) && $file->get_error_code() === 'invalid_image' ) { @@ -379,7 +379,7 @@ public function test_wp_crop_image_url_not_exist() { } $file = wp_crop_image( - 'https://asdftestblog1.files.wordpress.com/2008/04/canoladoesnotexist.jpg', + 'https://wordpress.org/screenshots/3.9/canoladoesnotexist.jpg', 0, 0, 100,