From fefc39ff09b846ca00e0ba97aec85c28cc88258e Mon Sep 17 00:00:00 2001 From: Herm Martini Date: Tue, 8 Jun 2021 12:53:03 -0700 Subject: [PATCH 1/2] fix(rest-api): tests for autosave post ID checks Adds three tests for the autosave controller's checks for valid post IDs. The first already passes because of a check performed by `create_item_permissions_check`. The next two tests check the updated methods directly without doing a full REST dispatch. Trac ticket: https://core.trac.wordpress.org/ticket/52925 --- .../rest-api/rest-autosaves-controller.php | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/tests/phpunit/tests/rest-api/rest-autosaves-controller.php b/tests/phpunit/tests/rest-api/rest-autosaves-controller.php index 0984bd3f838bf..58d5ee4b19089 100644 --- a/tests/phpunit/tests/rest-api/rest-autosaves-controller.php +++ b/tests/phpunit/tests/rest-api/rest-autosaves-controller.php @@ -319,6 +319,49 @@ public function test_create_item() { $this->check_create_autosave_response( $response ); } + /** + * @group 52925 + */ + public function test_create_item_invalid_integration() { + $request = new WP_REST_Request( 'POST', '/wp/v2/posts/' . self::$post_id . '/autosaves' ); + $request->add_header( 'content-type', 'application/x-www-form-urlencoded' ); + $params = $this->set_post_data( + array( + 'id' => REST_TESTS_IMPOSSIBLY_HIGH_NUMBER, + ) + ); + $request->set_body_params( $params ); + + $response = rest_get_server()->dispatch( $request ); + $this->assertErrorResponse( 'rest_post_invalid_id', $response, 404 ); + } + + /** + * @group 52925 + */ + public function test_create_item_invalid_unit() { + $autosaves_controller = new WP_REST_Autosaves_Controller('post'); + $response = $autosaves_controller->create_item( + array( + 'id' => REST_TESTS_IMPOSSIBLY_HIGH_NUMBER + ) + ); + $this->assertErrorResponse( 'rest_post_invalid_id', $response, 404 ); + } + + /** + * @group 52925 + */ + public function test_create_post_autosave_invalid() { + $autosaves_controller = new WP_REST_Autosaves_Controller('post'); + $response = $autosaves_controller->create_post_autosave( + array( + 'ID' => REST_TESTS_IMPOSSIBLY_HIGH_NUMBER + ) + ); + $this->assertErrorResponse( 'rest_post_invalid_id', $response, 404 ); + } + public function test_update_item() { wp_set_current_user( self::$editor_id ); $request = new WP_REST_Request( 'POST', '/wp/v2/posts/' . self::$post_id . '/autosaves' ); From 56becc66e240defcc7d58fd132da82d249bf59ac Mon Sep 17 00:00:00 2001 From: Herm Martini Date: Tue, 8 Jun 2021 13:40:15 -0700 Subject: [PATCH 2/2] fix(rest-api): change group annotation to ticket --- tests/phpunit/tests/rest-api/rest-autosaves-controller.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/phpunit/tests/rest-api/rest-autosaves-controller.php b/tests/phpunit/tests/rest-api/rest-autosaves-controller.php index 58d5ee4b19089..aad447031bbcb 100644 --- a/tests/phpunit/tests/rest-api/rest-autosaves-controller.php +++ b/tests/phpunit/tests/rest-api/rest-autosaves-controller.php @@ -320,7 +320,7 @@ public function test_create_item() { } /** - * @group 52925 + * @ticket 52925 */ public function test_create_item_invalid_integration() { $request = new WP_REST_Request( 'POST', '/wp/v2/posts/' . self::$post_id . '/autosaves' ); @@ -337,7 +337,7 @@ public function test_create_item_invalid_integration() { } /** - * @group 52925 + * @ticket 52925 */ public function test_create_item_invalid_unit() { $autosaves_controller = new WP_REST_Autosaves_Controller('post'); @@ -350,7 +350,7 @@ public function test_create_item_invalid_unit() { } /** - * @group 52925 + * @ticket 52925 */ public function test_create_post_autosave_invalid() { $autosaves_controller = new WP_REST_Autosaves_Controller('post');