Changeset 6806
- Timestamp:
- 02/28/2018 03:27:07 AM (7 years ago)
- Location:
- sites/trunk/api.wordpress.org/public_html/core/serve-happy/1.0
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
sites/trunk/api.wordpress.org/public_html/core/serve-happy/1.0/config.php
r6728 r6806 2 2 namespace WordPressdotorg\API\Serve_Happy; 3 3 4 // The latest branch of PHP which is receiving security updates. Should be defined as X.Y5 define( ' PHP_RECEIVING_SECURITY_UPDATES', '5.6' );4 // The latest branch of PHP which WordPress.org recommends. 5 define( 'RECOMMENDED_PHP', '7.2' ); 6 6 7 // The l atest branch of PHP which is considered NOT out-of-date.8 define( ' TRIGGER_PHP_VERSION', '5.3' );7 // The lowest branch of PHP which is actively supported. 8 define( 'SUPPORTED_PHP', '7.0' ); 9 9 10 // The latest branch of PHP which WordPress.org recommends. 11 define( 'RECOMMENDED_PHP', '7.2' ); 10 // The lowest branch of PHP which is receiving security updates. 11 define( 'SECURE_PHP', '5.6' ); 12 13 // The lowest branch of PHP which is still considered acceptable in WordPress. 14 define( 'ACCEPTABLE_PHP', '5.3' ); -
sites/trunk/api.wordpress.org/public_html/core/serve-happy/1.0/include.php
r6728 r6806 19 19 } 20 20 21 // Including the IP address here as an optional parameter incase it's wanted later to return dynamic responses for hosts. 22 $ip_adress = false; 23 if ( ! empty( $request['ip_address'] ) ) { 24 $ip_address = $request['ip_address']; 25 26 // Only allow a IP range to be passed. for example: 123.123.123.0 instead of 123.123.123.45 27 if ( '.0' != substr( $ip_address, -2 ) ) { 28 return bail( 'invalid_param', 'Invalid parameter: ip_address', 400 ); 29 } 30 } 31 32 return compact( 33 'php_version', 34 'ip_address' 35 ); 21 return compact( 'php_version' ); 36 22 } 37 23 … … 39 25 $php_version = $request['php_version']; 40 26 41 $out_of_date = version_compare( $php_version, TRIGGER_PHP_VERSION, '<' ); 42 $receiving_security_updates = version_compare( $php_version, PHP_RECEIVING_SECURITY_UPDATES, '>=' ); 43 44 $status = 'ok'; 45 if ( $out_of_date ) { 46 $status = 'out_of_date'; 47 } elseif ( ! $receiving_security_updates ) { 48 $status = 'no_security_updates'; 49 } 50 51 $recommended_php = RECOMMENDED_PHP; 52 $secure_php = PHP_RECEIVING_SECURITY_UPDATES; 53 $update_url = ''; // Potential future use based on $request['ip_address'] 54 55 return compact( 56 'php_version', 57 'recommended_php', 58 'secure_php', 59 'status', 60 'update_url', 61 62 // Including for debugging purposes, see https://meta.trac.wordpress.org/ticket/3474 63 'out_of_date', 64 'receiving_security_updates' 27 return array( 28 'recommended_version' => RECOMMENDED_PHP, 29 'is_supported' => version_compare( $php_version, SUPPORTED_PHP, '>=' ), 30 'is_secure' => version_compare( $php_version, SECURE_PHP, '>=' ), 31 'is_acceptable' => version_compare( $php_version, ACCEPTABLE_PHP, '>=' ), 65 32 ); 66 33 } -
sites/trunk/api.wordpress.org/public_html/core/serve-happy/1.0/tests/tests.php
r6728 r6806 25 25 [ 'php_version' => '5.3.2' ] 26 26 ], 27 [28 [29 'php_version' => '7.0',30 'ip_address' => '1.2.3.0'31 ],32 [33 'php_version' => '7.0',34 'ip_address' => '1.2.3.0'35 ]36 ],37 27 ]; 38 28 } … … 55 45 56 46 // Assert that it's a successful response, and not an error. 57 $this->assertArrayHasKey( 'status', $output ); 47 $this->assertArrayHasKey( 'recommended_version', $output ); 48 $this->assertArrayHasKey( 'is_supported', $output ); 49 $this->assertArrayHasKey( 'is_secure', $output ); 50 $this->assertArrayHasKey( 'is_acceptable', $output ); 58 51 } 59 52 … … 92 85 ] 93 86 ], 94 [95 [96 'php_version' => '7.0',97 'ip_address' => '1.2.3.4'98 ],99 [100 'code' => 'invalid_param',101 'message' => 'Invalid parameter: ip_address',102 'status' => 400103 ]104 ],105 87 ]; 106 88 } … … 126 108 127 109 function dataprovider_parse_request_valid() { 128 return [ 129 // Testing Valid IP Address format 130 [ 131 [ 132 'php_version' => RECOMMENDED_PHP, 133 'ip_address' => '1.2.3.0', 134 ], 135 [ 'status' => 'ok' ] 136 ], 137 // Testing PHP version logic: 110 // Test recommended PHP version is always returned. 111 $data = [ 138 112 [ 139 113 [ 'php_version' => RECOMMENDED_PHP ], 140 [ 'status' => 'ok' ] 141 ], 142 [ 143 [ 'php_version' => RECOMMENDED_PHP + 0.1 ], 144 [ 'status' => 'ok' ] 145 ], 146 [ 147 [ 'php_version' => PHP_RECEIVING_SECURITY_UPDATES ], 148 [ 'status' => 'ok' ] 149 ], 150 [ 151 [ 'php_version' => PHP_RECEIVING_SECURITY_UPDATES - 0.1 ], 152 [ 'status' => 'no_security_updates' ] 153 ], 154 [ 155 [ 'php_version' => TRIGGER_PHP_VERSION - 0.1 ], 156 [ 'status' => 'out_of_date' ] 157 ], 158 ]; 114 [ 'recommended_version' => RECOMMENDED_PHP ] 115 ], 116 [ 117 [ 'php_version' => '5.2' ], 118 [ 'recommended_version' => RECOMMENDED_PHP ] 119 ], 120 ]; 121 122 // Test individual PHP versions. 123 $flags = [ 124 'is_supported' => 'SUPPORTED_PHP', 125 'is_secure' => 'SECURE_PHP', 126 'is_acceptable' => 'ACCEPTABLE_PHP' 127 ]; 128 foreach ( $flags as $flag => $constant_name ) { 129 $data[] = [ 130 [ 'php_version' => constant( $constant_name ) ], 131 [ $flag => true ] 132 ]; 133 $data[] = [ 134 [ 'php_version' => constant( $constant_name ) + 0.1 ], 135 [ $flag => true ] 136 ]; 137 $data[] = [ 138 [ 'php_version' => constant( $constant_name ) - 0.1 ], 139 [ $flag => false ] 140 ]; 141 } 142 return $data; 159 143 } 160 144
Note: See TracChangeset
for help on using the changeset viewer.