Tests: Replace use of $this->server with rest_get_server() for better memory recycling.

Props danielbachhuber.
Fixes #41641.

git-svn-id: https://develop.svn.wordpress.org/trunk@42724 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Sergey Biryukov 2018-02-21 16:24:30 +00:00
parent 05e88c58cd
commit 9e31509293
19 changed files with 1024 additions and 1012 deletions

View File

@ -85,6 +85,8 @@ unset( $multisite );
$GLOBALS['_wp_die_disabled'] = false;
// Allow tests to override wp_die
tests_add_filter( 'wp_die_handler', '_wp_die_handler_filter' );
// Use the Spy REST Server instead of default
tests_add_filter( 'wp_rest_server_class', '_wp_rest_server_class_filter' );
// Preset WordPress options defined in bootstrap file.
// Used to activate themes, plugins, as well as other settings.

View File

@ -180,6 +180,13 @@ function _upload_dir_https( $uploads ) {
return $uploads;
}
/**
* Use the Spy_REST_Server class for the REST server.
*/
function _wp_rest_server_class_filter() {
return 'Spy_REST_Server';
}
// Skip `setcookie` calls in auth_cookie functions due to warning:
// Cannot modify header information - headers already sent by ...
tests_add_filter( 'send_auth_cookies', '__return_false' );

View File

@ -9,8 +9,8 @@ abstract class WP_Test_REST_Controller_Testcase extends WP_Test_REST_TestCase {
add_filter( 'rest_url', array( $this, 'filter_rest_url_for_leading_slash' ), 10, 2 );
/** @var WP_REST_Server $wp_rest_server */
global $wp_rest_server;
$this->server = $wp_rest_server = new Spy_REST_Server;
do_action( 'rest_api_init' );
$wp_rest_server = new Spy_REST_Server;
do_action( 'rest_api_init', $wp_rest_server );
}
public function tearDown() {

View File

@ -45,15 +45,18 @@ class Test_oEmbed_Controller extends WP_UnitTestCase {
/** @var WP_REST_Server $wp_rest_server */
global $wp_rest_server;
$this->server = $wp_rest_server = new Spy_REST_Server();
$wp_rest_server = new Spy_REST_Server;
do_action( 'rest_api_init', $wp_rest_server );
do_action( 'rest_api_init', $this->server );
add_filter( 'pre_http_request', array( $this, 'mock_embed_request' ), 10, 3 );
$this->request_count = 0;
}
public function tearDown() {
parent::tearDown();
/** @var WP_REST_Server $wp_rest_server */
global $wp_rest_server;
$wp_rest_server = null;
remove_filter( 'pre_http_request', array( $this, 'mock_embed_request' ), 10 );
}
@ -179,7 +182,7 @@ class Test_oEmbed_Controller extends WP_UnitTestCase {
public function test_route_availability() {
// Check the route was registered correctly.
$filtered_routes = $this->server->get_routes();
$filtered_routes = rest_get_server()->get_routes();
$this->assertArrayHasKey( '/oembed/1.0/embed', $filtered_routes );
$route = $filtered_routes['/oembed/1.0/embed'];
$this->assertCount( 1, $route );
@ -200,7 +203,7 @@ class Test_oEmbed_Controller extends WP_UnitTestCase {
function test_request_with_wrong_method() {
$request = new WP_REST_Request( 'POST', '/oembed/1.0/embed' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 'rest_no_route', $data['code'] );
@ -209,7 +212,7 @@ class Test_oEmbed_Controller extends WP_UnitTestCase {
function test_request_without_url_param() {
$request = new WP_REST_Request( 'GET', '/oembed/1.0/embed' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 'rest_missing_callback_param', $data['code'] );
@ -220,7 +223,7 @@ class Test_oEmbed_Controller extends WP_UnitTestCase {
$request = new WP_REST_Request( 'GET', '/oembed/1.0/embed' );
$request->set_param( 'url', 'http://google.com/' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 'oembed_invalid_url', $data['code'] );
@ -233,7 +236,7 @@ class Test_oEmbed_Controller extends WP_UnitTestCase {
$request->set_param( 'url', get_permalink( $post_id ) );
$request->set_param( 'format', 'random' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertInternalType( 'array', $data );
@ -257,7 +260,7 @@ class Test_oEmbed_Controller extends WP_UnitTestCase {
$request->set_param( 'url', get_permalink( $post->ID ) );
$request->set_param( 'maxwidth', 400 );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertInternalType( 'array', $data );
@ -300,7 +303,7 @@ class Test_oEmbed_Controller extends WP_UnitTestCase {
$request->set_param( 'url', home_url() );
$request->set_param( 'maxwidth', 400 );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertInternalType( 'array', $data );
@ -345,7 +348,7 @@ class Test_oEmbed_Controller extends WP_UnitTestCase {
$request->set_param( 'format', 'xml' );
$request->set_param( 'maxwidth', 400 );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertInternalType( 'array', $data );
@ -388,7 +391,7 @@ class Test_oEmbed_Controller extends WP_UnitTestCase {
$request->set_param( 'url', get_permalink( $post->ID ) );
$request->set_param( 'maxwidth', 400 );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertInternalType( 'array', $data );
@ -414,8 +417,8 @@ class Test_oEmbed_Controller extends WP_UnitTestCase {
$request->set_param( 'url', get_permalink( $post->ID ) );
$request->set_param( 'format', 'xml' );
$response = $this->server->dispatch( $request );
$output = get_echo( '_oembed_rest_pre_serve_request', array( true, $response, $request, $this->server ) );
$response = rest_get_server()->dispatch( $request );
$output = get_echo( '_oembed_rest_pre_serve_request', array( true, $response, $request, rest_get_server() ) );
$xml = simplexml_load_string( $output );
$this->assertInstanceOf( 'SimpleXMLElement', $xml );
@ -428,9 +431,9 @@ class Test_oEmbed_Controller extends WP_UnitTestCase {
$request->set_param( 'url', get_permalink( $post->ID ) );
$request->set_param( 'format', 'json' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertTrue( _oembed_rest_pre_serve_request( true, $response, $request, $this->server ) );
$this->assertTrue( _oembed_rest_pre_serve_request( true, $response, $request, rest_get_server() ) );
}
function test_rest_pre_serve_request_wrong_method() {
@ -440,9 +443,9 @@ class Test_oEmbed_Controller extends WP_UnitTestCase {
$request->set_param( 'url', get_permalink( $post->ID ) );
$request->set_param( 'format', 'xml' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertTrue( _oembed_rest_pre_serve_request( true, $response, $request, $this->server ) );
$this->assertTrue( _oembed_rest_pre_serve_request( true, $response, $request, rest_get_server() ) );
}
function test_get_oembed_endpoint_url() {
@ -477,7 +480,7 @@ class Test_oEmbed_Controller extends WP_UnitTestCase {
public function test_proxy_without_permission() {
// Test without a login.
$request = new WP_REST_Request( 'GET', '/oembed/1.0/proxy' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 400, $response->get_status() );
@ -485,7 +488,7 @@ class Test_oEmbed_Controller extends WP_UnitTestCase {
wp_set_current_user( self::$subscriber );
$request = new WP_REST_Request( 'GET', '/oembed/1.0/proxy' );
$request->set_param( 'url', self::INVALID_OEMBED_URL );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 403, $response->get_status() );
$data = $response->get_data();
@ -496,7 +499,7 @@ class Test_oEmbed_Controller extends WP_UnitTestCase {
wp_set_current_user( self::$editor );
$request = new WP_REST_Request( 'GET', '/oembed/1.0/proxy' );
$request->set_param( 'url', self::INVALID_OEMBED_URL );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 404, $response->get_status() );
$data = $response->get_data();
$this->assertEquals( 'oembed_invalid_url', $data['code'] );
@ -506,7 +509,7 @@ class Test_oEmbed_Controller extends WP_UnitTestCase {
wp_set_current_user( self::$editor );
$request = new WP_REST_Request( 'GET', '/oembed/1.0/proxy' );
$request->set_param( 'type', 'xml' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 400, $response->get_status() );
}
@ -518,12 +521,12 @@ class Test_oEmbed_Controller extends WP_UnitTestCase {
$request->set_param( 'maxwidth', 456 );
$request->set_param( 'maxheight', 789 );
$request->set_param( '_wpnonce', wp_create_nonce( 'wp_rest' ) );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$this->assertEquals( 1, $this->request_count );
// Subsequent request is cached and so it should not cause a request.
$this->server->dispatch( $request );
rest_get_server()->dispatch( $request );
$this->assertEquals( 1, $this->request_count );
// Rest with another user should also be cached.
@ -533,7 +536,7 @@ class Test_oEmbed_Controller extends WP_UnitTestCase {
$request->set_param( '_wpnonce', wp_create_nonce( 'wp_rest' ) );
$request->set_param( 'maxwidth', 456 );
$request->set_param( 'maxheight', 789 );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 1, $this->request_count );
// Test data object.
@ -554,7 +557,7 @@ class Test_oEmbed_Controller extends WP_UnitTestCase {
$request = new WP_REST_Request( 'GET', '/oembed/1.0/proxy' );
$request->set_param( 'url', self::INVALID_OEMBED_URL );
$request->set_param( 'discover', 0 );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 404, $response->get_status() );
$this->assertEquals( 0, $this->request_count );
}
@ -565,7 +568,7 @@ class Test_oEmbed_Controller extends WP_UnitTestCase {
// For an unkown provider, a discovery request should happen.
$request = new WP_REST_Request( 'GET', '/oembed/1.0/proxy' );
$request->set_param( 'url', self::INVALID_OEMBED_URL );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 404, $response->get_status() );
$this->assertEquals( 1, $this->request_count );
}
@ -576,7 +579,7 @@ class Test_oEmbed_Controller extends WP_UnitTestCase {
$request->set_param( 'url', self::INVALID_OEMBED_URL );
$request->set_param( 'discover', 'notaboolean' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 400, $response->get_status() );
$data = $response->get_data();

View File

@ -76,7 +76,7 @@ class WP_Test_REST_Attachments_Controller extends WP_Test_REST_Post_Type_Control
}
public function test_register_routes() {
$routes = $this->server->get_routes();
$routes = rest_get_server()->get_routes();
$this->assertArrayHasKey( '/wp/v2/media', $routes );
$this->assertCount( 2, $routes['/wp/v2/media'] );
$this->assertArrayHasKey( '/wp/v2/media/(?P<id>[\d]+)', $routes );
@ -127,7 +127,7 @@ class WP_Test_REST_Attachments_Controller extends WP_Test_REST_Post_Type_Control
public function test_context_param() {
// Collection
$request = new WP_REST_Request( 'OPTIONS', '/wp/v2/media' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 'view', $data['endpoints'][0]['args']['context']['default'] );
$this->assertEquals( array( 'view', 'embed', 'edit' ), $data['endpoints'][0]['args']['context']['enum'] );
@ -139,7 +139,7 @@ class WP_Test_REST_Attachments_Controller extends WP_Test_REST_Post_Type_Control
)
);
$request = new WP_REST_Request( 'OPTIONS', '/wp/v2/media/' . $attachment_id );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 'view', $data['endpoints'][0]['args']['context']['default'] );
$this->assertEquals( array( 'view', 'embed', 'edit' ), $data['endpoints'][0]['args']['context']['enum'] );
@ -147,7 +147,7 @@ class WP_Test_REST_Attachments_Controller extends WP_Test_REST_Post_Type_Control
public function test_registered_query_params() {
$request = new WP_REST_Request( 'OPTIONS', '/wp/v2/media' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$keys = array_keys( $data['endpoints'][0]['args'] );
sort( $keys );
@ -194,7 +194,7 @@ class WP_Test_REST_Attachments_Controller extends WP_Test_REST_Post_Type_Control
)
);
$request = new WP_REST_Request( 'OPTIONS', sprintf( '/wp/v2/media/%d', $id1 ) );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$keys = array_keys( $data['endpoints'][0]['args'] );
sort( $keys );
@ -224,7 +224,7 @@ class WP_Test_REST_Attachments_Controller extends WP_Test_REST_Post_Type_Control
)
);
$request = new WP_REST_Request( 'GET', '/wp/v2/media' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertCount( 2, $data );
$ids = wp_list_pluck( $data, 'id' );
@ -258,7 +258,7 @@ class WP_Test_REST_Attachments_Controller extends WP_Test_REST_Post_Type_Control
)
);
$request = new WP_REST_Request( 'GET', '/wp/v2/media' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertCount( 3, $data );
@ -275,16 +275,16 @@ class WP_Test_REST_Attachments_Controller extends WP_Test_REST_Post_Type_Control
)
);
$request = new WP_REST_Request( 'GET', '/wp/v2/media' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( $id1, $data[0]['id'] );
// media_type=video
$request->set_param( 'media_type', 'video' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertCount( 0, $response->get_data() );
// media_type=image
$request->set_param( 'media_type', 'image' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( $id1, $data[0]['id'] );
}
@ -296,16 +296,16 @@ class WP_Test_REST_Attachments_Controller extends WP_Test_REST_Post_Type_Control
)
);
$request = new WP_REST_Request( 'GET', '/wp/v2/media' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( $id1, $data[0]['id'] );
// mime_type=image/png
$request->set_param( 'mime_type', 'image/png' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertCount( 0, $response->get_data() );
// mime_type=image/jpeg
$request->set_param( 'mime_type', 'image/jpeg' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( $id1, $data[0]['id'] );
}
@ -326,26 +326,26 @@ class WP_Test_REST_Attachments_Controller extends WP_Test_REST_Post_Type_Control
);
// all attachments
$request = new WP_REST_Request( 'GET', '/wp/v2/media' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 2, count( $response->get_data() ) );
$request = new WP_REST_Request( 'GET', '/wp/v2/media' );
// attachments without a parent
$request->set_param( 'parent', 0 );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 1, count( $data ) );
$this->assertEquals( $attachment_id2, $data[0]['id'] );
// attachments with parent=post_id
$request = new WP_REST_Request( 'GET', '/wp/v2/media' );
$request->set_param( 'parent', $post_id );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 1, count( $data ) );
$this->assertEquals( $attachment_id, $data[0]['id'] );
// attachments with invalid parent
$request = new WP_REST_Request( 'GET', '/wp/v2/media' );
$request->set_param( 'parent', REST_TESTS_IMPOSSIBLY_HIGH_NUMBER );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 0, count( $data ) );
}
@ -361,7 +361,7 @@ class WP_Test_REST_Attachments_Controller extends WP_Test_REST_Post_Type_Control
$request = new WP_REST_Request( 'GET', '/wp/v2/media' );
$request->set_param( 'status', 'publish' );
$request->set_param( 'context', 'edit' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertCount( 3, $data );
$this->assertEquals( 'rest_invalid_param', $data['code'] );
@ -379,11 +379,11 @@ class WP_Test_REST_Attachments_Controller extends WP_Test_REST_Post_Type_Control
);
$request = new WP_REST_Request( 'GET', '/wp/v2/media' );
$request->set_param( 'status', 'private' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_invalid_param', $response, 400 );
// Properly authorized users can make the request
wp_set_current_user( self::$editor_id );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$data = $response->get_data();
$this->assertEquals( $attachment_id1, $data[0]['id'] );
@ -408,11 +408,11 @@ class WP_Test_REST_Attachments_Controller extends WP_Test_REST_Post_Type_Control
);
$request = new WP_REST_Request( 'GET', '/wp/v2/media' );
$request->set_param( 'status', array( 'private', 'trash' ) );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_invalid_param', $response, 400 );
// Properly authorized users can make the request
wp_set_current_user( self::$editor_id );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$data = $response->get_data();
$this->assertEquals( 2, count( $data ) );
@ -428,7 +428,7 @@ class WP_Test_REST_Attachments_Controller extends WP_Test_REST_Post_Type_Control
$request = new WP_REST_Request( 'GET', '/wp/v2/media' );
$request->set_param( 'after', rand_str() );
$request->set_param( 'before', rand_str() );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_invalid_param', $response, 400 );
}
@ -457,7 +457,7 @@ class WP_Test_REST_Attachments_Controller extends WP_Test_REST_Post_Type_Control
$request = new WP_REST_Request( 'GET', '/wp/v2/media' );
$request->set_param( 'after', '2016-01-15T00:00:00Z' );
$request->set_param( 'before', '2016-01-17T00:00:00Z' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertCount( 1, $data );
$this->assertEquals( $id2, $data[0]['id'] );
@ -472,7 +472,7 @@ class WP_Test_REST_Attachments_Controller extends WP_Test_REST_Post_Type_Control
);
update_post_meta( $attachment_id, '_wp_attachment_image_alt', 'Sample alt text' );
$request = new WP_REST_Request( 'GET', '/wp/v2/media/' . $attachment_id );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->check_get_post_response( $response );
$data = $response->get_data();
$this->assertEquals( 'image/jpeg', $data['mime_type'] );
@ -490,7 +490,7 @@ class WP_Test_REST_Attachments_Controller extends WP_Test_REST_Post_Type_Control
wp_update_attachment_metadata( $attachment_id, wp_generate_attachment_metadata( $attachment_id, $this->test_file ) );
$request = new WP_REST_Request( 'GET', '/wp/v2/media/' . $attachment_id );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$image_src = wp_get_attachment_image_src( $attachment_id, 'rest-api-test' );
$original_image_src = wp_get_attachment_image_src( $attachment_id, 'full' );
@ -516,7 +516,7 @@ class WP_Test_REST_Attachments_Controller extends WP_Test_REST_Post_Type_Control
add_filter( 'wp_get_attachment_image_src', '__return_false' );
$request = new WP_REST_Request( 'GET', '/wp/v2/media/' . $attachment_id );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
remove_filter( 'wp_get_attachment_image_src', '__return_false' );
remove_image_size( 'rest-api-test' );
@ -534,7 +534,7 @@ class WP_Test_REST_Attachments_Controller extends WP_Test_REST_Post_Type_Control
)
);
$request = new WP_REST_Request( 'GET', '/wp/v2/media/' . $id1 );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 401, $response->get_status() );
}
@ -546,7 +546,7 @@ class WP_Test_REST_Attachments_Controller extends WP_Test_REST_Post_Type_Control
)
);
$request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/media/%d', $attachment_id ) );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 200, $response->get_status() );
@ -562,7 +562,7 @@ class WP_Test_REST_Attachments_Controller extends WP_Test_REST_Post_Type_Control
)
);
$request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/media/%d', $attachment_id ) );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_forbidden', $response, 401 );
}
@ -579,7 +579,7 @@ class WP_Test_REST_Attachments_Controller extends WP_Test_REST_Post_Type_Control
$request->set_param( 'alt_text', 'Alt text is stored outside post schema.' );
$request->set_body( file_get_contents( $this->test_file ) );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 201, $response->get_status() );
@ -610,7 +610,7 @@ class WP_Test_REST_Attachments_Controller extends WP_Test_REST_Post_Type_Control
)
);
$request->set_header( 'Content-MD5', md5_file( $this->test_file2 ) );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 201, $response->get_status() );
$data = $response->get_data();
$this->assertEquals( 'codeispoetry', $data['title']['raw'] );
@ -630,7 +630,7 @@ class WP_Test_REST_Attachments_Controller extends WP_Test_REST_Post_Type_Control
)
);
$request->set_header( 'Content-MD5', md5_file( $this->test_file ) );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 201, $response->get_status() );
}
@ -648,14 +648,14 @@ class WP_Test_REST_Attachments_Controller extends WP_Test_REST_Post_Type_Control
)
);
$request->set_header( 'Content-MD5', md5_file( $this->test_file ) );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 201, $response->get_status() );
}
public function test_create_item_empty_body() {
wp_set_current_user( self::$author_id );
$request = new WP_REST_Request( 'POST', '/wp/v2/media' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_upload_no_data', $response, 400 );
}
@ -663,7 +663,7 @@ class WP_Test_REST_Attachments_Controller extends WP_Test_REST_Post_Type_Control
wp_set_current_user( self::$author_id );
$request = new WP_REST_Request( 'POST', '/wp/v2/media' );
$request->set_body( file_get_contents( $this->test_file ) );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_upload_no_content_type', $response, 400 );
}
@ -672,7 +672,7 @@ class WP_Test_REST_Attachments_Controller extends WP_Test_REST_Post_Type_Control
$request = new WP_REST_Request( 'POST', '/wp/v2/media' );
$request->set_header( 'Content-Type', 'image/jpeg' );
$request->set_body( file_get_contents( $this->test_file ) );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_upload_no_content_disposition', $response, 400 );
}
@ -683,7 +683,7 @@ class WP_Test_REST_Attachments_Controller extends WP_Test_REST_Post_Type_Control
$request->set_header( 'Content-Disposition', 'attachment; filename=canola.jpg' );
$request->set_header( 'Content-MD5', 'abc123' );
$request->set_body( file_get_contents( $this->test_file ) );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_upload_hash_mismatch', $response, 412 );
}
@ -701,14 +701,14 @@ class WP_Test_REST_Attachments_Controller extends WP_Test_REST_Post_Type_Control
)
);
$request->set_header( 'Content-MD5', 'abc123' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_upload_hash_mismatch', $response, 412 );
}
public function test_create_item_invalid_upload_files_capability() {
wp_set_current_user( self::$contributor_id );
$request = new WP_REST_Request( 'POST', '/wp/v2/media' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_cannot_create', $response, 403 );
}
@ -717,7 +717,7 @@ class WP_Test_REST_Attachments_Controller extends WP_Test_REST_Post_Type_Control
wp_set_current_user( self::$author_id );
$request = new WP_REST_Request( 'POST', '/wp/v2/media' );
$request->set_param( 'post', $post_id );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_cannot_edit', $response, 403 );
}
@ -726,7 +726,7 @@ class WP_Test_REST_Attachments_Controller extends WP_Test_REST_Post_Type_Control
wp_set_current_user( self::$uploader_id );
$request = new WP_REST_Request( 'POST', '/wp/v2/media' );
$request->set_param( 'post', $post_id );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_cannot_edit', $response, 403 );
}
@ -744,7 +744,7 @@ class WP_Test_REST_Attachments_Controller extends WP_Test_REST_Post_Type_Control
$request->set_header( 'Content-Disposition', 'attachment; filename=canola.jpg' );
$request->set_body( file_get_contents( $this->test_file ) );
$request->set_param( 'post', $attachment_id );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_invalid_param', $response, 400 );
}
@ -756,7 +756,7 @@ class WP_Test_REST_Attachments_Controller extends WP_Test_REST_Post_Type_Control
$request->set_body( file_get_contents( $this->test_file ) );
$request->set_param( 'alt_text', 'test alt text' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$attachment = $response->get_data();
$this->assertEquals( 'test alt text', $attachment['alt_text'] );
}
@ -768,7 +768,7 @@ class WP_Test_REST_Attachments_Controller extends WP_Test_REST_Post_Type_Control
$request->set_header( 'Content-Disposition', 'attachment; filename=canola.jpg' );
$request->set_body( file_get_contents( $this->test_file ) );
$request->set_param( 'alt_text', '<script>alert(document.cookie)</script>' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$attachment = $response->get_data();
$this->assertEquals( '', $attachment['alt_text'] );
}
@ -787,7 +787,7 @@ class WP_Test_REST_Attachments_Controller extends WP_Test_REST_Post_Type_Control
$request->set_param( 'caption', 'This is a better caption.' );
$request->set_param( 'description', 'Without a description, my attachment is descriptionless.' );
$request->set_param( 'alt_text', 'Alt text is stored outside post schema.' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$attachment = get_post( $data['id'] );
$this->assertEquals( 'My title is very cool', $data['title']['raw'] );
@ -817,7 +817,7 @@ class WP_Test_REST_Attachments_Controller extends WP_Test_REST_Post_Type_Control
$new_parent = $this->factory->post->create( array() );
$request = new WP_REST_Request( 'POST', '/wp/v2/media/' . $attachment_id );
$request->set_param( 'post', $new_parent );
$this->server->dispatch( $request );
rest_get_server()->dispatch( $request );
$attachment = get_post( $attachment_id );
$this->assertEquals( $new_parent, $attachment->post_parent );
@ -834,7 +834,7 @@ class WP_Test_REST_Attachments_Controller extends WP_Test_REST_Post_Type_Control
);
$request = new WP_REST_Request( 'POST', '/wp/v2/media/' . $attachment_id );
$request->set_param( 'caption', 'This is a better caption.' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_cannot_edit', $response, 403 );
}
@ -856,7 +856,7 @@ class WP_Test_REST_Attachments_Controller extends WP_Test_REST_Post_Type_Control
);
$request = new WP_REST_Request( 'POST', '/wp/v2/media/' . $attachment_id );
$request->set_param( 'post', $attachment_id );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_invalid_param', $response, 400 );
}
@ -870,7 +870,7 @@ class WP_Test_REST_Attachments_Controller extends WP_Test_REST_Post_Type_Control
foreach ( $input as $name => $value ) {
$request->set_param( $name, $value );
}
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 201, $response->get_status() );
$actual_output = $response->get_data();
@ -902,7 +902,7 @@ class WP_Test_REST_Attachments_Controller extends WP_Test_REST_Post_Type_Control
foreach ( $input as $name => $value ) {
$request->set_param( $name, $value );
}
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$actual_output = $response->get_data();
@ -1120,7 +1120,7 @@ class WP_Test_REST_Attachments_Controller extends WP_Test_REST_Post_Type_Control
);
$request = new WP_REST_Request( 'DELETE', '/wp/v2/media/' . $attachment_id );
$request['force'] = true;
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
}
@ -1135,11 +1135,11 @@ class WP_Test_REST_Attachments_Controller extends WP_Test_REST_Post_Type_Control
// Attempt trashing
$request = new WP_REST_Request( 'DELETE', '/wp/v2/media/' . $attachment_id );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_trash_not_supported', $response, 501 );
$request->set_param( 'force', 'false' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_trash_not_supported', $response, 501 );
// Ensure the post still exists
@ -1157,7 +1157,7 @@ class WP_Test_REST_Attachments_Controller extends WP_Test_REST_Post_Type_Control
)
);
$request = new WP_REST_Request( 'DELETE', '/wp/v2/media/' . $attachment_id );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_cannot_delete', $response, 403 );
}
@ -1172,7 +1172,7 @@ class WP_Test_REST_Attachments_Controller extends WP_Test_REST_Post_Type_Control
$attachment = get_post( $attachment_id );
$request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/media/%d', $attachment_id ) );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->check_post_data( $attachment, $data, 'view', $response->get_links() );
$this->check_post_data( $attachment, $data, 'embed', $response->get_links() );
@ -1180,7 +1180,7 @@ class WP_Test_REST_Attachments_Controller extends WP_Test_REST_Post_Type_Control
public function test_get_item_schema() {
$request = new WP_REST_Request( 'OPTIONS', '/wp/v2/media' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$properties = $data['schema']['properties'];
$this->assertEquals( 24, count( $properties ) );
@ -1234,7 +1234,7 @@ class WP_Test_REST_Attachments_Controller extends WP_Test_REST_Post_Type_Control
$request = new WP_REST_Request( 'OPTIONS', '/wp/v2/media' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertArrayHasKey( 'my_custom_int', $data['schema']['properties'] );
$this->assertEquals( $schema, $data['schema']['properties']['my_custom_int'] );
@ -1248,7 +1248,7 @@ class WP_Test_REST_Attachments_Controller extends WP_Test_REST_Post_Type_Control
$request = new WP_REST_Request( 'GET', '/wp/v2/media/' . $attachment_id );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertArrayHasKey( 'my_custom_int', $response->data );
global $wp_rest_additional_fields;
@ -1287,7 +1287,7 @@ class WP_Test_REST_Attachments_Controller extends WP_Test_REST_Post_Type_Control
)
);
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_invalid_param', $response, 400 );
@ -1311,7 +1311,7 @@ class WP_Test_REST_Attachments_Controller extends WP_Test_REST_Post_Type_Control
$request = new WP_REST_Request( 'GET', '/wp/v2/media' );
$request->set_param( 'search', $filename );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertCount( 1, $data );

View File

@ -33,7 +33,7 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
}
public function test_register_routes() {
$routes = $this->server->get_routes();
$routes = rest_get_server()->get_routes();
$this->assertArrayHasKey( '/wp/v2/categories', $routes );
$this->assertArrayHasKey( '/wp/v2/categories/(?P<id>[\d]+)', $routes );
}
@ -41,14 +41,14 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
public function test_context_param() {
// Collection
$request = new WP_REST_Request( 'OPTIONS', '/wp/v2/categories' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 'view', $data['endpoints'][0]['args']['context']['default'] );
$this->assertEqualSets( array( 'view', 'embed', 'edit' ), $data['endpoints'][0]['args']['context']['enum'] );
// Single
$category1 = $this->factory->category->create( array( 'name' => 'Season 5' ) );
$request = new WP_REST_Request( 'OPTIONS', '/wp/v2/categories/' . $category1 );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 'view', $data['endpoints'][0]['args']['context']['default'] );
$this->assertEqualSets( array( 'view', 'embed', 'edit' ), $data['endpoints'][0]['args']['context']['enum'] );
@ -56,7 +56,7 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
public function test_registered_query_params() {
$request = new WP_REST_Request( 'OPTIONS', '/wp/v2/categories' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$keys = array_keys( $data['endpoints'][0]['args'] );
sort( $keys );
@ -80,7 +80,7 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
public function test_get_items() {
$request = new WP_REST_Request( 'GET', '/wp/v2/categories' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->check_get_taxonomy_terms_response( $response );
}
@ -88,7 +88,7 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
wp_set_current_user( 0 );
$request = new WP_REST_Request( 'GET', '/wp/v2/categories' );
$request->set_param( 'context', 'edit' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_forbidden_context', $response, 401 );
}
@ -99,7 +99,7 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
wp_set_object_terms( $post_id, array( $category1, $category2 ), 'category' );
$request = new WP_REST_Request( 'GET', '/wp/v2/categories' );
$request->set_param( 'hide_empty', true );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 2, count( $data ) );
$this->assertEquals( 'Season 5', $data[0]['name'] );
@ -107,7 +107,7 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
// Confirm the empty category "Uncategorized" category appears.
$request->set_param( 'hide_empty', 'false' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 3, count( $data ) );
}
@ -129,7 +129,7 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
);
$request = new WP_REST_Request( 'GET', '/wp/v2/categories' );
$request->set_param( 'parent', 0 );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$data = $response->get_data();
@ -159,7 +159,7 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
);
$request = new WP_REST_Request( 'GET', '/wp/v2/categories' );
$request->set_param( 'parent', '0' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$data = $response->get_data();
@ -177,7 +177,7 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
$request = new WP_REST_Request( 'GET', '/wp/v2/categories' );
$request->set_param( 'parent', $parent1 );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$data = $response->get_data();
@ -188,7 +188,7 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
public function test_get_items_invalid_page() {
$request = new WP_REST_Request( 'GET', '/wp/v2/categories' );
$request->set_param( 'page', 0 );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_invalid_param', $response, 400 );
$data = $response->get_data();
$first_error = array_shift( $data['data']['params'] );
@ -202,13 +202,13 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
$request = new WP_REST_Request( 'GET', '/wp/v2/categories' );
// Orderby=>asc
$request->set_param( 'include', array( $id3, $id1 ) );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 2, count( $data ) );
$this->assertEquals( $id1, $data[0]['id'] );
// Orderby=>include
$request->set_param( 'orderby', 'include' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 2, count( $data ) );
$this->assertEquals( $id3, $data[0]['id'] );
@ -218,12 +218,12 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
$id1 = $this->factory->category->create();
$id2 = $this->factory->category->create();
$request = new WP_REST_Request( 'GET', '/wp/v2/categories' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertTrue( in_array( $id1, wp_list_pluck( $data, 'id' ), true ) );
$this->assertTrue( in_array( $id2, wp_list_pluck( $data, 'id' ), true ) );
$request->set_param( 'exclude', array( $id2 ) );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertTrue( in_array( $id1, wp_list_pluck( $data, 'id' ), true ) );
$this->assertFalse( in_array( $id2, wp_list_pluck( $data, 'id' ), true ) );
@ -242,7 +242,7 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
$request->set_param( 'orderby', 'name' );
$request->set_param( 'order', 'desc' );
$request->set_param( 'per_page', 1 );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$data = $response->get_data();
$this->assertEquals( 1, count( $data ) );
@ -251,7 +251,7 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
$request->set_param( 'orderby', 'name' );
$request->set_param( 'order', 'asc' );
$request->set_param( 'per_page', 2 );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$data = $response->get_data();
$this->assertEquals( 2, count( $data ) );
@ -264,7 +264,7 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
$this->factory->category->create( array( 'name' => 'Banana' ) );
// defaults to orderby=name, order=asc
$request = new WP_REST_Request( 'GET', '/wp/v2/categories' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$data = $response->get_data();
$this->assertEquals( 'Apple', $data[0]['name'] );
@ -274,7 +274,7 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
// orderby=id, with default order=asc
$request = new WP_REST_Request( 'GET', '/wp/v2/categories' );
$request->set_param( 'orderby', 'id' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$data = $response->get_data();
$this->assertEquals( 'Uncategorized', $data[0]['name'] );
@ -285,7 +285,7 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
$request = new WP_REST_Request( 'GET', '/wp/v2/categories' );
$request->set_param( 'orderby', 'id' );
$request->set_param( 'order', 'desc' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 200, $response->get_status() );
$this->assertEquals( 'Banana', $data[0]['name'] );
@ -301,7 +301,7 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
$request = new WP_REST_Request( 'GET', '/wp/v2/categories' );
$request->set_param( 'orderby', 'include_slugs' );
$request->set_param( 'slug', array( 'taco', 'burrito', 'chalupa' ) );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 200, $response->get_status() );
$this->assertEquals( 'taco', $data[0]['slug'] );
@ -339,7 +339,7 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
$request = new WP_REST_Request( 'GET', '/wp/v2/categories' );
$request->set_param( 'post', $post_id );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$data = $response->get_data();
@ -357,7 +357,7 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
$request = new WP_REST_Request( 'GET', '/wp/v2/categories' );
$request->set_param( 'post', $post_id );
$request->set_param( 'orderby', 'description' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$data = $response->get_data();
@ -367,7 +367,7 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
// Flip the order
$request->set_param( 'order', 'desc' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$data = $response->get_data();
@ -382,7 +382,7 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
$request = new WP_REST_Request( 'GET', '/wp/v2/categories' );
$request->set_param( 'post', $post_id );
$request->set_param( 'orderby', 'id' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$data = $response->get_data();
@ -418,7 +418,7 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
$request = new WP_REST_Request( 'GET', '/wp/v2/batman' );
$request->set_param( 'post', $post_id );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$data = $response->get_data();
@ -435,14 +435,14 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
*/
$request = new WP_REST_Request( 'GET', '/wp/v2/categories' );
$request->set_param( 'search', 'App' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$data = $response->get_data();
$this->assertEquals( 1, count( $data ) );
$this->assertEquals( 'Apple', $data[0]['name'] );
$request = new WP_REST_Request( 'GET', '/wp/v2/categories' );
$request->set_param( 'search', 'Garbage' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$data = $response->get_data();
$this->assertEquals( 0, count( $data ) );
@ -453,7 +453,7 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
$this->factory->category->create( array( 'name' => 'Banana' ) );
$request = new WP_REST_Request( 'GET', '/wp/v2/categories' );
$request->set_param( 'slug', 'apple' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$data = $response->get_data();
$this->assertEquals( 1, count( $data ) );
@ -470,7 +470,7 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
);
$request = new WP_REST_Request( 'GET', '/wp/v2/categories' );
$request->set_param( 'parent', $category1 );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 1, count( $data ) );
$this->assertEquals( 'Child', $data[0]['name'] );
@ -486,7 +486,7 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
);
$request = new WP_REST_Request( 'GET', '/wp/v2/categories' );
$request->set_param( 'parent', 'invalid-parent' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_invalid_param', $response, 400 );
}
@ -506,13 +506,13 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
);
$request = new WP_REST_Request( 'GET', '/wp/v2/terms/robin' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_no_route', $response, 404 );
}
public function test_get_terms_invalid_taxonomy() {
$request = new WP_REST_Request( 'GET', '/wp/v2/invalid-taxonomy' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_no_route', $response, 404 );
}
@ -526,7 +526,7 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
);
}
$request = new WP_REST_Request( 'GET', '/wp/v2/categories' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$headers = $response->get_headers();
$this->assertEquals( 50, $headers['X-WP-Total'] );
$this->assertEquals( 5, $headers['X-WP-TotalPages'] );
@ -546,7 +546,7 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
);
$request = new WP_REST_Request( 'GET', '/wp/v2/categories' );
$request->set_param( 'page', 3 );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$headers = $response->get_headers();
$this->assertEquals( 51, $headers['X-WP-Total'] );
$this->assertEquals( 6, $headers['X-WP-TotalPages'] );
@ -566,7 +566,7 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
// Last page
$request = new WP_REST_Request( 'GET', '/wp/v2/categories' );
$request->set_param( 'page', 6 );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$headers = $response->get_headers();
$this->assertEquals( 51, $headers['X-WP-Total'] );
$this->assertEquals( 6, $headers['X-WP-TotalPages'] );
@ -581,7 +581,7 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
// Out of bounds
$request = new WP_REST_Request( 'GET', '/wp/v2/categories' );
$request->set_param( 'page', 8 );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$headers = $response->get_headers();
$this->assertEquals( 51, $headers['X-WP-Total'] );
$this->assertEquals( 6, $headers['X-WP-TotalPages'] );
@ -607,7 +607,7 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
$request = new WP_REST_Request( 'GET', '/wp/v2/categories' );
$request->set_param( 'page', 1 );
$request->set_param( 'per_page', 100 );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$headers = $response->get_headers();
$this->assertEquals( 18, $headers['X-WP-Total'] );
$this->assertEquals( 1, $headers['X-WP-TotalPages'] );
@ -615,7 +615,7 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
$request = new WP_REST_Request( 'GET', '/wp/v2/categories' );
$request->set_param( 'page', 2 );
$request->set_param( 'per_page', 100 );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$headers = $response->get_headers();
$this->assertEquals( 18, $headers['X-WP-Total'] );
$this->assertEquals( 1, $headers['X-WP-TotalPages'] );
@ -624,19 +624,19 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
public function test_get_item() {
$request = new WP_REST_Request( 'GET', '/wp/v2/categories/1' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->check_get_taxonomy_term_response( $response );
}
public function test_get_term_invalid_taxonomy() {
$request = new WP_REST_Request( 'GET', '/wp/v2/invalid-taxonomy/1' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_no_route', $response, 404 );
}
public function test_get_term_invalid_term() {
$request = new WP_REST_Request( 'GET', '/wp/v2/categories/' . REST_TESTS_IMPOSSIBLY_HIGH_NUMBER );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_term_invalid', $response, 404 );
}
@ -644,7 +644,7 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
wp_set_current_user( 0 );
$request = new WP_REST_Request( 'GET', '/wp/v2/categories/1' );
$request->set_param( 'context', 'edit' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_forbidden_context', $response, 401 );
}
@ -658,7 +658,7 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
);
$request = new WP_REST_Request( 'GET', '/wp/v2/terms/robin/' . $term1 );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_no_route', $response, 404 );
}
@ -671,7 +671,7 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
)
);
$request = new WP_REST_Request( 'GET', '/wp/v2/categories/' . $term1 );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_term_invalid', $response, 404 );
}
@ -681,7 +681,7 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
$request->set_param( 'name', 'My Awesome Term' );
$request->set_param( 'description', 'This term is so awesome.' );
$request->set_param( 'slug', 'so-awesome' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 201, $response->get_status() );
$headers = $response->get_headers();
$data = $response->get_data();
@ -701,7 +701,7 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
$request = new WP_REST_Request( 'POST', '/wp/v2/categories' );
$request->set_param( 'name', 'Existing' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 400, $response->get_status() );
$data = $response->get_data();
$this->assertEquals( 'term_exists', $data['code'] );
@ -714,7 +714,7 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
wp_set_current_user( self::$administrator );
$request = new WP_REST_Request( 'POST', '/wp/v2/invalid-taxonomy' );
$request->set_param( 'name', 'Invalid Taxonomy' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_no_route', $response, 404 );
}
@ -722,14 +722,14 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
wp_set_current_user( self::$subscriber );
$request = new WP_REST_Request( 'POST', '/wp/v2/categories' );
$request->set_param( 'name', 'Incorrect permissions' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_cannot_create', $response, 403 );
}
public function test_create_item_missing_arguments() {
wp_set_current_user( self::$administrator );
$request = new WP_REST_Request( 'POST', '/wp/v2/categories' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_missing_callback_param', $response, 400 );
}
@ -739,7 +739,7 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
$request = new WP_REST_Request( 'POST', '/wp/v2/categories' );
$request->set_param( 'name', 'My Awesome Term' );
$request->set_param( 'parent', $parent['term_id'] );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 201, $response->get_status() );
$data = $response->get_data();
$this->assertEquals( $parent['term_id'], $data['parent'] );
@ -752,7 +752,7 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
$request = new WP_REST_Request( 'POST', '/wp/v2/categories/' . $term->term_id );
$request->set_param( 'name', 'My Awesome Term' );
$request->set_param( 'parent', REST_TESTS_IMPOSSIBLY_HIGH_NUMBER );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_term_invalid', $response, 400 );
}
@ -768,7 +768,7 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
$request->set_param( 'name', 'New Name' );
$request->set_param( 'description', 'New Description' );
$request->set_param( 'slug', 'new-slug' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$data = $response->get_data();
$this->assertEquals( 'New Name', $data['name'] );
@ -780,7 +780,7 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
wp_set_current_user( self::$administrator );
$request = new WP_REST_Request( 'POST', '/wp/v2/invalid-taxonomy/' . REST_TESTS_IMPOSSIBLY_HIGH_NUMBER );
$request->set_param( 'name', 'Invalid Taxonomy' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_no_route', $response, 404 );
}
@ -788,7 +788,7 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
wp_set_current_user( self::$administrator );
$request = new WP_REST_Request( 'POST', '/wp/v2/categories/' . REST_TESTS_IMPOSSIBLY_HIGH_NUMBER );
$request->set_param( 'name', 'Invalid Term' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_term_invalid', $response, 404 );
}
@ -797,7 +797,7 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
$term = get_term_by( 'id', $this->factory->category->create(), 'category' );
$request = new WP_REST_Request( 'POST', '/wp/v2/categories/' . $term->term_id );
$request->set_param( 'name', 'Incorrect permissions' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_cannot_update', $response, 403 );
}
@ -808,7 +808,7 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
$request = new WP_REST_Request( 'POST', '/wp/v2/categories/' . $term->term_id );
$request->set_param( 'parent', $parent->term_id );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$data = $response->get_data();
@ -821,7 +821,7 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
$request = new WP_REST_Request( 'POST', '/wp/v2/categories/' . $term->term_id );
$request->set_param( 'parent', REST_TESTS_IMPOSSIBLY_HIGH_NUMBER );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_term_invalid', $response, 400 );
}
@ -830,7 +830,7 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
$term = get_term_by( 'id', $this->factory->category->create( array( 'name' => 'Deleted Category' ) ), 'category' );
$request = new WP_REST_Request( 'DELETE', '/wp/v2/categories/' . $term->term_id );
$request->set_param( 'force', true );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$data = $response->get_data();
$this->assertTrue( $data['deleted'] );
@ -842,25 +842,25 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
$term = get_term_by( 'id', $this->factory->category->create( array( 'name' => 'Deleted Category' ) ), 'category' );
$request = new WP_REST_Request( 'DELETE', '/wp/v2/categories/' . $term->term_id );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_trash_not_supported', $response, 501 );
$request->set_param( 'force', 'false' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_trash_not_supported', $response, 501 );
}
public function test_delete_item_invalid_taxonomy() {
wp_set_current_user( self::$administrator );
$request = new WP_REST_Request( 'DELETE', '/wp/v2/invalid-taxonomy/' . REST_TESTS_IMPOSSIBLY_HIGH_NUMBER );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_no_route', $response, 404 );
}
public function test_delete_item_invalid_term() {
wp_set_current_user( self::$administrator );
$request = new WP_REST_Request( 'DELETE', '/wp/v2/categories/' . REST_TESTS_IMPOSSIBLY_HIGH_NUMBER );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_term_invalid', $response, 404 );
}
@ -868,7 +868,7 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
wp_set_current_user( self::$subscriber );
$term = get_term_by( 'id', $this->factory->category->create(), 'category' );
$request = new WP_REST_Request( 'DELETE', '/wp/v2/categories/' . $term->term_id );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_cannot_delete', $response, 403 );
}
@ -876,7 +876,7 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
$term = get_term( 1, 'category' );
$request = new WP_REST_Request( 'GET', '/wp/v2/categories/1' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->check_taxonomy_term( $term, $data, $response->get_links() );
@ -891,7 +891,7 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
$term = get_term( $child, 'category' );
$request = new WP_REST_Request( 'GET', '/wp/v2/categories/' . $child );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->check_taxonomy_term( $term, $data, $response->get_links() );
@ -904,7 +904,7 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
public function test_get_item_schema() {
$request = new WP_REST_Request( 'OPTIONS', '/wp/v2/categories' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$properties = $data['schema']['properties'];
$this->assertEquals( 9, count( $properties ) );
@ -938,7 +938,7 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
$request = new WP_REST_Request( 'OPTIONS', '/wp/v2/categories' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertArrayHasKey( 'my_custom_int', $data['schema']['properties'] );
$this->assertEquals( $schema, $data['schema']['properties']['my_custom_int'] );
@ -946,7 +946,7 @@ class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcas
$category_id = $this->factory->category->create();
$request = new WP_REST_Request( 'GET', '/wp/v2/categories/' . $category_id );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertArrayHasKey( 'my_custom_int', $response->data );
global $wp_rest_additional_fields;

File diff suppressed because it is too large Load Diff

View File

@ -37,7 +37,7 @@ class WP_Test_REST_Pages_Controller extends WP_Test_REST_Post_Type_Controller_Te
}
public function test_register_routes() {
$routes = $this->server->get_routes();
$routes = rest_get_server()->get_routes();
$this->assertArrayHasKey( '/wp/v2/pages', $routes );
$this->assertCount( 2, $routes['/wp/v2/pages'] );
$this->assertArrayHasKey( '/wp/v2/pages/(?P<id>[\d]+)', $routes );
@ -47,14 +47,14 @@ class WP_Test_REST_Pages_Controller extends WP_Test_REST_Post_Type_Controller_Te
public function test_context_param() {
// Collection
$request = new WP_REST_Request( 'OPTIONS', '/wp/v2/pages' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 'view', $data['endpoints'][0]['args']['context']['default'] );
$this->assertEquals( array( 'view', 'embed', 'edit' ), $data['endpoints'][0]['args']['context']['enum'] );
// Single
$page_id = $this->factory->post->create( array( 'post_type' => 'page' ) );
$request = new WP_REST_Request( 'OPTIONS', '/wp/v2/pages/' . $page_id );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 'view', $data['endpoints'][0]['args']['context']['default'] );
$this->assertEquals( array( 'view', 'embed', 'edit' ), $data['endpoints'][0]['args']['context']['enum'] );
@ -62,7 +62,7 @@ class WP_Test_REST_Pages_Controller extends WP_Test_REST_Post_Type_Controller_Te
public function test_registered_query_params() {
$request = new WP_REST_Request( 'OPTIONS', '/wp/v2/pages' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$keys = array_keys( $data['endpoints'][0]['args'] );
sort( $keys );
@ -104,7 +104,7 @@ class WP_Test_REST_Pages_Controller extends WP_Test_REST_Post_Type_Controller_Te
)
);
$request = new WP_REST_Request( 'GET', '/wp/v2/pages' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 1, count( $data ) );
$this->assertEquals( $id1, $data[0]['id'] );
@ -126,18 +126,18 @@ class WP_Test_REST_Pages_Controller extends WP_Test_REST_Post_Type_Controller_Te
);
// No parent
$request = new WP_REST_Request( 'GET', '/wp/v2/pages' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 2, count( $data ) );
// Filter to parent
$request->set_param( 'parent', $id1 );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 1, count( $data ) );
$this->assertEquals( $id2, $data[0]['id'] );
// Invalid parent should fail
$request->set_param( 'parent', 'some-slug' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_invalid_param', $response, 400 );
}
@ -170,12 +170,12 @@ class WP_Test_REST_Pages_Controller extends WP_Test_REST_Post_Type_Controller_Te
);
// No parent
$request = new WP_REST_Request( 'GET', '/wp/v2/pages' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 4, count( $data ) );
// Filter to parents
$request->set_param( 'parent', array( $id1, $id3 ) );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 2, count( $data ) );
$this->assertEqualSets( array( $id2, $id4 ), wp_list_pluck( $data, 'id' ) );
@ -197,18 +197,18 @@ class WP_Test_REST_Pages_Controller extends WP_Test_REST_Post_Type_Controller_Te
);
// No parent
$request = new WP_REST_Request( 'GET', '/wp/v2/pages' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 2, count( $data ) );
// Filter to parent
$request->set_param( 'parent_exclude', $id1 );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 1, count( $data ) );
$this->assertEquals( $id1, $data[0]['id'] );
// Invalid parent_exclude should error
$request->set_param( 'parent_exclude', 'some-slug' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_invalid_param', $response, 400 );
}
@ -242,19 +242,19 @@ class WP_Test_REST_Pages_Controller extends WP_Test_REST_Post_Type_Controller_Te
);
// No parent
$request = new WP_REST_Request( 'GET', '/wp/v2/pages' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEqualSets( array( $id1, $id2, $id3, $id4 ), wp_list_pluck( $data, 'id' ) );
// Filter to menu_order
$request->set_param( 'menu_order', 1 );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEqualSets( array( $id4 ), wp_list_pluck( $data, 'id' ) );
// Order by menu order
$request = new WP_REST_Request( 'GET', '/wp/v2/pages' );
$request->set_param( 'order', 'asc' );
$request->set_param( 'orderby', 'menu_order' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( $id1, $data[0]['id'] );
$this->assertEquals( $id4, $data[1]['id'] );
@ -263,21 +263,21 @@ class WP_Test_REST_Pages_Controller extends WP_Test_REST_Post_Type_Controller_Te
// Invalid menu_order should fail
$request = new WP_REST_Request( 'GET', '/wp/v2/pages' );
$request->set_param( 'menu_order', 'top-first' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_invalid_param', $response, 400 );
}
public function test_get_items_min_max_pages_query() {
$request = new WP_REST_Request( 'GET', '/wp/v2/pages' );
$request->set_param( 'per_page', 0 );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_invalid_param', $response, 400 );
$data = $response->get_data();
// Safe format for 4.4 and 4.5 https://core.trac.wordpress.org/ticket/35028
$first_error = array_shift( $data['data']['params'] );
$this->assertContains( 'per_page must be between 1 (inclusive) and 100 (inclusive)', $first_error );
$request->set_param( 'per_page', 101 );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_invalid_param', $response, 400 );
$data = $response->get_data();
$first_error = array_shift( $data['data']['params'] );
@ -301,12 +301,12 @@ class WP_Test_REST_Pages_Controller extends WP_Test_REST_Post_Type_Controller_Te
);
$request = new WP_REST_Request( 'GET', '/wp/v2/pages' );
$request->set_param( 'status', 'draft' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_invalid_param', $response, 400 );
// But they are accessible to authorized users
wp_set_current_user( self::$editor_id );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertCount( 1, $data );
$this->assertEquals( $draft_id, $data[0]['id'] );
@ -316,7 +316,7 @@ class WP_Test_REST_Pages_Controller extends WP_Test_REST_Post_Type_Controller_Te
$request = new WP_REST_Request( 'GET', '/wp/v2/pages' );
$request->set_param( 'after', rand_str() );
$request->set_param( 'before', rand_str() );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_invalid_param', $response, 400 );
}
@ -342,7 +342,7 @@ class WP_Test_REST_Pages_Controller extends WP_Test_REST_Post_Type_Controller_Te
$request = new WP_REST_Request( 'GET', '/wp/v2/pages' );
$request->set_param( 'after', '2016-01-15T00:00:00Z' );
$request->set_param( 'before', '2016-01-17T00:00:00Z' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertCount( 1, $data );
$this->assertEquals( $post2, $data[0]['id'] );
@ -355,7 +355,7 @@ class WP_Test_REST_Pages_Controller extends WP_Test_REST_Post_Type_Controller_Te
public function test_get_item_invalid_post_type() {
$post_id = $this->factory->post->create();
$request = new WP_REST_Request( 'GET', '/wp/v2/pages/' . $post_id );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 404, $response->get_status() );
}
@ -373,7 +373,7 @@ class WP_Test_REST_Pages_Controller extends WP_Test_REST_Post_Type_Controller_Te
)
);
$request->set_body_params( $params );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$new_post = get_post( $data['id'] );
@ -396,7 +396,7 @@ class WP_Test_REST_Pages_Controller extends WP_Test_REST_Post_Type_Controller_Te
)
);
$request->set_body_params( $params );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 201, $response->get_status() );
@ -419,7 +419,7 @@ class WP_Test_REST_Pages_Controller extends WP_Test_REST_Post_Type_Controller_Te
)
);
$request->set_body_params( $params );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_post_invalid_id', $response, 400 );
}
@ -439,7 +439,7 @@ class WP_Test_REST_Pages_Controller extends WP_Test_REST_Post_Type_Controller_Te
$request = new WP_REST_Request( 'DELETE', sprintf( '/wp/v2/pages/%d', $page_id ) );
$request->set_param( 'force', 'false' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$data = $response->get_data();
@ -465,7 +465,7 @@ class WP_Test_REST_Pages_Controller extends WP_Test_REST_Post_Type_Controller_Te
'per_page' => 4,
)
);
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
@ -497,7 +497,7 @@ class WP_Test_REST_Pages_Controller extends WP_Test_REST_Post_Type_Controller_Te
'menu_order' => 1,
)
);
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$new_data = $response->get_data();
$this->assertEquals( 1, $new_data['menu_order'] );
@ -521,7 +521,7 @@ class WP_Test_REST_Pages_Controller extends WP_Test_REST_Post_Type_Controller_Te
'menu_order' => 0,
)
);
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$new_data = $response->get_data();
$this->assertEquals( 0, $new_data['menu_order'] );
@ -545,7 +545,7 @@ class WP_Test_REST_Pages_Controller extends WP_Test_REST_Post_Type_Controller_Te
'parent' => $page_id1,
)
);
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$new_data = $response->get_data();
$this->assertEquals( $page_id1, $new_data['parent'] );
}
@ -569,7 +569,7 @@ class WP_Test_REST_Pages_Controller extends WP_Test_REST_Post_Type_Controller_Te
'parent' => 0,
)
);
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$new_data = $response->get_data();
$this->assertEquals( 0, $new_data['parent'] );
}
@ -583,7 +583,7 @@ class WP_Test_REST_Pages_Controller extends WP_Test_REST_Post_Type_Controller_Te
);
$request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/pages/%d', $page_id ) );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( '', $data['content']['rendered'] );
@ -605,7 +605,7 @@ class WP_Test_REST_Pages_Controller extends WP_Test_REST_Post_Type_Controller_Te
$page = get_post( $page_id );
$request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/pages/%d', $page_id ) );
$request->set_param( 'password', '$inthebananastand' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( wpautop( $page->post_content ), $data['content']['rendered'] );
@ -625,7 +625,7 @@ class WP_Test_REST_Pages_Controller extends WP_Test_REST_Post_Type_Controller_Te
$page = get_post( $page_id );
$request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/pages/%d', $page_id ) );
$request->set_param( 'password', 'wrongpassword' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_post_incorrect_password', $response, 403 );
}
@ -640,7 +640,7 @@ class WP_Test_REST_Pages_Controller extends WP_Test_REST_Post_Type_Controller_Te
)
);
$request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/pages/%d', $page_id ) );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( '', $data['content']['rendered'] );
$this->assertTrue( $data['content']['protected'] );
@ -650,7 +650,7 @@ class WP_Test_REST_Pages_Controller extends WP_Test_REST_Post_Type_Controller_Te
public function test_get_item_schema() {
$request = new WP_REST_Request( 'OPTIONS', '/wp/v2/pages' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$properties = $data['schema']['properties'];
$this->assertEquals( 22, count( $properties ) );

View File

@ -122,8 +122,8 @@ class WP_Test_REST_Post_Meta_Fields extends WP_Test_REST_TestCase {
/** @var WP_REST_Server $wp_rest_server */
global $wp_rest_server;
$this->server = $wp_rest_server = new Spy_REST_Server;
do_action( 'rest_api_init' );
$wp_rest_server = new Spy_REST_Server;
do_action( 'rest_api_init', $wp_rest_server );
}
protected function grant_write_permission() {
@ -140,7 +140,7 @@ class WP_Test_REST_Post_Meta_Fields extends WP_Test_REST_TestCase {
add_post_meta( self::$post_id, 'test_single', 'testvalue' );
$request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/posts/%d', self::$post_id ) );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
@ -159,7 +159,7 @@ class WP_Test_REST_Post_Meta_Fields extends WP_Test_REST_TestCase {
add_post_meta( self::$post_id, 'test_multi', 'value1' );
$request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/posts/%d', self::$post_id ) );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$data = $response->get_data();
@ -171,7 +171,7 @@ class WP_Test_REST_Post_Meta_Fields extends WP_Test_REST_TestCase {
// Check after an update.
add_post_meta( self::$post_id, 'test_multi', 'value2' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$data = $response->get_data();
$meta = (array) $data['meta'];
@ -186,7 +186,7 @@ class WP_Test_REST_Post_Meta_Fields extends WP_Test_REST_TestCase {
add_post_meta( self::$post_id, 'test_unregistered', 'value1' );
$request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/posts/%d', self::$post_id ) );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$data = $response->get_data();
@ -201,7 +201,7 @@ class WP_Test_REST_Post_Meta_Fields extends WP_Test_REST_TestCase {
add_post_meta( self::$post_id, 'test_no_rest', 'for_the_wicked' );
$request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/posts/%d', self::$post_id ) );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$data = $response->get_data();
@ -216,7 +216,7 @@ class WP_Test_REST_Post_Meta_Fields extends WP_Test_REST_TestCase {
add_post_meta( self::$post_id, 'test_rest_disabled', 'sleepless_nights' );
$request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/posts/%d', self::$post_id ) );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$data = $response->get_data();
@ -249,15 +249,15 @@ class WP_Test_REST_Post_Meta_Fields extends WP_Test_REST_TestCase {
/** @var WP_REST_Server $wp_rest_server */
global $wp_rest_server;
$this->server = $wp_rest_server = new Spy_REST_Server;
do_action( 'rest_api_init' );
$wp_rest_server = new Spy_REST_Server;
do_action( 'rest_api_init', $wp_rest_server );
add_post_meta( self::$post_id, 'test_string', 42 );
add_post_meta( self::$post_id, 'test_number', '42' );
add_post_meta( self::$post_id, 'test_bool', 1 );
$request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/posts/%d', self::$post_id ) );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$data = $response->get_data();
@ -280,7 +280,7 @@ class WP_Test_REST_Post_Meta_Fields extends WP_Test_REST_TestCase {
add_post_meta( self::$post_id, 'test_custom_name', 'janet' );
$request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/posts/%d', self::$post_id ) );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
@ -310,7 +310,7 @@ class WP_Test_REST_Post_Meta_Fields extends WP_Test_REST_TestCase {
$request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/posts/%d', self::$post_id ) );
$request->set_body_params( $data );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$meta = get_post_meta( self::$post_id, 'test_single', false );
@ -342,7 +342,7 @@ class WP_Test_REST_Post_Meta_Fields extends WP_Test_REST_TestCase {
$request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/posts/%d', self::$post_id ) );
$request->set_body_params( $data );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$meta = get_post_meta( self::$post_id, 'test_single', true );
@ -370,7 +370,7 @@ class WP_Test_REST_Post_Meta_Fields extends WP_Test_REST_TestCase {
$request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/posts/%d', self::$post_id ) );
$request->set_body_params( $data );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_cannot_edit', $response, 401 );
// Check that the value wasn't actually updated.
@ -392,7 +392,7 @@ class WP_Test_REST_Post_Meta_Fields extends WP_Test_REST_TestCase {
$request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/posts/%d', self::$post_id ) );
$request->set_body_params( $data );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_cannot_update', $response, 403 );
$this->assertEmpty( get_post_meta( self::$post_id, 'test_bad_auth', false ) );
}
@ -420,7 +420,7 @@ class WP_Test_REST_Post_Meta_Fields extends WP_Test_REST_TestCase {
$wpdb->suppress_errors = true;
add_filter( 'query', array( $this, 'error_insert_query' ) );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
remove_filter( 'query', array( $this, 'error_insert_query' ) );
$wpdb->show_errors = true;
@ -441,7 +441,7 @@ class WP_Test_REST_Post_Meta_Fields extends WP_Test_REST_TestCase {
$request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/posts/%d', self::$post_id ) );
$request->set_body_params( $data );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEmpty( get_post_meta( self::$post_id, 'test_invalid_type', false ) );
}
@ -460,7 +460,7 @@ class WP_Test_REST_Post_Meta_Fields extends WP_Test_REST_TestCase {
$request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/posts/%d', self::$post_id ) );
$request->set_body_params( $data );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$meta = get_post_meta( self::$post_id, 'test_multi', false );
@ -476,7 +476,7 @@ class WP_Test_REST_Post_Meta_Fields extends WP_Test_REST_TestCase {
);
$request->set_body_params( $data );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$meta = get_post_meta( self::$post_id, 'test_multi', false );
@ -504,7 +504,7 @@ class WP_Test_REST_Post_Meta_Fields extends WP_Test_REST_TestCase {
$request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/posts/%d', self::$post_id ) );
$request->set_body_params( $data );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$meta = get_post_meta( self::$post_id, 'test_multi', false );
@ -532,7 +532,7 @@ class WP_Test_REST_Post_Meta_Fields extends WP_Test_REST_TestCase {
$request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/posts/%d', self::$post_id ) );
$request->set_body_params( $data );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_cannot_edit', $response, 401 );
$meta = get_post_meta( self::$post_id, 'test_multi', false );
@ -558,7 +558,7 @@ class WP_Test_REST_Post_Meta_Fields extends WP_Test_REST_TestCase {
$request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/posts/%d', self::$post_id ) );
$request->set_body_params( $data );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_invalid_param', $response, 400 );
}
@ -581,7 +581,7 @@ class WP_Test_REST_Post_Meta_Fields extends WP_Test_REST_TestCase {
$request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/posts/%d', self::$post_id ) );
$request->set_body_params( $data );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_invalid_param', $response, 400 );
}
@ -604,7 +604,7 @@ class WP_Test_REST_Post_Meta_Fields extends WP_Test_REST_TestCase {
$request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/posts/%d', self::$post_id ) );
$request->set_body_params( $data );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 1, $data['meta']['my_meta_key'] );
}
@ -628,7 +628,7 @@ class WP_Test_REST_Post_Meta_Fields extends WP_Test_REST_TestCase {
$request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/posts/%d', self::$post_id ) );
$request->set_body_params( $data );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( array( 1, 2, 3 ), $data['meta']['my_meta_key'] );
}
@ -648,7 +648,7 @@ class WP_Test_REST_Post_Meta_Fields extends WP_Test_REST_TestCase {
$request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/posts/%d', self::$post_id ) );
$request->set_body_params( $data );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_cannot_update', $response, 403 );
$this->assertEmpty( get_post_meta( self::$post_id, 'test_bad_auth_multi', false ) );
}
@ -676,7 +676,7 @@ class WP_Test_REST_Post_Meta_Fields extends WP_Test_REST_TestCase {
$wpdb->suppress_errors = true;
add_filter( 'query', array( $this, 'error_insert_query' ) );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
remove_filter( 'query', array( $this, 'error_insert_query' ) );
$wpdb->show_errors = true;
@ -701,7 +701,7 @@ class WP_Test_REST_Post_Meta_Fields extends WP_Test_REST_TestCase {
$request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/posts/%d', self::$post_id ) );
$request->set_body_params( $data );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$meta = get_post_meta( self::$post_id, 'test_custom_schema', false );
@ -730,7 +730,7 @@ class WP_Test_REST_Post_Meta_Fields extends WP_Test_REST_TestCase {
$request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/posts/%d', self::$post_id ) );
$request->set_body_params( $data );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$meta = get_post_meta( self::$post_id, 'test_custom_schema_multi', false );
@ -746,7 +746,7 @@ class WP_Test_REST_Post_Meta_Fields extends WP_Test_REST_TestCase {
);
$request->set_body_params( $data );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$meta = get_post_meta( self::$post_id, 'test_custom_schema_multi', false );
@ -774,7 +774,7 @@ class WP_Test_REST_Post_Meta_Fields extends WP_Test_REST_TestCase {
$request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/posts/%d', self::$post_id ) );
$request->set_body_params( $data );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$meta = get_post_meta( self::$post_id, 'test_custom_name', false );
@ -803,7 +803,7 @@ class WP_Test_REST_Post_Meta_Fields extends WP_Test_REST_TestCase {
$request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/posts/%d', self::$post_id ) );
$request->set_body_params( $data );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$meta = get_post_meta( self::$post_id, 'test_custom_name_multi', false );
@ -819,7 +819,7 @@ class WP_Test_REST_Post_Meta_Fields extends WP_Test_REST_TestCase {
);
$request->set_body_params( $data );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$meta = get_post_meta( self::$post_id, 'test_custom_name_multi', false );
@ -846,7 +846,7 @@ class WP_Test_REST_Post_Meta_Fields extends WP_Test_REST_TestCase {
$request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/posts/%d', self::$post_id ) );
$request->set_body_params( $data );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_invalid_param', $response, 400 );
@ -876,7 +876,7 @@ class WP_Test_REST_Post_Meta_Fields extends WP_Test_REST_TestCase {
$request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/posts/%d', self::$post_id ) );
$request->set_body_params( $data );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_invalid_param', $response, 400 );
// The meta value should not have changed.
@ -911,7 +911,7 @@ class WP_Test_REST_Post_Meta_Fields extends WP_Test_REST_TestCase {
$wpdb->suppress_errors = true;
add_filter( 'query', array( $this, 'error_delete_query' ) );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
remove_filter( 'query', array( $this, 'error_delete_query' ) );
$wpdb->show_errors = true;
@ -934,7 +934,7 @@ class WP_Test_REST_Post_Meta_Fields extends WP_Test_REST_TestCase {
$request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/posts/%d', self::$post_id ) );
$request->set_body_params( $data );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$meta = get_post_meta( self::$post_id, 'test_single', false );
@ -959,7 +959,7 @@ class WP_Test_REST_Post_Meta_Fields extends WP_Test_REST_TestCase {
$request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/posts/%d', self::$post_id ) );
$request->set_body_params( $data );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_cannot_delete', $response, 403 );
$meta = get_post_meta( self::$post_id, 'test_bad_auth', true );
@ -991,7 +991,7 @@ class WP_Test_REST_Post_Meta_Fields extends WP_Test_REST_TestCase {
$wpdb->suppress_errors = true;
add_filter( 'query', array( $this, 'error_delete_query' ) );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
remove_filter( 'query', array( $this, 'error_delete_query' ) );
$wpdb->show_errors = true;
@ -1013,7 +1013,7 @@ class WP_Test_REST_Post_Meta_Fields extends WP_Test_REST_TestCase {
$request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/posts/%d', self::$post_id ) );
$request->set_body_params( $data );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$meta = get_post_meta( self::$post_id, 'test_custom_name', false );
@ -1022,7 +1022,7 @@ class WP_Test_REST_Post_Meta_Fields extends WP_Test_REST_TestCase {
public function test_get_schema() {
$request = new WP_REST_Request( 'OPTIONS', sprintf( '/wp/v2/posts/%d', self::$post_id ) );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$schema = $data['schema'];

View File

@ -12,7 +12,7 @@
class WP_Test_REST_Post_Statuses_Controller extends WP_Test_REST_Controller_Testcase {
public function test_register_routes() {
$routes = $this->server->get_routes();
$routes = rest_get_server()->get_routes();
$this->assertArrayHasKey( '/wp/v2/statuses', $routes );
$this->assertArrayHasKey( '/wp/v2/statuses/(?P<status>[\w-]+)', $routes );
}
@ -20,13 +20,13 @@ class WP_Test_REST_Post_Statuses_Controller extends WP_Test_REST_Controller_Test
public function test_context_param() {
// Collection
$request = new WP_REST_Request( 'OPTIONS', '/wp/v2/statuses' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 'view', $data['endpoints'][0]['args']['context']['default'] );
$this->assertEqualSets( array( 'embed', 'view', 'edit' ), $data['endpoints'][0]['args']['context']['enum'] );
// Single
$request = new WP_REST_Request( 'OPTIONS', '/wp/v2/statuses/publish' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 'view', $data['endpoints'][0]['args']['context']['default'] );
$this->assertEqualSets( array( 'embed', 'view', 'edit' ), $data['endpoints'][0]['args']['context']['enum'] );
@ -34,7 +34,7 @@ class WP_Test_REST_Post_Statuses_Controller extends WP_Test_REST_Controller_Test
public function test_get_items() {
$request = new WP_REST_Request( 'GET', '/wp/v2/statuses' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$statuses = get_post_stati( array( 'public' => true ), 'objects' );
@ -47,7 +47,7 @@ class WP_Test_REST_Post_Statuses_Controller extends WP_Test_REST_Controller_Test
wp_set_current_user( $user_id );
$request = new WP_REST_Request( 'GET', '/wp/v2/statuses' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 6, count( $data ) );
@ -66,7 +66,7 @@ class WP_Test_REST_Post_Statuses_Controller extends WP_Test_REST_Controller_Test
public function test_get_items_unauthorized_context() {
$request = new WP_REST_Request( 'GET', '/wp/v2/statuses' );
$request->set_param( 'context', 'edit' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_cannot_view', $response, 401 );
}
@ -75,20 +75,20 @@ class WP_Test_REST_Post_Statuses_Controller extends WP_Test_REST_Controller_Test
wp_set_current_user( $user_id );
$request = new WP_REST_Request( 'GET', '/wp/v2/statuses/publish' );
$request->set_param( 'context', 'edit' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->check_post_status_object_response( $response );
}
public function test_get_item_invalid_status() {
$request = new WP_REST_Request( 'GET', '/wp/v2/statuses/invalid' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_status_invalid', $response, 404 );
}
public function test_get_item_invalid_access() {
wp_set_current_user( 0 );
$request = new WP_REST_Request( 'GET', '/wp/v2/statuses/draft' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_cannot_read_status', $response, 401 );
}
@ -97,28 +97,28 @@ class WP_Test_REST_Post_Statuses_Controller extends WP_Test_REST_Controller_Test
wp_set_current_user( $user_id );
$request = new WP_REST_Request( 'GET', '/wp/v2/statuses/inherit' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_cannot_read_status', $response, 403 );
}
public function test_create_item() {
/** Post statuses can't be created */
$request = new WP_REST_Request( 'POST', '/wp/v2/statuses' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 404, $response->get_status() );
}
public function test_update_item() {
/** Post statuses can't be updated */
$request = new WP_REST_Request( 'POST', '/wp/v2/statuses/draft' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 404, $response->get_status() );
}
public function test_delete_item() {
/** Post statuses can't be deleted */
$request = new WP_REST_Request( 'DELETE', '/wp/v2/statuses/draft' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 404, $response->get_status() );
}
@ -133,7 +133,7 @@ class WP_Test_REST_Post_Statuses_Controller extends WP_Test_REST_Controller_Test
public function test_get_item_schema() {
$request = new WP_REST_Request( 'OPTIONS', '/wp/v2/statuses' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$properties = $data['schema']['properties'];
$this->assertEquals( 7, count( $properties ) );
@ -165,7 +165,7 @@ class WP_Test_REST_Post_Statuses_Controller extends WP_Test_REST_Controller_Test
$request = new WP_REST_Request( 'OPTIONS', '/wp/v2/statuses' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertArrayHasKey( 'my_custom_int', $data['schema']['properties'] );
@ -173,7 +173,7 @@ class WP_Test_REST_Post_Statuses_Controller extends WP_Test_REST_Controller_Test
$request = new WP_REST_Request( 'GET', '/wp/v2/statuses/publish' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertArrayHasKey( 'my_custom_int', $response->data );
global $wp_rest_additional_fields;

View File

@ -12,7 +12,7 @@
class WP_Test_REST_Post_Types_Controller extends WP_Test_REST_Controller_Testcase {
public function test_register_routes() {
$routes = $this->server->get_routes();
$routes = rest_get_server()->get_routes();
$this->assertArrayHasKey( '/wp/v2/types', $routes );
$this->assertArrayHasKey( '/wp/v2/types/(?P<type>[\w-]+)', $routes );
}
@ -20,13 +20,13 @@ class WP_Test_REST_Post_Types_Controller extends WP_Test_REST_Controller_Testcas
public function test_context_param() {
// Collection
$request = new WP_REST_Request( 'OPTIONS', '/wp/v2/types' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 'view', $data['endpoints'][0]['args']['context']['default'] );
$this->assertEqualSets( array( 'view', 'edit', 'embed' ), $data['endpoints'][0]['args']['context']['enum'] );
// Single
$request = new WP_REST_Request( 'OPTIONS', '/wp/v2/types/post' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 'view', $data['endpoints'][0]['args']['context']['default'] );
$this->assertEqualSets( array( 'view', 'edit', 'embed' ), $data['endpoints'][0]['args']['context']['enum'] );
@ -34,7 +34,7 @@ class WP_Test_REST_Post_Types_Controller extends WP_Test_REST_Controller_Testcas
public function test_get_items() {
$request = new WP_REST_Request( 'GET', '/wp/v2/types' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$post_types = get_post_types( array( 'show_in_rest' => true ), 'objects' );
@ -50,13 +50,13 @@ class WP_Test_REST_Post_Types_Controller extends WP_Test_REST_Controller_Testcas
wp_set_current_user( 0 );
$request = new WP_REST_Request( 'GET', '/wp/v2/types' );
$request->set_param( 'context', 'edit' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_cannot_view', $response, 401 );
}
public function test_get_item() {
$request = new WP_REST_Request( 'GET', '/wp/v2/types/post' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->check_post_type_object_response( 'view', $response );
$data = $response->get_data();
$this->assertEquals( array( 'category', 'post_tag' ), $data['taxonomies'] );
@ -64,7 +64,7 @@ class WP_Test_REST_Post_Types_Controller extends WP_Test_REST_Controller_Testcas
public function test_get_item_page() {
$request = new WP_REST_Request( 'GET', '/wp/v2/types/page' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->check_post_type_object_response( 'view', $response, 'page' );
$data = $response->get_data();
$this->assertEquals( array(), $data['taxonomies'] );
@ -72,7 +72,7 @@ class WP_Test_REST_Post_Types_Controller extends WP_Test_REST_Controller_Testcas
public function test_get_item_invalid_type() {
$request = new WP_REST_Request( 'GET', '/wp/v2/types/invalid' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_type_invalid', $response, 404 );
}
@ -81,7 +81,7 @@ class WP_Test_REST_Post_Types_Controller extends WP_Test_REST_Controller_Testcas
wp_set_current_user( $editor_id );
$request = new WP_REST_Request( 'GET', '/wp/v2/types/post' );
$request->set_param( 'context', 'edit' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->check_post_type_object_response( 'edit', $response );
}
@ -89,28 +89,28 @@ class WP_Test_REST_Post_Types_Controller extends WP_Test_REST_Controller_Testcas
wp_set_current_user( 0 );
$request = new WP_REST_Request( 'GET', '/wp/v2/types/post' );
$request->set_param( 'context', 'edit' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_forbidden_context', $response, 401 );
}
public function test_create_item() {
/** Post types can't be created */
$request = new WP_REST_Request( 'POST', '/wp/v2/types' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 404, $response->get_status() );
}
public function test_update_item() {
/** Post types can't be updated */
$request = new WP_REST_Request( 'POST', '/wp/v2/types/post' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 404, $response->get_status() );
}
public function test_delete_item() {
/** Post types can't be deleted */
$request = new WP_REST_Request( 'DELETE', '/wp/v2/types/post' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 404, $response->get_status() );
}
@ -125,7 +125,7 @@ class WP_Test_REST_Post_Types_Controller extends WP_Test_REST_Controller_Testcas
public function test_get_item_schema() {
$request = new WP_REST_Request( 'OPTIONS', '/wp/v2/types' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$properties = $data['schema']['properties'];
$this->assertEquals( 9, count( $properties ) );
@ -159,7 +159,7 @@ class WP_Test_REST_Post_Types_Controller extends WP_Test_REST_Controller_Testcas
$request = new WP_REST_Request( 'OPTIONS', '/wp/v2/types/schema' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertArrayHasKey( 'my_custom_int', $data['schema']['properties'] );
@ -167,7 +167,7 @@ class WP_Test_REST_Post_Types_Controller extends WP_Test_REST_Controller_Testcas
$request = new WP_REST_Request( 'GET', '/wp/v2/types/post' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertArrayHasKey( 'my_custom_int', $response->data );
global $wp_rest_additional_fields;

File diff suppressed because it is too large Load Diff

View File

@ -67,7 +67,7 @@ class WP_Test_REST_Revisions_Controller extends WP_Test_REST_Controller_Testcase
}
public function test_register_routes() {
$routes = $this->server->get_routes();
$routes = rest_get_server()->get_routes();
$this->assertArrayHasKey( '/wp/v2/posts/(?P<parent>[\d]+)/revisions', $routes );
$this->assertArrayHasKey( '/wp/v2/posts/(?P<parent>[\d]+)/revisions/(?P<id>[\d]+)', $routes );
$this->assertArrayHasKey( '/wp/v2/pages/(?P<parent>[\d]+)/revisions', $routes );
@ -77,13 +77,13 @@ class WP_Test_REST_Revisions_Controller extends WP_Test_REST_Controller_Testcase
public function test_context_param() {
// Collection
$request = new WP_REST_Request( 'OPTIONS', '/wp/v2/posts/' . self::$post_id . '/revisions' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 'view', $data['endpoints'][0]['args']['context']['default'] );
$this->assertEqualSets( array( 'view', 'edit', 'embed' ), $data['endpoints'][0]['args']['context']['enum'] );
// Single
$request = new WP_REST_Request( 'OPTIONS', '/wp/v2/posts/' . self::$post_id . '/revisions/' . $this->revision_1->ID );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 'view', $data['endpoints'][0]['args']['context']['default'] );
$this->assertEqualSets( array( 'view', 'edit', 'embed' ), $data['endpoints'][0]['args']['context']['enum'] );
@ -92,7 +92,7 @@ class WP_Test_REST_Revisions_Controller extends WP_Test_REST_Controller_Testcase
public function test_get_items() {
wp_set_current_user( self::$editor_id );
$request = new WP_REST_Request( 'GET', '/wp/v2/posts/' . self::$post_id . '/revisions' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 200, $response->get_status() );
$this->assertCount( 2, $data );
@ -108,32 +108,32 @@ class WP_Test_REST_Revisions_Controller extends WP_Test_REST_Controller_Testcase
public function test_get_items_no_permission() {
wp_set_current_user( 0 );
$request = new WP_REST_Request( 'GET', '/wp/v2/posts/' . self::$post_id . '/revisions' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_cannot_read', $response, 401 );
wp_set_current_user( self::$contributor_id );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_cannot_read', $response, 403 );
}
public function test_get_items_missing_parent() {
wp_set_current_user( self::$editor_id );
$request = new WP_REST_Request( 'GET', '/wp/v2/posts/' . REST_TESTS_IMPOSSIBLY_HIGH_NUMBER . '/revisions' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_post_invalid_parent', $response, 404 );
}
public function test_get_items_invalid_parent_post_type() {
wp_set_current_user( self::$editor_id );
$request = new WP_REST_Request( 'GET', '/wp/v2/posts/' . self::$page_id . '/revisions' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_post_invalid_parent', $response, 404 );
}
public function test_get_item() {
wp_set_current_user( self::$editor_id );
$request = new WP_REST_Request( 'GET', '/wp/v2/posts/' . self::$post_id . '/revisions/' . $this->revision_id1 );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$this->check_get_revision_response( $response, $this->revision_1 );
$fields = array(
@ -159,7 +159,7 @@ class WP_Test_REST_Revisions_Controller extends WP_Test_REST_Controller_Testcase
wp_set_current_user( self::$editor_id );
$request = new WP_REST_Request( 'GET', '/wp/v2/posts/' . self::$post_id . '/revisions/' . $this->revision_id1 );
$request->set_param( 'context', 'embed' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$fields = array(
'author',
'date',
@ -177,24 +177,24 @@ class WP_Test_REST_Revisions_Controller extends WP_Test_REST_Controller_Testcase
wp_set_current_user( 0 );
$request = new WP_REST_Request( 'GET', '/wp/v2/posts/' . self::$post_id . '/revisions/' . $this->revision_id1 );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_cannot_read', $response, 401 );
wp_set_current_user( self::$contributor_id );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_cannot_read', $response, 403 );
}
public function test_get_item_missing_parent() {
wp_set_current_user( self::$editor_id );
$request = new WP_REST_Request( 'GET', '/wp/v2/posts/' . REST_TESTS_IMPOSSIBLY_HIGH_NUMBER . '/revisions/' . $this->revision_id1 );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_post_invalid_parent', $response, 404 );
}
public function test_get_item_invalid_parent_post_type() {
wp_set_current_user( self::$editor_id );
$request = new WP_REST_Request( 'GET', '/wp/v2/posts/' . self::$page_id . '/revisions/' . $this->revision_id1 );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_post_invalid_parent', $response, 404 );
}
@ -202,7 +202,7 @@ class WP_Test_REST_Revisions_Controller extends WP_Test_REST_Controller_Testcase
wp_set_current_user( self::$editor_id );
$request = new WP_REST_Request( 'DELETE', '/wp/v2/posts/' . self::$post_id . '/revisions/' . $this->revision_id1 );
$request->set_param( 'force', true );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$this->assertNull( get_post( $this->revision_id1 ) );
}
@ -211,11 +211,11 @@ class WP_Test_REST_Revisions_Controller extends WP_Test_REST_Controller_Testcase
wp_set_current_user( self::$editor_id );
$request = new WP_REST_Request( 'DELETE', '/wp/v2/posts/' . self::$post_id . '/revisions/' . $this->revision_id1 );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_trash_not_supported', $response, 501 );
$request->set_param( 'force', 'false' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_trash_not_supported', $response, 501 );
// Ensure the revision still exists
@ -225,21 +225,21 @@ class WP_Test_REST_Revisions_Controller extends WP_Test_REST_Controller_Testcase
public function test_delete_item_no_permission() {
wp_set_current_user( self::$contributor_id );
$request = new WP_REST_Request( 'DELETE', '/wp/v2/posts/' . self::$post_id . '/revisions/' . $this->revision_id1 );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_cannot_read', $response, 403 );
}
public function test_prepare_item() {
wp_set_current_user( self::$editor_id );
$request = new WP_REST_Request( 'GET', '/wp/v2/posts/' . self::$post_id . '/revisions/' . $this->revision_id1 );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$this->check_get_revision_response( $response, $this->revision_1 );
}
public function test_get_item_schema() {
$request = new WP_REST_Request( 'OPTIONS', '/wp/v2/posts/' . self::$post_id . '/revisions' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$properties = $data['schema']['properties'];
$this->assertEquals( 12, count( $properties ) );
@ -259,13 +259,13 @@ class WP_Test_REST_Revisions_Controller extends WP_Test_REST_Controller_Testcase
public function test_create_item() {
$request = new WP_REST_Request( 'POST', '/wp/v2/posts/' . self::$post_id . '/revisions' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_no_route', $response, 404 );
}
public function test_update_item() {
$request = new WP_REST_Request( 'POST', '/wp/v2/posts/' . self::$post_id . '/revisions/' . $this->revision_id1 );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_no_route', $response, 404 );
}
@ -288,7 +288,7 @@ class WP_Test_REST_Revisions_Controller extends WP_Test_REST_Controller_Testcase
$request = new WP_REST_Request( 'OPTIONS', '/wp/v2/posts/' . self::$post_id . '/revisions' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertArrayHasKey( 'my_custom_int', $data['schema']['properties'] );
@ -298,7 +298,7 @@ class WP_Test_REST_Revisions_Controller extends WP_Test_REST_Controller_Testcase
$request = new WP_REST_Request( 'GET', '/wp/v2/posts/' . self::$post_id . '/revisions/' . $this->revision_id1 );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertArrayHasKey( 'my_custom_int', $response->data );
global $wp_rest_additional_fields;
@ -354,7 +354,7 @@ class WP_Test_REST_Revisions_Controller extends WP_Test_REST_Controller_Testcase
public function test_get_item_sets_up_postdata() {
wp_set_current_user( self::$editor_id );
$request = new WP_REST_Request( 'GET', '/wp/v2/posts/' . self::$post_id . '/revisions/' . $this->revision_id1 );
$this->server->dispatch( $request );
rest_get_server()->dispatch( $request );
$post = get_post();
$parent_post_id = wp_is_post_revision( $post->ID );

View File

@ -20,8 +20,8 @@ class WP_Test_REST_Schema_Initialization extends WP_Test_REST_TestCase {
/** @var WP_REST_Server $wp_rest_server */
global $wp_rest_server;
$this->server = $wp_rest_server = new Spy_REST_Server;
do_action( 'rest_api_init' );
$wp_rest_server = new Spy_REST_Server;
do_action( 'rest_api_init', $wp_rest_server );
add_filter( 'pre_http_request', array( $this, 'mock_embed_request' ), 10, 3 );
}
@ -72,7 +72,7 @@ class WP_Test_REST_Schema_Initialization extends WP_Test_REST_TestCase {
}
public function test_expected_routes_in_schema() {
$routes = $this->server->get_routes();
$routes = rest_get_server()->get_routes();
$this->assertTrue( is_array( $routes ), '`get_routes` should return an array.' );
$this->assertTrue( ! empty( $routes ), 'Routes should not be empty.' );
@ -373,7 +373,7 @@ class WP_Test_REST_Schema_Initialization extends WP_Test_REST_TestCase {
if ( isset( $route['args'] ) ) {
$request->set_query_params( $route['args'] );
}
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$status = $response->get_status();
$data = $response->get_data();

View File

@ -16,7 +16,7 @@ class Tests_REST_Server extends WP_Test_REST_TestCase {
// Reset REST server to ensure only our routes are registered
$GLOBALS['wp_rest_server'] = null;
add_filter( 'wp_rest_server_class', array( $this, 'filter_wp_rest_server_class' ) );
$this->server = rest_get_server();
$GLOBALS['wp_rest_server'] = rest_get_server();
remove_filter( 'wp_rest_server_class', array( $this, 'filter_wp_rest_server_class' ) );
}
@ -45,7 +45,7 @@ class Tests_REST_Server extends WP_Test_REST_TestCase {
$response->header( 'Multiple', 'maybe' );
$response->header( 'Multiple', 'yes', false );
$envelope_response = $this->server->envelope_response( $response, false );
$envelope_response = rest_get_server()->envelope_response( $response, false );
// The envelope should still be a response, but with defaults.
$this->assertInstanceOf( 'WP_REST_Response', $envelope_response );
@ -75,7 +75,7 @@ class Tests_REST_Server extends WP_Test_REST_TestCase {
);
$request = new WP_REST_Request( 'GET', '/test-ns/test' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 'bar', $request['foo'] );
}
@ -96,7 +96,7 @@ class Tests_REST_Server extends WP_Test_REST_TestCase {
$request = new WP_REST_Request( 'GET', '/test-ns/test' );
$request->set_query_params( array( 'foo' => 123 ) );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( '123', $request['foo'] );
}
@ -114,7 +114,7 @@ class Tests_REST_Server extends WP_Test_REST_TestCase {
$request = new WP_REST_Request( 'GET', '/optional/test' );
$request->set_query_params( array() );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertInstanceOf( 'WP_REST_Response', $response );
$this->assertEquals( 200, $response->get_status() );
$this->assertArrayNotHasKey( 'foo', (array) $request );
@ -133,7 +133,7 @@ class Tests_REST_Server extends WP_Test_REST_TestCase {
)
);
$request = new WP_REST_Request( 'GET', '/no-zero/test' );
$this->server->dispatch( $request );
rest_get_server()->dispatch( $request );
$this->assertEquals( array( 'foo' => 'bar' ), $request->get_params() );
}
@ -145,7 +145,7 @@ class Tests_REST_Server extends WP_Test_REST_TestCase {
)
);
$request = new WP_REST_Request( 'HEAD', '/head-request/test' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
}
@ -170,13 +170,13 @@ class Tests_REST_Server extends WP_Test_REST_TestCase {
)
);
$request = new WP_REST_Request( 'HEAD', '/head-request/test' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
}
public function test_url_params_no_numeric_keys() {
$this->server->register_route(
rest_get_server()->register_route(
'test', '/test/(?P<data>.*)', array(
array(
'methods' => WP_REST_Server::READABLE,
@ -189,7 +189,7 @@ class Tests_REST_Server extends WP_Test_REST_TestCase {
);
$request = new WP_REST_Request( 'GET', '/test/some-value' );
$this->server->dispatch( $request );
rest_get_server()->dispatch( $request );
$this->assertEquals( array( 'data' => 'some-value' ), $request->get_params() );
}
@ -208,7 +208,7 @@ class Tests_REST_Server extends WP_Test_REST_TestCase {
);
$request = new WP_REST_Request( 'GET', '/test-ns/test', array() );
$result = $this->server->dispatch( $request );
$result = rest_get_server()->dispatch( $request );
$this->assertEquals( 403, $result->get_status() );
}
@ -233,7 +233,7 @@ class Tests_REST_Server extends WP_Test_REST_TestCase {
wp_set_current_user( $editor );
$result = $this->server->dispatch( $request );
$result = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $result->get_status() );
}
@ -254,8 +254,8 @@ class Tests_REST_Server extends WP_Test_REST_TestCase {
$request = new WP_REST_Request( 'GET', '/test-ns/test', array() );
$result = $this->server->dispatch( $request );
$result = apply_filters( 'rest_post_dispatch', $result, $this->server, $request );
$result = rest_get_server()->dispatch( $request );
$result = apply_filters( 'rest_post_dispatch', $result, rest_get_server(), $request );
$this->assertFalse( $result->get_status() !== 200 );
@ -287,11 +287,11 @@ class Tests_REST_Server extends WP_Test_REST_TestCase {
$request = new WP_REST_Request( 'GET', '/test-ns/test', array() );
$result = $this->server->dispatch( $request );
$result = rest_get_server()->dispatch( $request );
$this->assertFalse( $result->get_status() !== 200 );
$result = apply_filters( 'rest_post_dispatch', $result, $this->server, $request );
$result = apply_filters( 'rest_post_dispatch', $result, rest_get_server(), $request );
$sent_headers = $result->get_headers();
$this->assertEquals( $sent_headers['Allow'], 'GET, POST' );
@ -322,8 +322,8 @@ class Tests_REST_Server extends WP_Test_REST_TestCase {
$request = new WP_REST_Request( 'GET', '/test-ns/test', array() );
$result = $this->server->dispatch( $request );
$result = apply_filters( 'rest_post_dispatch', $result, $this->server, $request );
$result = rest_get_server()->dispatch( $request );
$result = apply_filters( 'rest_post_dispatch', $result, rest_get_server(), $request );
$this->assertEquals( $result->get_status(), 403 );
@ -347,9 +347,9 @@ class Tests_REST_Server extends WP_Test_REST_TestCase {
);
$request = new WP_REST_Request( 'OPTIONS', '/test-ns/test' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$result = apply_filters( 'rest_post_dispatch', rest_ensure_response( $response ), $this->server, $request );
$result = apply_filters( 'rest_post_dispatch', rest_ensure_response( $response ), rest_get_server(), $request );
$headers = $result->get_headers();
@ -365,7 +365,7 @@ class Tests_REST_Server extends WP_Test_REST_TestCase {
$message = 'Test error message for the API';
$error = new WP_Error( $code, $message );
$response = $this->server->error_to_response( $error );
$response = rest_get_server()->error_to_response( $error );
$this->assertInstanceOf( 'WP_REST_Response', $response );
// Make sure we default to a 500 error.
@ -382,7 +382,7 @@ class Tests_REST_Server extends WP_Test_REST_TestCase {
$message = 'Test error message for the API';
$error = new WP_Error( $code, $message, array( 'status' => 400 ) );
$response = $this->server->error_to_response( $error );
$response = rest_get_server()->error_to_response( $error );
$this->assertInstanceOf( 'WP_REST_Response', $response );
$this->assertEquals( 400, $response->get_status() );
@ -401,7 +401,7 @@ class Tests_REST_Server extends WP_Test_REST_TestCase {
$error = new WP_Error( $code, $message, array( 'status' => 400 ) );
$error->add( $code2, $message2, array( 'status' => 403 ) );
$response = $this->server->error_to_response( $error );
$response = rest_get_server()->error_to_response( $error );
$this->assertInstanceOf( 'WP_REST_Response', $response );
$this->assertEquals( 400, $response->get_status() );
@ -420,7 +420,7 @@ class Tests_REST_Server extends WP_Test_REST_TestCase {
'message' => 'Message text',
);
$expected = wp_json_encode( $data );
$response = $this->server->json_error( 'wp-api-test-error', 'Message text' );
$response = rest_get_server()->json_error( 'wp-api-test-error', 'Message text' );
$this->assertEquals( $expected, $response );
}
@ -450,7 +450,7 @@ class Tests_REST_Server extends WP_Test_REST_TestCase {
$response->add_link( 'self', 'http://example.com/' );
$response->add_link( 'alternate', 'http://example.org/', array( 'type' => 'application/xml' ) );
$data = $this->server->response_to_data( $response, false );
$data = rest_get_server()->response_to_data( $response, false );
$this->assertArrayHasKey( '_links', $data );
$self = array(
@ -467,7 +467,7 @@ class Tests_REST_Server extends WP_Test_REST_TestCase {
public function test_link_embedding() {
// Register our testing route.
$this->server->register_route(
rest_get_server()->register_route(
'test', '/test/embeddable', array(
'methods' => 'GET',
'callback' => array( $this, 'embedded_response_callback' ),
@ -481,7 +481,7 @@ class Tests_REST_Server extends WP_Test_REST_TestCase {
// All others should be embedded.
$response->add_link( 'alternate', rest_url( '/test/embeddable' ), array( 'embeddable' => true ) );
$data = $this->server->response_to_data( $response, true );
$data = rest_get_server()->response_to_data( $response, true );
$this->assertArrayHasKey( '_embedded', $data );
$alternate = $data['_embedded']['alternate'];
@ -500,7 +500,7 @@ class Tests_REST_Server extends WP_Test_REST_TestCase {
$response = new WP_REST_Response();
$response->add_link( 'https://api.w.org/term', 'http://example.com/' );
$data = $this->server->response_to_data( $response, false );
$data = rest_get_server()->response_to_data( $response, false );
$links = $data['_links'];
$this->assertArrayHasKey( 'wp:term', $links );
@ -513,7 +513,7 @@ class Tests_REST_Server extends WP_Test_REST_TestCase {
add_filter( 'rest_response_link_curies', array( $this, 'add_custom_curie' ) );
$data = $this->server->response_to_data( $response, false );
$data = rest_get_server()->response_to_data( $response, false );
$links = $data['_links'];
$this->assertArrayHasKey( 'my_site:contact', $links );
@ -540,7 +540,7 @@ class Tests_REST_Server extends WP_Test_REST_TestCase {
*/
public function test_link_embedding_self() {
// Register our testing route.
$this->server->register_route(
rest_get_server()->register_route(
'test', '/test/embeddable', array(
'methods' => 'GET',
'callback' => array( $this, 'embedded_response_callback' ),
@ -551,7 +551,7 @@ class Tests_REST_Server extends WP_Test_REST_TestCase {
// 'self' should be ignored.
$response->add_link( 'self', rest_url( '/test/notembeddable' ), array( 'embeddable' => true ) );
$data = $this->server->response_to_data( $response, true );
$data = rest_get_server()->response_to_data( $response, true );
$this->assertArrayNotHasKey( '_embedded', $data );
}
@ -561,7 +561,7 @@ class Tests_REST_Server extends WP_Test_REST_TestCase {
*/
public function test_link_embedding_params() {
// Register our testing route.
$this->server->register_route(
rest_get_server()->register_route(
'test', '/test/embeddable', array(
'methods' => 'GET',
'callback' => array( $this, 'embedded_response_callback' ),
@ -573,7 +573,7 @@ class Tests_REST_Server extends WP_Test_REST_TestCase {
$url = add_query_arg( 'parsed_params', 'yes', $url );
$response->add_link( 'alternate', $url, array( 'embeddable' => true ) );
$data = $this->server->response_to_data( $response, true );
$data = rest_get_server()->response_to_data( $response, true );
$this->assertArrayHasKey( '_embedded', $data );
$this->assertArrayHasKey( 'alternate', $data['_embedded'] );
@ -587,7 +587,7 @@ class Tests_REST_Server extends WP_Test_REST_TestCase {
*/
public function test_link_embedding_error() {
// Register our testing route.
$this->server->register_route(
rest_get_server()->register_route(
'test', '/test/embeddable', array(
'methods' => 'GET',
'callback' => array( $this, 'embedded_response_callback' ),
@ -599,7 +599,7 @@ class Tests_REST_Server extends WP_Test_REST_TestCase {
$url = add_query_arg( 'error', '1', $url );
$response->add_link( 'up', $url, array( 'embeddable' => true ) );
$data = $this->server->response_to_data( $response, true );
$data = rest_get_server()->response_to_data( $response, true );
$this->assertArrayHasKey( '_embedded', $data );
$this->assertArrayHasKey( 'up', $data['_embedded'] );
@ -621,7 +621,7 @@ class Tests_REST_Server extends WP_Test_REST_TestCase {
$data = array(
'untouched' => 'data',
);
$result = $this->server->embed_links( $data );
$result = rest_get_server()->embed_links( $data );
$this->assertArrayNotHasKey( '_links', $data );
$this->assertArrayNotHasKey( '_embedded', $data );
@ -650,7 +650,7 @@ class Tests_REST_Server extends WP_Test_REST_TestCase {
$response->remove_link( 'self' );
$data = $this->server->response_to_data( $response, false );
$data = rest_get_server()->response_to_data( $response, false );
$this->assertArrayHasKey( '_links', $data );
$this->assertArrayNotHasKey( 'self', $data['_links'] );
@ -669,7 +669,7 @@ class Tests_REST_Server extends WP_Test_REST_TestCase {
$response->remove_link( 'self', 'https://example.com/' );
$data = $this->server->response_to_data( $response, false );
$data = rest_get_server()->response_to_data( $response, false );
$this->assertArrayHasKey( '_links', $data );
$this->assertArrayHasKey( 'self', $data['_links'] );
@ -789,8 +789,8 @@ class Tests_REST_Server extends WP_Test_REST_TestCase {
public function test_x_robot_tag_header_on_requests() {
$request = new WP_REST_Request( 'GET', '/', array() );
$result = $this->server->serve_request( '/' );
$headers = $this->server->sent_headers;
$result = rest_get_server()->serve_request( '/' );
$headers = rest_get_server()->sent_headers;
$this->assertEquals( 'noindex', $headers['X-Robots-Tag'] );
}
@ -801,10 +801,10 @@ class Tests_REST_Server extends WP_Test_REST_TestCase {
*/
public function test_rest_enable_filter_is_deprecated() {
add_filter( 'rest_enabled', '__return_false' );
$this->server->serve_request( '/' );
rest_get_server()->serve_request( '/' );
remove_filter( 'rest_enabled', '__return_false' );
$result = json_decode( $this->server->sent_body );
$result = json_decode( rest_get_server()->sent_body );
$this->assertObjectNotHasAttribute( 'code', $result );
}
@ -814,8 +814,8 @@ class Tests_REST_Server extends WP_Test_REST_TestCase {
$request = new WP_REST_Request( 'GET', '/', array() );
$result = $this->server->serve_request( '/' );
$headers = $this->server->sent_headers;
$result = rest_get_server()->serve_request( '/' );
$headers = rest_get_server()->sent_headers;
$this->assertEquals( '<' . esc_url_raw( $api_root ) . '>; rel="https://api.w.org/"', $headers['Link'] );
}
@ -825,8 +825,8 @@ class Tests_REST_Server extends WP_Test_REST_TestCase {
$request = new WP_REST_Request( 'GET', '/', array() );
wp_set_current_user( $editor );
$result = $this->server->serve_request( '/' );
$headers = $this->server->sent_headers;
$result = rest_get_server()->serve_request( '/' );
$headers = rest_get_server()->sent_headers;
foreach ( wp_get_nocache_headers() as $header => $value ) {
if ( empty( $value ) ) {
@ -845,8 +845,8 @@ class Tests_REST_Server extends WP_Test_REST_TestCase {
$editor = self::factory()->user->create( array( 'role' => 'editor' ) );
$request = new WP_REST_Request( 'GET', '/', array() );
$result = $this->server->serve_request( '/' );
$headers = $this->server->sent_headers;
$result = rest_get_server()->serve_request( '/' );
$headers = rest_get_server()->sent_headers;
foreach ( wp_get_nocache_headers() as $header => $value ) {
$this->assertFalse( isset( $headers[ $header ] ) && $headers[ $header ] === $value, sprintf( 'Header %s is set to nocache.', $header ) );
@ -855,7 +855,7 @@ class Tests_REST_Server extends WP_Test_REST_TestCase {
public function test_serve_request_url_params_are_unslashed() {
$this->server->register_route(
rest_get_server()->register_route(
'test', '/test/(?P<data>.*)', array(
array(
'methods' => WP_REST_Server::READABLE,
@ -867,14 +867,14 @@ class Tests_REST_Server extends WP_Test_REST_TestCase {
)
);
$result = $this->server->serve_request( '/test/data\\with\\slashes' );
$url_params = $this->server->last_request->get_url_params();
$result = rest_get_server()->serve_request( '/test/data\\with\\slashes' );
$url_params = rest_get_server()->last_request->get_url_params();
$this->assertEquals( 'data\\with\\slashes', $url_params['data'] );
}
public function test_serve_request_query_params_are_unslashed() {
$this->server->register_route(
rest_get_server()->register_route(
'test', '/test', array(
array(
'methods' => WP_REST_Server::READABLE,
@ -893,14 +893,14 @@ class Tests_REST_Server extends WP_Test_REST_TestCase {
)
);
$result = $this->server->serve_request( '/test' );
$query_params = $this->server->last_request->get_query_params();
$result = rest_get_server()->serve_request( '/test' );
$query_params = rest_get_server()->last_request->get_query_params();
$this->assertEquals( 'data\\with\\slashes', $query_params['data'] );
}
public function test_serve_request_body_params_are_unslashed() {
$this->server->register_route(
rest_get_server()->register_route(
'test', '/test', array(
array(
'methods' => WP_REST_Server::READABLE,
@ -919,15 +919,15 @@ class Tests_REST_Server extends WP_Test_REST_TestCase {
)
);
$result = $this->server->serve_request( '/test/data' );
$result = rest_get_server()->serve_request( '/test/data' );
$body_params = $this->server->last_request->get_body_params();
$body_params = rest_get_server()->last_request->get_body_params();
$this->assertEquals( 'data\\with\\slashes', $body_params['data'] );
}
public function test_serve_request_json_params_are_unslashed() {
$this->server->register_route(
rest_get_server()->register_route(
'test', '/test', array(
array(
'methods' => WP_REST_Server::READABLE,
@ -946,14 +946,14 @@ class Tests_REST_Server extends WP_Test_REST_TestCase {
)
);
$result = $this->server->serve_request( '/test' );
$json_params = $this->server->last_request->get_json_params();
$result = rest_get_server()->serve_request( '/test' );
$json_params = rest_get_server()->last_request->get_json_params();
$this->assertEquals( 'data\\with\\slashes', $json_params['data'] );
}
public function test_serve_request_file_params_are_unslashed() {
$this->server->register_route(
rest_get_server()->register_route(
'test', '/test', array(
array(
'methods' => WP_REST_Server::READABLE,
@ -972,14 +972,14 @@ class Tests_REST_Server extends WP_Test_REST_TestCase {
),
);
$result = $this->server->serve_request( '/test/data\\with\\slashes' );
$file_params = $this->server->last_request->get_file_params();
$result = rest_get_server()->serve_request( '/test/data\\with\\slashes' );
$file_params = rest_get_server()->last_request->get_file_params();
$this->assertEquals( 'data\\with\\slashes', $file_params['data']['name'] );
}
public function test_serve_request_headers_are_unslashed() {
$this->server->register_route(
rest_get_server()->register_route(
'test', '/test', array(
array(
'methods' => WP_REST_Server::READABLE,
@ -994,8 +994,8 @@ class Tests_REST_Server extends WP_Test_REST_TestCase {
// WordPress internally will slash the superglobals on bootstrap
$_SERVER['HTTP_X_MY_HEADER'] = wp_slash( 'data\\with\\slashes' );
$result = $this->server->serve_request( '/test/data\\with\\slashes' );
$this->assertEquals( 'data\\with\\slashes', $this->server->last_request->get_header( 'x_my_header' ) );
$result = rest_get_server()->serve_request( '/test/data\\with\\slashes' );
$this->assertEquals( 'data\\with\\slashes', rest_get_server()->last_request->get_header( 'x_my_header' ) );
}
public function filter_wp_rest_server_class() {
@ -1078,7 +1078,7 @@ class Tests_REST_Server extends WP_Test_REST_TestCase {
'somestring' => 'foo',
)
);
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
}
@ -1137,8 +1137,8 @@ class Tests_REST_Server extends WP_Test_REST_TestCase {
*/
protected function helper_make_request_and_return_headers_for_rest_send_refreshed_nonce_tests() {
$request = new WP_REST_Request( 'GET', '/', array() );
$result = $this->server->serve_request( '/' );
$result = rest_get_server()->serve_request( '/' );
return $this->server->sent_headers;
return rest_get_server()->sent_headers;
}
}

View File

@ -39,7 +39,7 @@ class WP_Test_REST_Settings_Controller extends WP_Test_REST_Controller_Testcase
}
public function test_register_routes() {
$routes = $this->server->get_routes();
$routes = rest_get_server()->get_routes();
$this->assertArrayHasKey( '/wp/v2/settings', $routes );
}
@ -47,7 +47,7 @@ class WP_Test_REST_Settings_Controller extends WP_Test_REST_Controller_Testcase
/** Individual settings can't be gotten */
wp_set_current_user( self::$administrator );
$request = new WP_REST_Request( 'GET', '/wp/v2/settings/title' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 404, $response->get_status() );
}
@ -56,21 +56,21 @@ class WP_Test_REST_Settings_Controller extends WP_Test_REST_Controller_Testcase
public function test_get_item_is_not_public_not_authenticated() {
$request = new WP_REST_Request( 'GET', '/wp/v2/settings' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 401, $response->get_status() );
}
public function test_get_item_is_not_public_no_permission() {
wp_set_current_user( self::$author );
$request = new WP_REST_Request( 'GET', '/wp/v2/settings' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 403, $response->get_status() );
}
public function test_get_items() {
wp_set_current_user( self::$administrator );
$request = new WP_REST_Request( 'GET', '/wp/v2/settings' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$actual = array_keys( $data );
@ -107,7 +107,7 @@ class WP_Test_REST_Settings_Controller extends WP_Test_REST_Controller_Testcase
wp_set_current_user( self::$administrator );
update_option( 'posts_per_page', 'invalid_number' ); // this is cast to (int) 1
$request = new WP_REST_Request( 'GET', '/wp/v2/settings' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 200, $response->get_status() );
@ -131,7 +131,7 @@ class WP_Test_REST_Settings_Controller extends WP_Test_REST_Controller_Testcase
);
$request = new WP_REST_Request( 'GET', '/wp/v2/settings' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 200, $response->get_status() );
@ -141,7 +141,7 @@ class WP_Test_REST_Settings_Controller extends WP_Test_REST_Controller_Testcase
update_option( 'mycustomsetting', 'validvalue2' );
$request = new WP_REST_Request( 'GET', '/wp/v2/settings' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 'validvalue2', $data['mycustomsettinginrest'] );
@ -168,28 +168,28 @@ class WP_Test_REST_Settings_Controller extends WP_Test_REST_Controller_Testcase
// Array is cast to correct types.
update_option( 'mycustomsetting', array( '1', '2' ) );
$request = new WP_REST_Request( 'GET', '/wp/v2/settings' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( array( 1, 2 ), $data['mycustomsetting'] );
// Empty array works as expected.
update_option( 'mycustomsetting', array() );
$request = new WP_REST_Request( 'GET', '/wp/v2/settings' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( array(), $data['mycustomsetting'] );
// Invalid value
update_option( 'mycustomsetting', array( array( 1 ) ) );
$request = new WP_REST_Request( 'GET', '/wp/v2/settings' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( null, $data['mycustomsetting'] );
// No option value
delete_option( 'mycustomsetting' );
$request = new WP_REST_Request( 'GET', '/wp/v2/settings' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( null, $data['mycustomsetting'] );
@ -216,20 +216,20 @@ class WP_Test_REST_Settings_Controller extends WP_Test_REST_Controller_Testcase
);
// We have to re-register the route, as the args changes based off registered settings.
$this->server->override_by_default = true;
rest_get_server()->override_by_default = true;
$this->endpoint->register_routes();
// Object is cast to correct types.
update_option( 'mycustomsetting', array( 'a' => '1' ) );
$request = new WP_REST_Request( 'GET', '/wp/v2/settings' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( array( 'a' => 1 ), $data['mycustomsetting'] );
// Empty array works as expected.
update_option( 'mycustomsetting', array() );
$request = new WP_REST_Request( 'GET', '/wp/v2/settings' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( array(), $data['mycustomsetting'] );
@ -241,7 +241,7 @@ class WP_Test_REST_Settings_Controller extends WP_Test_REST_Controller_Testcase
)
);
$request = new WP_REST_Request( 'GET', '/wp/v2/settings' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( null, $data['mycustomsetting'] );
@ -283,7 +283,7 @@ class WP_Test_REST_Settings_Controller extends WP_Test_REST_Controller_Testcase
update_option( 'mycustomsetting2', 'unfiltered2' );
$request = new WP_REST_Request( 'GET', '/wp/v2/settings' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 200, $response->get_status() );
@ -317,7 +317,7 @@ class WP_Test_REST_Settings_Controller extends WP_Test_REST_Controller_Testcase
update_option( 'mycustomsetting', array( 'A sneaky array!' ) );
$request = new WP_REST_Request( 'GET', '/wp/v2/settings' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( null, $data['mycustomsettinginrest'] );
}
@ -341,7 +341,7 @@ class WP_Test_REST_Settings_Controller extends WP_Test_REST_Controller_Testcase
update_option( 'mycustomsetting', (object) array( 'A sneaky array!' ) );
$request = new WP_REST_Request( 'GET', '/wp/v2/settings' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( null, $data['mycustomsettinginrest'] );
unregister_setting( 'somegroup', 'mycustomsetting' );
@ -355,7 +355,7 @@ class WP_Test_REST_Settings_Controller extends WP_Test_REST_Controller_Testcase
wp_set_current_user( self::$administrator );
$request = new WP_REST_Request( 'PUT', '/wp/v2/settings' );
$request->set_param( 'title', 'The new title!' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 200, $response->get_status() );
@ -388,13 +388,13 @@ class WP_Test_REST_Settings_Controller extends WP_Test_REST_Controller_Testcase
);
// We have to re-register the route, as the args changes based off registered settings.
$this->server->override_by_default = true;
rest_get_server()->override_by_default = true;
$this->endpoint->register_routes();
wp_set_current_user( self::$administrator );
$request = new WP_REST_Request( 'PUT', '/wp/v2/settings' );
$request->set_param( 'mycustomsetting', array( '1', '2' ) );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( array( 1, 2 ), $data['mycustomsetting'] );
$this->assertEquals( array( 1, 2 ), get_option( 'mycustomsetting' ) );
@ -402,7 +402,7 @@ class WP_Test_REST_Settings_Controller extends WP_Test_REST_Controller_Testcase
// Setting an empty array.
$request = new WP_REST_Request( 'PUT', '/wp/v2/settings' );
$request->set_param( 'mycustomsetting', array() );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( array(), $data['mycustomsetting'] );
$this->assertEquals( array(), get_option( 'mycustomsetting' ) );
@ -410,7 +410,7 @@ class WP_Test_REST_Settings_Controller extends WP_Test_REST_Controller_Testcase
// Setting an invalid array.
$request = new WP_REST_Request( 'PUT', '/wp/v2/settings' );
$request->set_param( 'mycustomsetting', array( 'invalid' ) );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_invalid_param', $response, 400 );
unregister_setting( 'somegroup', 'mycustomsetting' );
@ -439,7 +439,7 @@ class WP_Test_REST_Settings_Controller extends WP_Test_REST_Controller_Testcase
);
// We have to re-register the route, as the args changes based off registered settings.
$this->server->override_by_default = true;
rest_get_server()->override_by_default = true;
$this->endpoint->register_routes();
wp_set_current_user( self::$administrator );
@ -452,7 +452,7 @@ class WP_Test_REST_Settings_Controller extends WP_Test_REST_Controller_Testcase
),
)
);
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_invalid_param', $response, 400 );
}
@ -474,13 +474,13 @@ class WP_Test_REST_Settings_Controller extends WP_Test_REST_Controller_Testcase
);
// We have to re-register the route, as the args changes based off registered settings.
$this->server->override_by_default = true;
rest_get_server()->override_by_default = true;
$this->endpoint->register_routes();
wp_set_current_user( self::$administrator );
$request = new WP_REST_Request( 'PUT', '/wp/v2/settings' );
$request->set_param( 'mycustomsetting', array( 'a' => 1 ) );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( array( 'a' => 1 ), $data['mycustomsetting'] );
$this->assertEquals( array( 'a' => 1 ), get_option( 'mycustomsetting' ) );
@ -488,7 +488,7 @@ class WP_Test_REST_Settings_Controller extends WP_Test_REST_Controller_Testcase
// Setting an empty object.
$request = new WP_REST_Request( 'PUT', '/wp/v2/settings' );
$request->set_param( 'mycustomsetting', array() );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( array(), $data['mycustomsetting'] );
$this->assertEquals( array(), get_option( 'mycustomsetting' ) );
@ -501,14 +501,14 @@ class WP_Test_REST_Settings_Controller extends WP_Test_REST_Controller_Testcase
'b' => 2,
)
);
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_invalid_param', $response, 400 );
// Setting an invalid object.
$request = new WP_REST_Request( 'PUT', '/wp/v2/settings' );
$request->set_param( 'mycustomsetting', array( 'a' => 'invalid' ) );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_invalid_param', $response, 400 );
unregister_setting( 'somegroup', 'mycustomsetting' );
}
@ -519,7 +519,7 @@ class WP_Test_REST_Settings_Controller extends WP_Test_REST_Controller_Testcase
$request = new WP_REST_Request( 'PUT', '/wp/v2/settings' );
$request->set_param( 'title', 'The old title!' );
$request->set_param( 'description', 'The old description!' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 200, $response->get_status() );
$this->assertEquals( 'The old title!', $data['title'] );
@ -532,7 +532,7 @@ class WP_Test_REST_Settings_Controller extends WP_Test_REST_Controller_Testcase
$request = new WP_REST_Request( 'PUT', '/wp/v2/settings' );
$request->set_param( 'title', 'The new title!' );
$request->set_param( 'description', 'The new description!' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 200, $response->get_status() );
@ -548,7 +548,7 @@ class WP_Test_REST_Settings_Controller extends WP_Test_REST_Controller_Testcase
wp_set_current_user( self::$administrator );
$request = new WP_REST_Request( 'PUT', '/wp/v2/settings' );
$request->set_param( 'title', array( 'rendered' => 'This should fail.' ) );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_invalid_param', $response, 400 );
}
@ -556,7 +556,7 @@ class WP_Test_REST_Settings_Controller extends WP_Test_REST_Controller_Testcase
wp_set_current_user( self::$administrator );
$request = new WP_REST_Request( 'PUT', '/wp/v2/settings' );
$request->set_param( 'posts_per_page', 11 );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
}
@ -564,7 +564,7 @@ class WP_Test_REST_Settings_Controller extends WP_Test_REST_Controller_Testcase
wp_set_current_user( self::$administrator );
$request = new WP_REST_Request( 'PUT', '/wp/v2/settings' );
$request->set_param( 'posts_per_page', 10.5 );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_invalid_param', $response, 400 );
}
@ -577,7 +577,7 @@ class WP_Test_REST_Settings_Controller extends WP_Test_REST_Controller_Testcase
wp_set_current_user( self::$administrator );
$request = new WP_REST_Request( 'PUT', '/wp/v2/settings' );
$request->set_param( 'posts_per_page', null );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 200, $response->get_status() );
@ -590,7 +590,7 @@ class WP_Test_REST_Settings_Controller extends WP_Test_REST_Controller_Testcase
wp_set_current_user( self::$administrator );
$request = new WP_REST_Request( 'PUT', '/wp/v2/settings' );
$request->set_param( 'default_ping_status', 'open&closed' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_invalid_param', $response, 400 );
}
@ -608,7 +608,7 @@ class WP_Test_REST_Settings_Controller extends WP_Test_REST_Controller_Testcase
wp_set_current_user( self::$administrator );
$request = new WP_REST_Request( 'PUT', '/wp/v2/settings' );
$request->set_param( 'mycustomsetting', null );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_invalid_stored_value', $response, 500 );
}
@ -616,7 +616,7 @@ class WP_Test_REST_Settings_Controller extends WP_Test_REST_Controller_Testcase
public function test_delete_item() {
/** Settings can't be deleted */
$request = new WP_REST_Request( 'DELETE', '/wp/v2/settings/title' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 404, $response->get_status() );
}

View File

@ -50,7 +50,7 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
}
public function test_register_routes() {
$routes = $this->server->get_routes();
$routes = rest_get_server()->get_routes();
$this->assertArrayHasKey( '/wp/v2/tags', $routes );
$this->assertArrayHasKey( '/wp/v2/tags/(?P<id>[\d]+)', $routes );
}
@ -58,14 +58,14 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
public function test_context_param() {
// Collection
$request = new WP_REST_Request( 'OPTIONS', '/wp/v2/tags' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 'view', $data['endpoints'][0]['args']['context']['default'] );
$this->assertEqualSets( array( 'view', 'embed', 'edit' ), $data['endpoints'][0]['args']['context']['enum'] );
// Single
$tag1 = $this->factory->tag->create( array( 'name' => 'Season 5' ) );
$request = new WP_REST_Request( 'OPTIONS', '/wp/v2/tags/' . $tag1 );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 'view', $data['endpoints'][0]['args']['context']['default'] );
$this->assertEqualSets( array( 'view', 'embed', 'edit' ), $data['endpoints'][0]['args']['context']['enum'] );
@ -73,7 +73,7 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
public function test_registered_query_params() {
$request = new WP_REST_Request( 'OPTIONS', '/wp/v2/tags' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$keys = array_keys( $data['endpoints'][0]['args'] );
sort( $keys );
@ -98,7 +98,7 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
public function test_get_items() {
$this->factory->tag->create();
$request = new WP_REST_Request( 'GET', '/wp/v2/tags' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->check_get_taxonomy_terms_response( $response );
}
@ -106,7 +106,7 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
wp_set_current_user( 0 );
$request = new WP_REST_Request( 'GET', '/wp/v2/tags' );
$request->set_param( 'context', 'edit' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_forbidden_context', $response, 401 );
}
@ -117,14 +117,14 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
wp_set_object_terms( $post_id, array( $tag1, $tag2 ), 'post_tag' );
$request = new WP_REST_Request( 'GET', '/wp/v2/tags' );
$request->set_param( 'hide_empty', true );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 2, count( $data ) );
$this->assertEquals( 'Season 5', $data[0]['name'] );
$this->assertEquals( 'The Be Sharps', $data[1]['name'] );
// invalid value should fail
$request->set_param( 'hide_empty', 'nothanks' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_invalid_param', $response, 400 );
}
@ -135,19 +135,19 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
$request = new WP_REST_Request( 'GET', '/wp/v2/tags' );
// Orderby=>asc
$request->set_param( 'include', array( $id3, $id1 ) );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 2, count( $data ) );
$this->assertEquals( $id1, $data[0]['id'] );
// Orderby=>include
$request->set_param( 'orderby', 'include' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 2, count( $data ) );
$this->assertEquals( $id3, $data[0]['id'] );
// Include invalid value shoud fail
$request->set_param( 'include', array( 'myterm' ) );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_invalid_param', $response, 400 );
}
@ -155,18 +155,18 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
$id1 = $this->factory->tag->create();
$id2 = $this->factory->tag->create();
$request = new WP_REST_Request( 'GET', '/wp/v2/tags' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertTrue( in_array( $id1, wp_list_pluck( $data, 'id' ), true ) );
$this->assertTrue( in_array( $id2, wp_list_pluck( $data, 'id' ), true ) );
$request->set_param( 'exclude', array( $id2 ) );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertTrue( in_array( $id1, wp_list_pluck( $data, 'id' ), true ) );
$this->assertFalse( in_array( $id2, wp_list_pluck( $data, 'id' ), true ) );
// Invalid exclude value should fail
$request->set_param( 'exclude', array( 'invalid' ) );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_invalid_param', $response, 400 );
}
@ -177,19 +177,19 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
$id4 = $this->factory->tag->create();
$request = new WP_REST_Request( 'GET', '/wp/v2/tags' );
$request->set_param( 'offset', 1 );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertCount( 3, $response->get_data() );
// 'offset' works with 'per_page'
$request->set_param( 'per_page', 2 );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertCount( 2, $response->get_data() );
// 'offset' takes priority over 'page'
$request->set_param( 'page', 3 );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertCount( 2, $response->get_data() );
// 'offset' invalid value shoudl fail
$request->set_param( 'offset', 'moreplease' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_invalid_param', $response, 400 );
}
@ -207,7 +207,7 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
$request->set_param( 'orderby', 'name' );
$request->set_param( 'order', 'desc' );
$request->set_param( 'per_page', 1 );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$data = $response->get_data();
$this->assertEquals( 1, count( $data ) );
@ -216,14 +216,14 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
$request->set_param( 'orderby', 'name' );
$request->set_param( 'order', 'asc' );
$request->set_param( 'per_page', 2 );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$data = $response->get_data();
$this->assertEquals( 2, count( $data ) );
$this->assertEquals( 'Apple', $data[0]['name'] );
// Invalid orderby should fail.
$request->set_param( 'orderby', 'invalid' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_invalid_param', $response, 400 );
}
@ -233,7 +233,7 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
$tag2 = $this->factory->tag->create( array( 'name' => 'Banana' ) );
// defaults to orderby=name, order=asc
$request = new WP_REST_Request( 'GET', '/wp/v2/tags' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$data = $response->get_data();
$this->assertEquals( 'Apple', $data[0]['name'] );
@ -242,7 +242,7 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
// orderby=id, with default order=asc
$request = new WP_REST_Request( 'GET', '/wp/v2/tags' );
$request->set_param( 'orderby', 'id' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$data = $response->get_data();
$this->assertEquals( 'Cantaloupe', $data[0]['name'] );
@ -252,7 +252,7 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
$request = new WP_REST_Request( 'GET', '/wp/v2/tags' );
$request->set_param( 'orderby', 'id' );
$request->set_param( 'order', 'desc' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 200, $response->get_status() );
$this->assertEquals( 'Banana', $data[0]['name'] );
@ -268,7 +268,7 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
$request = new WP_REST_Request( 'GET', '/wp/v2/tags' );
$request->set_param( 'orderby', 'include_slugs' );
$request->set_param( 'slug', array( 'taco', 'burrito', 'chalupa' ) );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 200, $response->get_status() );
$this->assertEquals( 'taco', $data[0]['slug'] );
@ -285,7 +285,7 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
$request = new WP_REST_Request( 'GET', '/wp/v2/tags' );
$request->set_param( 'post', $post_id );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$data = $response->get_data();
@ -295,7 +295,7 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
// Invalid post should error.
$request = new WP_REST_Request( 'GET', '/wp/v2/tags' );
$request->set_param( 'post', 'invalid-post' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_invalid_param', $response, 400 );
}
@ -317,7 +317,7 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
$request->set_param( 'page', 1 );
$request->set_param( 'per_page', 15 );
$request->set_param( 'orderby', 'id' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$tags = $response->get_data();
$i = 0;
@ -331,7 +331,7 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
$request->set_param( 'page', 2 );
$request->set_param( 'per_page', 15 );
$request->set_param( 'orderby', 'id' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$tags = $response->get_data();
foreach ( $tags as $tag ) {
@ -345,7 +345,7 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
$request = new WP_REST_Request( 'GET', '/wp/v2/tags' );
$request->set_param( 'post', $post_id );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$data = $response->get_data();
@ -379,7 +379,7 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
$request = new WP_REST_Request( 'GET', '/wp/v2/batman' );
$request->set_param( 'post', $post_id );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$data = $response->get_data();
@ -396,14 +396,14 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
*/
$request = new WP_REST_Request( 'GET', '/wp/v2/tags' );
$request->set_param( 'search', 'App' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$data = $response->get_data();
$this->assertEquals( 1, count( $data ) );
$this->assertEquals( 'Apple', $data[0]['name'] );
$request = new WP_REST_Request( 'GET', '/wp/v2/tags' );
$request->set_param( 'search', 'Garbage' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$data = $response->get_data();
$this->assertEquals( 0, count( $data ) );
@ -414,7 +414,7 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
$tag2 = $this->factory->tag->create( array( 'name' => 'Banana' ) );
$request = new WP_REST_Request( 'GET', '/wp/v2/tags' );
$request->set_param( 'slug', 'apple' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$data = $response->get_data();
$this->assertEquals( 1, count( $data ) );
@ -434,7 +434,7 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
'enchilada',
)
);
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$data = $response->get_data();
$names = wp_list_pluck( $data, 'name' );
@ -449,7 +449,7 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
$this->factory->tag->create( array( 'name' => 'Pizza' ) );
$request = new WP_REST_Request( 'GET', '/wp/v2/tags' );
$request->set_param( 'slug', 'taco,burrito, enchilada' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$data = $response->get_data();
$names = wp_list_pluck( $data, 'name' );
@ -473,7 +473,7 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
);
$request = new WP_REST_Request( 'GET', '/wp/v2/terms/robin' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_no_route', $response, 404 );
}
@ -487,7 +487,7 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
);
}
$request = new WP_REST_Request( 'GET', '/wp/v2/tags' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$headers = $response->get_headers();
$this->assertEquals( 50, $headers['X-WP-Total'] );
$this->assertEquals( 5, $headers['X-WP-TotalPages'] );
@ -506,7 +506,7 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
);
$request = new WP_REST_Request( 'GET', '/wp/v2/tags' );
$request->set_param( 'page', 3 );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$headers = $response->get_headers();
$this->assertEquals( 51, $headers['X-WP-Total'] );
$this->assertEquals( 6, $headers['X-WP-TotalPages'] );
@ -525,7 +525,7 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
// Last page
$request = new WP_REST_Request( 'GET', '/wp/v2/tags' );
$request->set_param( 'page', 6 );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$headers = $response->get_headers();
$this->assertEquals( 51, $headers['X-WP-Total'] );
$this->assertEquals( 6, $headers['X-WP-TotalPages'] );
@ -539,7 +539,7 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
// Out of bounds
$request = new WP_REST_Request( 'GET', '/wp/v2/tags' );
$request->set_param( 'page', 8 );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$headers = $response->get_headers();
$this->assertEquals( 51, $headers['X-WP-Total'] );
$this->assertEquals( 6, $headers['X-WP-TotalPages'] );
@ -555,20 +555,20 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
public function test_get_items_invalid_context() {
$request = new WP_REST_Request( 'GET', '/wp/v2/tags' );
$request->set_param( 'context', 'banana' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_invalid_param', $response, 400 );
}
public function test_get_item() {
$id = $this->factory->tag->create();
$request = new WP_REST_Request( 'GET', '/wp/v2/tags/' . $id );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->check_get_taxonomy_term_response( $response, $id );
}
public function test_get_term_invalid_term() {
$request = new WP_REST_Request( 'GET', '/wp/v2/tags/' . REST_TESTS_IMPOSSIBLY_HIGH_NUMBER );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_term_invalid', $response, 404 );
}
@ -577,7 +577,7 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
wp_set_current_user( 0 );
$request = new WP_REST_Request( 'GET', '/wp/v2/tags/' . $id );
$request->set_param( 'context', 'edit' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_forbidden_context', $response, 401 );
}
@ -591,7 +591,7 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
);
$request = new WP_REST_Request( 'GET', '/wp/v2/terms/robin/' . $term1 );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_no_route', $response, 404 );
}
@ -604,7 +604,7 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
)
);
$request = new WP_REST_Request( 'GET', '/wp/v2/tags/' . $term1 );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_term_invalid', $response, 404 );
}
@ -614,7 +614,7 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
$request->set_param( 'name', 'My Awesome Term' );
$request->set_param( 'description', 'This term is so awesome.' );
$request->set_param( 'slug', 'so-awesome' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 201, $response->get_status() );
$headers = $response->get_headers();
$data = $response->get_data();
@ -628,14 +628,14 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
wp_set_current_user( self::$subscriber );
$request = new WP_REST_Request( 'POST', '/wp/v2/tags' );
$request->set_param( 'name', 'Incorrect permissions' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_cannot_create', $response, 403 );
}
public function test_create_item_missing_arguments() {
wp_set_current_user( self::$administrator );
$request = new WP_REST_Request( 'POST', '/wp/v2/tags' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_missing_callback_param', $response, 400 );
}
@ -645,7 +645,7 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
$request = new WP_REST_Request( 'POST', '/wp/v2/tags' );
$request->set_param( 'name', 'My Awesome Term' );
$request->set_param( 'parent', REST_TESTS_IMPOSSIBLY_HIGH_NUMBER );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_taxonomy_not_hierarchical', $response, 400 );
}
@ -661,7 +661,7 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
$request->set_param( 'name', 'New Name' );
$request->set_param( 'description', 'New Description' );
$request->set_param( 'slug', 'new-slug' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$data = $response->get_data();
$this->assertEquals( 'New Name', $data['name'] );
@ -675,16 +675,16 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
$request = new WP_REST_Request( 'PUT', '/wp/v2/tags/' . $term->term_id );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$request->set_param( 'slug', $term->slug );
// Run twice to make sure that the update still succeeds even if no DB
// rows are updated.
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
}
@ -692,7 +692,7 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
wp_set_current_user( self::$administrator );
$request = new WP_REST_Request( 'POST', '/wp/v2/tags/' . REST_TESTS_IMPOSSIBLY_HIGH_NUMBER );
$request->set_param( 'name', 'Invalid Term' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_term_invalid', $response, 404 );
}
@ -701,7 +701,7 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
$term = get_term_by( 'id', $this->factory->tag->create(), 'post_tag' );
$request = new WP_REST_Request( 'POST', '/wp/v2/tags/' . $term->term_id );
$request->set_param( 'name', 'Incorrect permissions' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_cannot_update', $response, 403 );
}
@ -715,7 +715,7 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
$request->set_param( 'name', 'New Name' );
add_filter( 'map_meta_cap', array( $this, 'grant_edit_term' ), 10, 2 );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
remove_filter( 'user_has_cap', array( $this, 'grant_edit_term' ), 10, 2 );
$this->assertEquals( 200, $response->get_status() );
@ -740,7 +740,7 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
$request->set_param( 'name', 'New Name' );
add_filter( 'map_meta_cap', array( $this, 'revoke_edit_term' ), 10, 2 );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
remove_filter( 'user_has_cap', array( $this, 'revoke_edit_term' ), 10, 2 );
$this->assertErrorResponse( 'rest_cannot_update', $response, 403 );
@ -759,7 +759,7 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
$request = new WP_REST_Request( 'POST', '/wp/v2/tags/' . $term->term_id );
$request->set_param( 'parent', REST_TESTS_IMPOSSIBLY_HIGH_NUMBER );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_taxonomy_not_hierarchical', $response, 400 );
}
@ -769,7 +769,7 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
foreach ( $input as $name => $value ) {
$request->set_param( $name, $value );
}
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 201, $response->get_status() );
$actual_output = $response->get_data();
@ -787,7 +787,7 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
foreach ( $input as $name => $value ) {
$request->set_param( $name, $value );
}
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$actual_output = $response->get_data();
@ -875,7 +875,7 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
$term = get_term_by( 'id', $this->factory->tag->create( array( 'name' => 'Deleted Tag' ) ), 'post_tag' );
$request = new WP_REST_Request( 'DELETE', '/wp/v2/tags/' . $term->term_id );
$request->set_param( 'force', true );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$data = $response->get_data();
$this->assertTrue( $data['deleted'] );
@ -887,18 +887,18 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
$term = get_term_by( 'id', $this->factory->tag->create( array( 'name' => 'Deleted Tag' ) ), 'post_tag' );
$request = new WP_REST_Request( 'DELETE', '/wp/v2/tags/' . $term->term_id );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_trash_not_supported', $response, 501 );
$request->set_param( 'force', 'false' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_trash_not_supported', $response, 501 );
}
public function test_delete_item_invalid_term() {
wp_set_current_user( self::$administrator );
$request = new WP_REST_Request( 'DELETE', '/wp/v2/tags/' . REST_TESTS_IMPOSSIBLY_HIGH_NUMBER );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_term_invalid', $response, 404 );
}
@ -906,7 +906,7 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
wp_set_current_user( self::$subscriber );
$term = get_term_by( 'id', $this->factory->tag->create(), 'post_tag' );
$request = new WP_REST_Request( 'DELETE', '/wp/v2/tags/' . $term->term_id );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_cannot_delete', $response, 403 );
}
@ -920,7 +920,7 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
$request->set_param( 'force', true );
add_filter( 'map_meta_cap', array( $this, 'grant_delete_term' ), 10, 2 );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
remove_filter( 'map_meta_cap', array( $this, 'grant_delete_term' ), 10, 2 );
$this->assertEquals( 200, $response->get_status() );
@ -946,7 +946,7 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
$request->set_param( 'force', true );
add_filter( 'map_meta_cap', array( $this, 'revoke_delete_term' ), 10, 2 );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
remove_filter( 'map_meta_cap', array( $this, 'revoke_delete_term' ), 10, 2 );
$this->assertErrorResponse( 'rest_cannot_delete', $response, 403 );
@ -962,7 +962,7 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
public function test_prepare_item() {
$term = get_term_by( 'id', $this->factory->tag->create(), 'post_tag' );
$request = new WP_REST_Request( 'GET', '/wp/v2/tags/' . $term->term_id );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->check_taxonomy_term( $term, $data, $response->get_links() );
@ -970,7 +970,7 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
public function test_get_item_schema() {
$request = new WP_REST_Request( 'OPTIONS', '/wp/v2/tags' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$properties = $data['schema']['properties'];
$this->assertEquals( 8, count( $properties ) );
@ -987,7 +987,7 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
public function test_get_item_schema_non_hierarchical() {
$request = new WP_REST_Request( 'OPTIONS', '/wp/v2/tags' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$properties = $data['schema']['properties'];
$this->assertArrayHasKey( 'id', $properties );
@ -1012,7 +1012,7 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
$request = new WP_REST_Request( 'OPTIONS', '/wp/v2/tags' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertArrayHasKey( 'my_custom_int', $data['schema']['properties'] );
$this->assertEquals( $schema, $data['schema']['properties']['my_custom_int'] );
@ -1020,7 +1020,7 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
$tag_id = $this->factory->tag->create();
$request = new WP_REST_Request( 'GET', '/wp/v2/tags/' . $tag_id );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertArrayHasKey( 'my_custom_int', $response->data );
global $wp_rest_additional_fields;
@ -1053,7 +1053,7 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
)
);
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_invalid_param', $response, 400 );
@ -1073,7 +1073,7 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
$request = new WP_REST_Request( 'GET', '/wp/v2/tags' );
$request->set_param( 'post', $p );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$found_1 = wp_list_pluck( $response->data, 'id' );
unset( $request, $response );
@ -1082,7 +1082,7 @@ class WP_Test_REST_Tags_Controller extends WP_Test_REST_Controller_Testcase {
$request = new WP_REST_Request( 'GET', '/wp/v2/tags' );
$request->set_param( 'post', $p );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$found_2 = wp_list_pluck( $response->data, 'id' );
$this->assertEqualSets( $found_1, $found_2 );

View File

@ -26,7 +26,7 @@ class WP_Test_REST_Taxonomies_Controller extends WP_Test_REST_Controller_Testcas
}
public function test_register_routes() {
$routes = $this->server->get_routes();
$routes = rest_get_server()->get_routes();
$this->assertArrayHasKey( '/wp/v2/taxonomies', $routes );
$this->assertArrayHasKey( '/wp/v2/taxonomies/(?P<taxonomy>[\w-]+)', $routes );
@ -35,13 +35,13 @@ class WP_Test_REST_Taxonomies_Controller extends WP_Test_REST_Controller_Testcas
public function test_context_param() {
// Collection
$request = new WP_REST_Request( 'OPTIONS', '/wp/v2/taxonomies' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 'view', $data['endpoints'][0]['args']['context']['default'] );
$this->assertEqualSets( array( 'view', 'edit', 'embed' ), $data['endpoints'][0]['args']['context']['enum'] );
// Single
$request = new WP_REST_Request( 'OPTIONS', '/wp/v2/taxonomies/post_tag' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 'view', $data['endpoints'][0]['args']['context']['default'] );
$this->assertEqualSets( array( 'view', 'edit', 'embed' ), $data['endpoints'][0]['args']['context']['enum'] );
@ -49,7 +49,7 @@ class WP_Test_REST_Taxonomies_Controller extends WP_Test_REST_Controller_Testcas
public function test_get_items() {
$request = new WP_REST_Request( 'GET', '/wp/v2/taxonomies' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$taxonomies = $this->get_public_taxonomies( get_taxonomies( '', 'objects' ) );
$this->assertEquals( count( $taxonomies ), count( $data ) );
@ -66,21 +66,21 @@ class WP_Test_REST_Taxonomies_Controller extends WP_Test_REST_Controller_Testcas
wp_set_current_user( 0 );
$request = new WP_REST_Request( 'GET', '/wp/v2/taxonomies' );
$request->set_param( 'context', 'edit' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_cannot_view', $response, 401 );
}
public function test_get_taxonomies_for_type() {
$request = new WP_REST_Request( 'GET', '/wp/v2/taxonomies' );
$request->set_param( 'type', 'post' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->check_taxonomies_for_type_response( 'post', $response );
}
public function test_get_taxonomies_for_invalid_type() {
$request = new WP_REST_Request( 'GET', '/wp/v2/taxonomies' );
$request->set_param( 'type', 'wingding' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$data = $response->get_data();
$this->assertEquals( '{}', json_encode( $data ) );
@ -88,7 +88,7 @@ class WP_Test_REST_Taxonomies_Controller extends WP_Test_REST_Controller_Testcas
public function test_get_item() {
$request = new WP_REST_Request( 'GET', '/wp/v2/taxonomies/category' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->check_taxonomy_object_response( 'view', $response );
}
@ -97,7 +97,7 @@ class WP_Test_REST_Taxonomies_Controller extends WP_Test_REST_Controller_Testcas
wp_set_current_user( $editor_id );
$request = new WP_REST_Request( 'GET', '/wp/v2/taxonomies/category' );
$request->set_param( 'context', 'edit' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->check_taxonomy_object_response( 'edit', $response );
}
@ -105,13 +105,13 @@ class WP_Test_REST_Taxonomies_Controller extends WP_Test_REST_Controller_Testcas
wp_set_current_user( 0 );
$request = new WP_REST_Request( 'GET', '/wp/v2/taxonomies/category' );
$request->set_param( 'context', 'edit' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_forbidden_context', $response, 401 );
}
public function test_get_invalid_taxonomy() {
$request = new WP_REST_Request( 'GET', '/wp/v2/taxonomies/invalid' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_taxonomy_invalid', $response, 404 );
}
@ -119,7 +119,7 @@ class WP_Test_REST_Taxonomies_Controller extends WP_Test_REST_Controller_Testcas
register_taxonomy( 'api-private', 'post', array( 'public' => false ) );
$request = new WP_REST_Request( 'GET', '/wp/v2/taxonomies/api-private' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_forbidden', $response, 401 );
}
@ -128,28 +128,28 @@ class WP_Test_REST_Taxonomies_Controller extends WP_Test_REST_Controller_Testcas
register_taxonomy( 'api-private', 'post', array( 'public' => false ) );
$request = new WP_REST_Request( 'GET', '/wp/v2/taxonomies/api-private' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertErrorResponse( 'rest_forbidden', $response, 403 );
}
public function test_create_item() {
/** Taxonomies can't be created */
$request = new WP_REST_Request( 'POST', '/wp/v2/taxonomies' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 404, $response->get_status() );
}
public function test_update_item() {
/** Taxonomies can't be updated */
$request = new WP_REST_Request( 'POST', '/wp/v2/taxonomies/category' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 404, $response->get_status() );
}
public function test_delete_item() {
/** Taxonomies can't be deleted */
$request = new WP_REST_Request( 'DELETE', '/wp/v2/taxonomies/category' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 404, $response->get_status() );
}
@ -164,7 +164,7 @@ class WP_Test_REST_Taxonomies_Controller extends WP_Test_REST_Controller_Testcas
public function test_get_item_schema() {
$request = new WP_REST_Request( 'OPTIONS', '/wp/v2/taxonomies' );
$response = $this->server->dispatch( $request );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$properties = $data['schema']['properties'];
$this->assertEquals( 9, count( $properties ) );

File diff suppressed because it is too large Load Diff