Make WordPress Core


Ignore:
Timestamp:
04/15/2024 04:53:55 PM (3 months ago)
Author:
SergeyBiryukov
Message:

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

Props peterwilsoncc, jorbin.
See #60865.

Location:
branches/4.7
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/4.7

  • branches/4.7/tests/phpunit/tests/http/functions.php

    r50088 r58006  
    1515    }
    1616
    17     function test_head_request() {
    18         // this url give a direct 200 response
    19         $url = 'https://asdftestblog1.files.wordpress.com/2007/09/2007-06-30-dsc_4700-1.jpg';
     17    /**
     18     * @covers ::wp_remote_head
     19     */
     20    public function test_head_request() {
     21        // This URL gives a direct 200 response.
     22        $url      = 'https://s.w.org/screenshots/3.9/dashboard.png';
    2023        $response = wp_remote_head( $url );
    2124
     
    2629        $this->assertInternalType( 'array', $response );
    2730       
    28         $this->assertEquals( 'image/jpeg', $headers['content-type'] );
    29         $this->assertEquals( '40148', $headers['content-length'] );
    30         $this->assertEquals( '200', wp_remote_retrieve_response_code( $response ) );
     31        $this->assertSame( 'image/png', $headers['Content-Type'] );
     32        $this->assertSame( '153204', $headers['Content-Length'] );
     33        $this->assertSame( 200, wp_remote_retrieve_response_code( $response ) );
    3134    }
    3235
    33     function test_head_redirect() {
    34         // this url will 301 redirect
    35         $url = 'https://asdftestblog1.wordpress.com/files/2007/09/2007-06-30-dsc_4700-1.jpg';
     36    /**
     37     * @covers ::wp_remote_head
     38     */
     39    public function test_head_redirect() {
     40        // This URL will 301 redirect.
     41        $url      = 'https://wp.org/screenshots/3.9/dashboard.png';
    3642        $response = wp_remote_head( $url );
    3743
     
    4046    }
    4147
    42     function test_head_404() {
    43         $url = 'https://asdftestblog1.files.wordpress.com/2007/09/awefasdfawef.jpg';
     48    /**
     49     * @covers ::wp_remote_head
     50     */
     51    public function test_head_404() {
     52        $url      = 'https://wordpress.org/screenshots/3.9/awefasdfawef.jpg';
    4453        $response = wp_remote_head( $url );
    4554
     
    4857    }
    4958
    50     function test_get_request() {
    51         $url = 'https://asdftestblog1.files.wordpress.com/2007/09/2007-06-30-dsc_4700-1.jpg';
     59    /**
     60     * @covers ::wp_remote_get
     61     * @covers ::wp_remote_retrieve_headers
     62     * @covers ::wp_remote_retrieve_response_code
     63     */
     64    public function test_get_request() {
     65        $url = 'https://s.w.org/screenshots/3.9/dashboard.png';
    5266
    5367        $response = wp_remote_get( $url );
     
    5973        $this->assertInternalType( 'array', $response );
    6074   
    61         // should return the same headers as a head request
    62         $this->assertEquals( 'image/jpeg', $headers['content-type'] );
    63         $this->assertEquals( '40148', $headers['content-length'] );
    64         $this->assertEquals( '200', wp_remote_retrieve_response_code( $response ) );
     75        // Should return the same headers as a HEAD request.
     76        $this->assertSame( 'image/png', $headers['Content-Type'] );
     77        $this->assertSame( '153204', $headers['Content-Length'] );
     78        $this->assertSame( 200, wp_remote_retrieve_response_code( $response ) );
    6579    }
    6680
    67     function test_get_redirect() {
    68         // this will redirect to asdftestblog1.files.wordpress.com
    69         $url = 'https://asdftestblog1.wordpress.com/files/2007/09/2007-06-30-dsc_4700-1.jpg';
     81    /**
     82     * @covers ::wp_remote_get
     83     * @covers ::wp_remote_retrieve_headers
     84     * @covers ::wp_remote_retrieve_response_code
     85     */
     86    public function test_get_redirect() {
     87        // This will redirect to wordpress.org.
     88        $url = 'https://wp.org/screenshots/3.9/dashboard.png';
    7089
    7190        $response = wp_remote_get( $url );
     
    7594        $headers = wp_remote_retrieve_headers( $response );
    7695
    77         // should return the same headers as a head request
    78         $this->assertEquals( 'image/jpeg', $headers['content-type'] );
    79         $this->assertEquals( '40148', $headers['content-length'] );
    80         $this->assertEquals( '200', wp_remote_retrieve_response_code( $response ) );
     96        // Should return the same headers as a HEAD request.
     97        $this->assertSame( 'image/png', $headers['Content-Type'] );
     98        $this->assertSame( '153204', $headers['Content-Length'] );
     99        $this->assertSame( 200, wp_remote_retrieve_response_code( $response ) );
    81100    }
    82101
    83     function test_get_redirect_limit_exceeded() {
    84         // this will redirect to asdftestblog1.files.wordpress.com
    85         $url = 'https://asdftestblog1.wordpress.com/files/2007/09/2007-06-30-dsc_4700-1.jpg';
     102    /**
     103     * @covers ::wp_remote_get
     104     */
     105    public function test_get_redirect_limit_exceeded() {
     106        // This will redirect to wordpress.org.
     107        $url = 'https://wp.org/screenshots/3.9/dashboard.png';
    86108
    87109        // pretend we've already redirected 5 times
Note: See TracChangeset for help on using the changeset viewer.