Skip to content

Commit daa3b66

Browse files
committed
Improve permission check method name and fix test case name
1 parent fc2a70f commit daa3b66

File tree

3 files changed

+40
-7
lines changed

3 files changed

+40
-7
lines changed

plugins/optimization-detective/storage/class-od-rest-url-metrics-store-endpoint.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -100,19 +100,19 @@ public function get_registration_args(): array {
100100
rest_get_endpoint_args_for_schema( OD_Strict_URL_Metric::get_json_schema() )
101101
),
102102
'callback' => array( $this, 'handle_rest_request' ),
103-
'permission_callback' => array( $this, 'permission_callback' ),
103+
'permission_callback' => array( $this, 'store_permissions_check' ),
104104
);
105105
}
106106

107107
/**
108-
* Permission callback for the REST API endpoint.
108+
* Checks if a given request has access to store URL Metrics.
109109
*
110110
* @since n.e.x.t
111111
* @access private
112112
*
113113
* @return true|WP_Error True if the request has permission, WP_Error object otherwise.
114114
*/
115-
public function permission_callback() {
115+
public function store_permissions_check() {
116116

117117
// Needs to be available to unauthenticated visitors.
118118
if ( OD_Storage_Lock::is_locked() ) {

plugins/optimization-detective/tests/storage/test-class-od-rest-url-metrics-store-endpoint.php

Lines changed: 36 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,8 +92,9 @@ static function ( array $properties ) use ( $property_name ): array {
9292
* @dataProvider data_provider_to_test_rest_request_good_params
9393
*
9494
* @covers OD_REST_URL_Metrics_Store_Endpoint::get_registration_args
95-
* @covers OD_REST_URL_Metrics_Store_Endpoint::handle_rest_request
9695
* @covers OD_REST_URL_Metrics_Store_Endpoint::decompress_rest_request_body
96+
* @covers OD_REST_URL_Metrics_Store_Endpoint::store_permissions_check
97+
* @covers OD_REST_URL_Metrics_Store_Endpoint::handle_rest_request
9798
* @covers OD_Strict_URL_Metric::set_additional_properties_to_false
9899
* @covers OD_URL_Metric_Store_Request_Context::__construct
99100
* @covers OD_URL_Metric_Store_Request_Context::__get
@@ -181,6 +182,8 @@ function ( OD_URL_Metric_Store_Request_Context $context ) use ( &$stored_context
181182
* @dataProvider data_provider_to_test_rest_request_good_params
182183
*
183184
* @covers OD_REST_URL_Metrics_Store_Endpoint::get_registration_args
185+
* @covers OD_REST_URL_Metrics_Store_Endpoint::decompress_rest_request_body
186+
* @covers OD_REST_URL_Metrics_Store_Endpoint::store_permissions_check
184187
* @covers OD_REST_URL_Metrics_Store_Endpoint::handle_rest_request
185188
* @covers OD_Strict_URL_Metric::set_additional_properties_to_false
186189
*/
@@ -492,8 +495,9 @@ public function data_provider_invalid_params(): array {
492495
* Test bad params.
493496
*
494497
* @covers OD_REST_URL_Metrics_Store_Endpoint::get_registration_args
495-
* @covers OD_REST_URL_Metrics_Store_Endpoint::handle_rest_request
496498
* @covers OD_REST_URL_Metrics_Store_Endpoint::decompress_rest_request_body
499+
* @covers OD_REST_URL_Metrics_Store_Endpoint::store_permissions_check
500+
* @covers OD_REST_URL_Metrics_Store_Endpoint::handle_rest_request
497501
* @covers OD_Strict_URL_Metric::set_additional_properties_to_false
498502
*
499503
* @dataProvider data_provider_invalid_params
@@ -514,6 +518,8 @@ public function test_rest_request_bad_params( array $params, int $expected_statu
514518
* Test sending data when no Origin request header is sent.
515519
*
516520
* @covers OD_REST_URL_Metrics_Store_Endpoint::get_registration_args
521+
* @covers OD_REST_URL_Metrics_Store_Endpoint::decompress_rest_request_body
522+
* @covers OD_REST_URL_Metrics_Store_Endpoint::store_permissions_check
517523
* @covers OD_REST_URL_Metrics_Store_Endpoint::handle_rest_request
518524
* @covers OD_REST_URL_Metrics_Store_Endpoint::is_allowed_http_origin
519525
*/
@@ -530,6 +536,8 @@ public function test_rest_request_without_origin(): void {
530536
* Test sending data when a cross-domain Origin request header is sent.
531537
*
532538
* @covers OD_REST_URL_Metrics_Store_Endpoint::get_registration_args
539+
* @covers OD_REST_URL_Metrics_Store_Endpoint::decompress_rest_request_body
540+
* @covers OD_REST_URL_Metrics_Store_Endpoint::store_permissions_check
533541
* @covers OD_REST_URL_Metrics_Store_Endpoint::handle_rest_request
534542
* @covers OD_REST_URL_Metrics_Store_Endpoint::is_allowed_http_origin
535543
*/
@@ -547,6 +555,8 @@ public function test_rest_request_cross_origin(): void {
547555
* Test REST API request when 'home_url' is filtered.
548556
*
549557
* @covers OD_REST_URL_Metrics_Store_Endpoint::get_registration_args
558+
* @covers OD_REST_URL_Metrics_Store_Endpoint::decompress_rest_request_body
559+
* @covers OD_REST_URL_Metrics_Store_Endpoint::store_permissions_check
550560
* @covers OD_REST_URL_Metrics_Store_Endpoint::handle_rest_request
551561
* @covers OD_REST_URL_Metrics_Store_Endpoint::is_allowed_http_origin
552562
*/
@@ -566,6 +576,8 @@ static function ( string $url ): string {
566576
* Test not sending JSON data.
567577
*
568578
* @covers OD_REST_URL_Metrics_Store_Endpoint::get_registration_args
579+
* @covers OD_REST_URL_Metrics_Store_Endpoint::decompress_rest_request_body
580+
* @covers OD_REST_URL_Metrics_Store_Endpoint::store_permissions_check
569581
* @covers OD_REST_URL_Metrics_Store_Endpoint::handle_rest_request
570582
*/
571583
public function test_rest_request_not_json_data(): void {
@@ -582,6 +594,8 @@ public function test_rest_request_not_json_data(): void {
582594
* Test not sending JSON Content-Type.
583595
*
584596
* @covers OD_REST_URL_Metrics_Store_Endpoint::get_registration_args
597+
* @covers OD_REST_URL_Metrics_Store_Endpoint::decompress_rest_request_body
598+
* @covers OD_REST_URL_Metrics_Store_Endpoint::store_permissions_check
585599
* @covers OD_REST_URL_Metrics_Store_Endpoint::handle_rest_request
586600
*/
587601
public function test_rest_request_not_json_content_type(): void {
@@ -598,6 +612,8 @@ public function test_rest_request_not_json_content_type(): void {
598612
* Test empty array JSON body.
599613
*
600614
* @covers OD_REST_URL_Metrics_Store_Endpoint::get_registration_args
615+
* @covers OD_REST_URL_Metrics_Store_Endpoint::decompress_rest_request_body
616+
* @covers OD_REST_URL_Metrics_Store_Endpoint::store_permissions_check
601617
* @covers OD_REST_URL_Metrics_Store_Endpoint::handle_rest_request
602618
*/
603619
public function test_rest_request_empty_array_json_body(): void {
@@ -614,6 +630,8 @@ public function test_rest_request_empty_array_json_body(): void {
614630
* Test non-array JSON body.
615631
*
616632
* @covers OD_REST_URL_Metrics_Store_Endpoint::get_registration_args
633+
* @covers OD_REST_URL_Metrics_Store_Endpoint::decompress_rest_request_body
634+
* @covers OD_REST_URL_Metrics_Store_Endpoint::store_permissions_check
617635
* @covers OD_REST_URL_Metrics_Store_Endpoint::handle_rest_request
618636
*/
619637
public function test_rest_request_non_array_json_body(): void {
@@ -631,8 +649,9 @@ public function test_rest_request_non_array_json_body(): void {
631649
* Test invalid compressed JSON body.
632650
*
633651
* @covers OD_REST_URL_Metrics_Store_Endpoint::get_registration_args
634-
* @covers OD_REST_URL_Metrics_Store_Endpoint::handle_rest_request
635652
* @covers OD_REST_URL_Metrics_Store_Endpoint::decompress_rest_request_body
653+
* @covers OD_REST_URL_Metrics_Store_Endpoint::store_permissions_check
654+
* @covers OD_REST_URL_Metrics_Store_Endpoint::handle_rest_request
636655
*/
637656
public function test_rest_request_invalid_compressed_json_body(): void {
638657
$request = $this->create_request( $this->get_valid_params() );
@@ -647,6 +666,8 @@ public function test_rest_request_invalid_compressed_json_body(): void {
647666
* Test timestamp ignored.
648667
*
649668
* @covers OD_REST_URL_Metrics_Store_Endpoint::get_registration_args
669+
* @covers OD_REST_URL_Metrics_Store_Endpoint::decompress_rest_request_body
670+
* @covers OD_REST_URL_Metrics_Store_Endpoint::store_permissions_check
650671
* @covers OD_REST_URL_Metrics_Store_Endpoint::handle_rest_request
651672
*/
652673
public function test_rest_request_timestamp_ignored(): void {
@@ -680,6 +701,8 @@ public function test_rest_request_timestamp_ignored(): void {
680701
* Test REST API request when metric storage is locked.
681702
*
682703
* @covers OD_REST_URL_Metrics_Store_Endpoint::get_registration_args
704+
* @covers OD_REST_URL_Metrics_Store_Endpoint::decompress_rest_request_body
705+
* @covers OD_REST_URL_Metrics_Store_Endpoint::store_permissions_check
683706
* @covers OD_REST_URL_Metrics_Store_Endpoint::handle_rest_request
684707
*/
685708
public function test_rest_request_locked(): void {
@@ -696,6 +719,8 @@ public function test_rest_request_locked(): void {
696719
* Test sending viewport data that isn't needed for any breakpoint.
697720
*
698721
* @covers OD_REST_URL_Metrics_Store_Endpoint::get_registration_args
722+
* @covers OD_REST_URL_Metrics_Store_Endpoint::decompress_rest_request_body
723+
* @covers OD_REST_URL_Metrics_Store_Endpoint::store_permissions_check
699724
* @covers OD_REST_URL_Metrics_Store_Endpoint::handle_rest_request
700725
*/
701726
public function test_rest_request_breakpoint_not_needed_for_any_breakpoint(): void {
@@ -728,6 +753,8 @@ public function test_rest_request_breakpoint_not_needed_for_any_breakpoint(): vo
728753
* Test sending viewport data that isn't needed for a specific breakpoint.
729754
*
730755
* @covers OD_REST_URL_Metrics_Store_Endpoint::get_registration_args
756+
* @covers OD_REST_URL_Metrics_Store_Endpoint::decompress_rest_request_body
757+
* @covers OD_REST_URL_Metrics_Store_Endpoint::store_permissions_check
731758
* @covers OD_REST_URL_Metrics_Store_Endpoint::handle_rest_request
732759
*/
733760
public function test_rest_request_breakpoint_not_needed_for_specific_breakpoint(): void {
@@ -752,6 +779,8 @@ public function test_rest_request_breakpoint_not_needed_for_specific_breakpoint(
752779
* Test fully populating the wider viewport group and then adding one more.
753780
*
754781
* @covers OD_REST_URL_Metrics_Store_Endpoint::get_registration_args
782+
* @covers OD_REST_URL_Metrics_Store_Endpoint::decompress_rest_request_body
783+
* @covers OD_REST_URL_Metrics_Store_Endpoint::store_permissions_check
755784
* @covers OD_REST_URL_Metrics_Store_Endpoint::handle_rest_request
756785
*/
757786
public function test_rest_request_over_populate_wider_viewport_group(): void {
@@ -808,6 +837,8 @@ static function ( OD_URL_Metric_Group $group ) {
808837
* Test fully populating the narrower viewport group and then adding one more.
809838
*
810839
* @covers OD_REST_URL_Metrics_Store_Endpoint::get_registration_args
840+
* @covers OD_REST_URL_Metrics_Store_Endpoint::decompress_rest_request_body
841+
* @covers OD_REST_URL_Metrics_Store_Endpoint::store_permissions_check
811842
* @covers OD_REST_URL_Metrics_Store_Endpoint::handle_rest_request
812843
*/
813844
public function test_rest_request_over_populate_narrower_viewport_group(): void {
@@ -862,6 +893,8 @@ public function test_od_decompress_rest_request_body_modifies_request(): void {
862893
* @dataProvider data_provider_maximum_url_metrics_size_filter
863894
*
864895
* @covers OD_REST_URL_Metrics_Store_Endpoint::get_registration_args
896+
* @covers OD_REST_URL_Metrics_Store_Endpoint::decompress_rest_request_body
897+
* @covers OD_REST_URL_Metrics_Store_Endpoint::store_permissions_check
865898
* @covers OD_REST_URL_Metrics_Store_Endpoint::handle_rest_request
866899
* @covers ::od_get_maximum_url_metric_size
867900
*

plugins/optimization-detective/tests/test-detection.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,7 @@ public function test_od_get_detection_script_returns_script( Closure $set_up, ar
248248
* @covers ::od_register_rest_url_metric_store_endpoint
249249
* @covers OD_REST_URL_Metrics_Store_Endpoint::get_registration_args
250250
*/
251-
public function od_register_rest_url_metric_store_endpoint(): void {
251+
public function test_od_register_rest_url_metric_store_endpoint(): void {
252252
$this->assertFalse( has_filter( 'rest_pre_dispatch' ) );
253253
$routes = rest_get_server()->get_routes();
254254
$this->assertArrayHasKey( '/' . OD_REST_URL_Metrics_Store_Endpoint::ROUTE_NAMESPACE . OD_REST_URL_Metrics_Store_Endpoint::ROUTE_BASE, $routes );

0 commit comments

Comments
 (0)