Make WordPress Core


Ignore:
Timestamp:
04/15/2024 12:35:08 PM (2 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 5.3 branch.

Props peterwilsoncc, jorbin.
See #60865.

Location:
branches/5.3
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/5.3

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

    r50092 r57998  
    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
    3336    function test_head_redirect() {
    3437        // this url will 301 redirect
    35         $url      = 'https://asdftestblog1.wordpress.com/files/2007/09/2007-06-30-dsc_4700-1.jpg';
     38        $url      = 'https://wp.org/screenshots/3.9/dashboard.png';
    3639        $response = wp_remote_head( $url );
    3740
     
    4043    }
    4144
    42     function test_head_404() {
    43         $url      = 'https://asdftestblog1.files.wordpress.com/2007/09/awefasdfawef.jpg';
     45    /**
     46     * @covers ::wp_remote_head
     47     */
     48    public function test_head_404() {
     49        $url      = 'https://wordpress.org/screenshots/3.9/awefasdfawef.jpg';
    4450        $response = wp_remote_head( $url );
    4551
     
    4854    }
    4955
    50     function test_get_request() {
    51         $url = 'https://asdftestblog1.files.wordpress.com/2007/09/2007-06-30-dsc_4700-1.jpg';
     56    /**
     57     * @covers ::wp_remote_get
     58     * @covers ::wp_remote_retrieve_headers
     59     * @covers ::wp_remote_retrieve_response_code
     60     */
     61    public function test_get_request() {
     62        $url = 'https://s.w.org/screenshots/3.9/dashboard.png';
    5263
    5364        $response = wp_remote_get( $url );
     
    5970        $this->assertInternalType( 'array', $response );
    6071
    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 ) );
    65     }
    66 
    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';
     72        // Should return the same headers as a HEAD request.
     73        $this->assertSame( 'image/png', $headers['Content-Type'] );
     74        $this->assertSame( '153204', $headers['Content-Length'] );
     75        $this->assertSame( 200, wp_remote_retrieve_response_code( $response ) );
     76    }
     77
     78    /**
     79     * @covers ::wp_remote_get
     80     * @covers ::wp_remote_retrieve_headers
     81     * @covers ::wp_remote_retrieve_response_code
     82     */
     83    public function test_get_redirect() {
     84        // This will redirect to wordpress.org.
     85        $url = 'https://wp.org/screenshots/3.9/dashboard.png';
    7086
    7187        $response = wp_remote_get( $url );
     
    7591        $headers = wp_remote_retrieve_headers( $response );
    7692
    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 ) );
    81     }
    82 
    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';
     93        // Should return the same headers as a HEAD request.
     94        $this->assertSame( 'image/png', $headers['Content-Type'] );
     95        $this->assertSame( '153204', $headers['Content-Length'] );
     96        $this->assertSame( 200, wp_remote_retrieve_response_code( $response ) );
     97    }
     98
     99    /**
     100     * @covers ::wp_remote_get
     101     */
     102    public function test_get_redirect_limit_exceeded() {
     103        // This will redirect to wordpress.org.
     104        $url = 'https://wp.org/screenshots/3.9/dashboard.png';
    86105
    87106        // pretend we've already redirected 5 times
Note: See TracChangeset for help on using the changeset viewer.