Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
11/03/2024 06:19:06 PM (21 months ago)
Author:
espellcaste
Message:

A user is no longer de-authenticated when making REST API requests.

We are introducing a new BP_LoggedIn_User class to fetch data about a BuddyPress logged-in user. This new addition fixes an issue where a user could be de-authenticated when making REST API requests.

Props dcavins, DJPaul, johnjamesjacoby, and imath.

Closes https://github.com/buddypress/buddypress/pull/395
See #9229 and #9145
Fixes #7658

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/testcases/groups/test-controller.php

    r14026 r14070  
    3838         */
    3939        public function test_get_items() {
    40                 $this->bp::set_current_user( $this->user );
     40                wp_set_current_user( $this->user );
    4141
    4242                $this->bp::factory()->group->create_many( 3 );
     
    8181                $this->bp::add_user_to_group( $u, $g2 );
    8282
    83                 $this->bp::set_current_user( $u );
     83                wp_set_current_user( $u );
    8484
    8585                $request = new WP_REST_Request( 'GET', $this->endpoint_url );
     
    124124                $this->bp::add_user_to_group( $u, $g2 );
    125125
    126                 $this->bp::set_current_user( $u );
     126                wp_set_current_user( $u );
    127127
    128128                $request = new WP_REST_Request( 'GET', $this->endpoint_url );
     
    160160
    161161                $this->bp::add_user_to_group( $u, $g );
    162                 $this->bp::set_current_user( $u );
     162                wp_set_current_user( $u );
    163163
    164164                $request = new WP_REST_Request( 'GET', $this->endpoint_url );
     
    201201                $this->bp::add_user_to_group( $u, $g6 );
    202202
    203                 $this->bp::set_current_user( $u );
     203                wp_set_current_user( $u );
    204204
    205205                $request = new WP_REST_Request( 'GET', $this->endpoint_url );
     
    271271         */
    272272        public function test_get_items_edit_context_users_private_data() {
    273                 $this->bp::set_current_user( $this->user );
     273                wp_set_current_user( $this->user );
    274274
    275275                $this->bp::factory()->group->create();
     
    302302                $u2 = $this->bp::factory()->user->create();
    303303
    304                 $this->bp::set_current_user( $u1 );
     304                wp_set_current_user( $u1 );
    305305
    306306                $now = time();
     
    347347         */
    348348        public function test_get_items_with_group_types() {
    349                 $this->bp::set_current_user( $this->user );
     349                wp_set_current_user( $this->user );
    350350
    351351                bp_groups_register_group_type( 'foo' );
     
    383383        public function test_get_item() {
    384384                $u = static::factory()->user->create();
    385                 $this->bp::set_current_user( $u );
     385                wp_set_current_user( $u );
    386386
    387387                $group = $this->endpoint->get_group_object( $this->group_id );
     
    434434         */
    435435        public function test_get_item_invalid_group_id() {
    436                 $this->bp::set_current_user( $this->user );
     436                wp_set_current_user( $this->user );
    437437
    438438                $request  = new WP_REST_Request( 'GET', sprintf( $this->endpoint_url . '/%d', REST_TESTS_IMPOSSIBLY_HIGH_NUMBER ) );
     
    456456
    457457                $this->bp::add_user_to_group( $u, $group->id );
    458                 $this->bp::set_current_user( $u );
     458                wp_set_current_user( $u );
    459459
    460460                $request = new WP_REST_Request( 'GET', sprintf( $this->endpoint_url . '/%d', $group->id ) );
     
    482482                $group = $this->endpoint->get_group_object( $g );
    483483
    484                 $this->bp::set_current_user( $u );
     484                wp_set_current_user( $u );
    485485
    486486                $request = new WP_REST_Request( 'GET', sprintf( $this->endpoint_url . '/%d', $group->id ) );
     
    497497        public function test_get_item_with_avatar() {
    498498                $u = static::factory()->user->create();
    499                 $this->bp::set_current_user( $u );
     499                wp_set_current_user( $u );
    500500
    501501                $group = $this->endpoint->get_group_object( $this->group_id );
     
    517517        public function test_get_item_without_avatar() {
    518518                $u = static::factory()->user->create();
    519                 $this->bp::set_current_user( $u );
     519                wp_set_current_user( $u );
    520520
    521521                $group = $this->endpoint->get_group_object( $this->group_id );
     
    539539        public function test_get_item_extra() {
    540540                $u = static::factory()->user->create();
    541                 $this->bp::set_current_user( $u );
     541                wp_set_current_user( $u );
    542542
    543543                $group = $this->endpoint->get_group_object( $this->group_id );
     
    561561         */
    562562        public function test_render_item() {
    563                 $this->bp::set_current_user( $this->user );
     563                wp_set_current_user( $this->user );
    564564
    565565                $g = $this->bp::factory()->group->create(
     
    583583         */
    584584        public function test_create_item() {
    585                 $this->bp::set_current_user( $this->user );
     585                wp_set_current_user( $this->user );
    586586
    587587                $request = new WP_REST_Request( 'POST', $this->endpoint_url );
     
    600600         */
    601601        public function test_rest_create_item() {
    602                 $this->bp::set_current_user( $this->user );
     602                wp_set_current_user( $this->user );
    603603
    604604                $request = new WP_REST_Request( 'POST', $this->endpoint_url );
     
    619619                bp_groups_register_group_type( 'foo' );
    620620
    621                 $this->bp::set_current_user( $this->user );
     621                wp_set_current_user( $this->user );
    622622
    623623                $request = new WP_REST_Request( 'POST', $this->endpoint_url );
     
    636636         */
    637637        public function test_create_item_with_no_name() {
    638                 $this->bp::set_current_user( $this->user );
     638                wp_set_current_user( $this->user );
    639639
    640640                $request = new WP_REST_Request( 'POST', $this->endpoint_url );
     
    686686                $this->assertEquals( $this->group_id, $group->id );
    687687
    688                 $this->bp::set_current_user( $this->user );
     688                wp_set_current_user( $this->user );
    689689
    690690                $request = new WP_REST_Request( 'PUT', sprintf( $this->endpoint_url . '/%d', $group->id ) );
     
    714714                bp_groups_set_group_type( $this->group_id, 'bar' );
    715715
    716                 $this->bp::set_current_user( $this->user );
     716                wp_set_current_user( $this->user );
    717717
    718718                $request = new WP_REST_Request( 'PUT', sprintf( $this->endpoint_url . '/%d', $this->group_id ) );
     
    735735                bp_groups_set_group_type( $this->group_id, 'bar' );
    736736
    737                 $this->bp::set_current_user( $this->user );
     737                wp_set_current_user( $this->user );
    738738
    739739                $request = new WP_REST_Request( 'PUT', sprintf( $this->endpoint_url . '/%d', $this->group_id ) );
     
    757757                bp_groups_set_group_type( $this->group_id, 'bar' );
    758758
    759                 $this->bp::set_current_user( $this->user );
     759                wp_set_current_user( $this->user );
    760760
    761761                $request = new WP_REST_Request( 'PUT', sprintf( $this->endpoint_url . '/%d', $this->group_id ) );
     
    774774         */
    775775        public function test_update_item_invalid_id() {
    776                 $this->bp::set_current_user( $this->user );
     776                wp_set_current_user( $this->user );
    777777
    778778                $request  = new WP_REST_Request( 'PUT', sprintf( $this->endpoint_url . '/%d', REST_TESTS_IMPOSSIBLY_HIGH_NUMBER ) );
     
    804804
    805805                $u2 = static::factory()->user->create();
    806                 $this->bp::set_current_user( $u2 );
     806                wp_set_current_user( $u2 );
    807807
    808808                $group = $this->endpoint->get_group_object( $a );
     
    823823         */
    824824        public function test_site_admins_can_update_item() {
    825                 $this->bp::set_current_user( $this->user );
     825                wp_set_current_user( $this->user );
    826826
    827827                $request = new WP_REST_Request( 'PUT', sprintf( $this->endpoint_url . '/%d', $this->group_id ) );
     
    851851                $this->bp::add_user_to_group( $u, $this->group_id, array( 'is_admin' => true ) );
    852852
    853                 $this->bp::set_current_user( $u );
     853                wp_set_current_user( $u );
    854854
    855855                $request = new WP_REST_Request( 'PUT', sprintf( $this->endpoint_url . '/%d', $this->group_id ) );
     
    879879                $this->bp::add_user_to_group( $u, $this->group_id, array( 'is_mod' => true ) );
    880880
    881                 $this->bp::set_current_user( $u );
     881                wp_set_current_user( $u );
    882882
    883883                $request = new WP_REST_Request( 'PUT', sprintf( $this->endpoint_url . '/%d', $this->group_id ) );
     
    897897        public function test_update_item_invalid_status() {
    898898                $group = $this->endpoint->get_group_object( $this->group_id );
    899                 $this->bp::set_current_user( $this->user );
     899                wp_set_current_user( $this->user );
    900900
    901901                $request = new WP_REST_Request( 'PUT', sprintf( $this->endpoint_url . '/%d', $group->id ) );
     
    914914         */
    915915        public function test_delete_item() {
    916                 $this->bp::set_current_user( $this->user );
     916                wp_set_current_user( $this->user );
    917917
    918918                $request = new WP_REST_Request( 'DELETE', sprintf( $this->endpoint_url . '/%d', $this->group_id ) );
     
    930930         */
    931931        public function test_delete_item_invalid_id() {
    932                 $this->bp::set_current_user( $this->user );
     932                wp_set_current_user( $this->user );
    933933
    934934                $request  = new WP_REST_Request( 'DELETE', sprintf( $this->endpoint_url . '/%d', REST_TESTS_IMPOSSIBLY_HIGH_NUMBER ) );
     
    952952         */
    953953        public function test_delete_item_without_permission() {
    954                 $this->bp::set_current_user( static::factory()->user->create() );
     954                wp_set_current_user( static::factory()->user->create() );
    955955
    956956                $request  = new WP_REST_Request( 'DELETE', sprintf( $this->endpoint_url . '/%d', $this->group_id ) );
     
    969969                $this->bp::add_user_to_group( $u, $this->group_id, array( 'is_mod' => true ) );
    970970
    971                 $this->bp::set_current_user( $u );
     971                wp_set_current_user( $u );
    972972
    973973                $request  = new WP_REST_Request( 'DELETE', sprintf( $this->endpoint_url . '/%d', $this->group_id ) );
     
    981981         */
    982982        public function test_site_admins_can_delete_group() {
    983                 $this->bp::set_current_user( $this->user );
     983                wp_set_current_user( $this->user );
    984984
    985985                $request = new WP_REST_Request( 'DELETE', sprintf( $this->endpoint_url . '/%d', $this->group_id ) );
     
    10021002                $this->bp::add_user_to_group( $u, $this->group_id, array( 'is_admin' => true ) );
    10031003
    1004                 $this->bp::set_current_user( $u );
     1004                wp_set_current_user( $u );
    10051005
    10061006                $request = new WP_REST_Request( 'DELETE', sprintf( $this->endpoint_url . '/%d', $this->group_id ) );
     
    10191019        public function test_get_current_user_groups() {
    10201020                $u = static::factory()->user->create();
    1021                 $this->bp::set_current_user( $u );
     1021                wp_set_current_user( $u );
    10221022
    10231023                $groups = array();
     
    10461046        public function test_get_current_user_groups_max_one() {
    10471047                $u = static::factory()->user->create();
    1048                 $this->bp::set_current_user( $u );
     1048                wp_set_current_user( $u );
    10491049
    10501050                $groups = array();
     
    10841084
    10851085        public function test_prepare_item() {
    1086                 $this->bp::set_current_user( $this->user );
     1086                wp_set_current_user( $this->user );
    10871087
    10881088                $group = $this->endpoint->get_group_object( $this->group_id );
     
    12611261                );
    12621262
    1263                 $this->bp::set_current_user( $this->user );
     1263                wp_set_current_user( $this->user );
    12641264                $expected = 'bar_value';
    12651265
     
    13071307                );
    13081308
    1309                 $this->bp::set_current_user( $this->user );
     1309                wp_set_current_user( $this->user );
    13101310
    13111311                $expected = 'foo_value';
Note: See TracChangeset for help on using the changeset viewer.