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.6 branch.

Props peterwilsoncc, jorbin.
See #60865.

git-svn-id: https://develop.svn.wordpress.org/branches/5.6@57995 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Sergey Biryukov 2024-04-15 12:27:18 +00:00
parent 4ac331dba2
commit 7cd0ff4812
3 changed files with 29 additions and 21 deletions

View File

@ -26,10 +26,10 @@ class Tests_Functions_wpRemoteFopen extends WP_UnitTestCase {
*/
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->assertSame( 40148, strlen( $response ) );
$this->assertSame( 153204, strlen( $response ) );
}
}

View File

@ -9,7 +9,7 @@ class Tests_HTTP_Functions extends WP_UnitTestCase {
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 );
@ -18,30 +18,38 @@ class Tests_HTTP_Functions extends WP_UnitTestCase {
$this->assertInternalType( 'array', $response );
$this->assertSame( 'image/jpeg', $headers['content-type'] );
$this->assertSame( '40148', $headers['content-length'] );
$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->assertSame( 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->assertSame( 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 );
@ -52,14 +60,14 @@ class Tests_HTTP_Functions extends WP_UnitTestCase {
$this->assertInternalType( 'array', $response );
// Should return the same headers as a HEAD request.
$this->assertSame( 'image/jpeg', $headers['content-type'] );
$this->assertSame( '40148', $headers['content-length'] );
$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 );
@ -68,14 +76,14 @@ class Tests_HTTP_Functions extends WP_UnitTestCase {
$headers = wp_remote_retrieve_headers( $response );
// Should return the same headers as a HEAD request.
$this->assertSame( 'image/jpeg', $headers['content-type'] );
$this->assertSame( '40148', $headers['content-length'] );
$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 ) );

View File

@ -368,7 +368,7 @@ class Tests_Image_Functions extends WP_UnitTestCase {
*/
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,
@ -376,7 +376,7 @@ class Tests_Image_Functions extends WP_UnitTestCase {
100,
100,
false,
DIR_TESTDATA . '/images/' . __FUNCTION__ . '.jpg'
DIR_TESTDATA . '/images/' . __FUNCTION__ . '.png'
);
if ( is_wp_error( $file ) && $file->get_error_code() === 'invalid_image' ) {
@ -411,7 +411,7 @@ class Tests_Image_Functions extends WP_UnitTestCase {
*/
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,