Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
11/03/2024 06:19:06 PM (5 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/activity/test-controller.php

    r14026 r14070  
    3232     */
    3333    public function test_get_items() {
    34         $this->bp::set_current_user( $this->user );
     34        wp_set_current_user( $this->user );
    3535
    3636        $this->bp::factory()->activity->create_many( 3 );
     
    8383        );
    8484
    85         $this->bp::set_current_user( $this->user );
     85        wp_set_current_user( $this->user );
    8686
    8787        $request = new WP_REST_Request( 'GET', $this->endpoint_url );
     
    106106     */
    107107    public function test_get_items_with_invalid_type() {
    108         $this->bp::set_current_user( $this->user );
     108        wp_set_current_user( $this->user );
    109109
    110110        $request = new WP_REST_Request( 'GET', $this->endpoint_url );
     
    159159
    160160        $u = static::factory()->user->create();
    161         $this->bp::set_current_user( $u );
     161        wp_set_current_user( $u );
    162162
    163163        $request = new WP_REST_Request( 'GET', $this->endpoint_url );
     
    224224
    225225        $u = static::factory()->user->create();
    226         $this->bp::set_current_user( $u );
     226        wp_set_current_user( $u );
    227227
    228228        $request = new WP_REST_Request( 'GET', $this->endpoint_url );
     
    247247
    248248        $u = static::factory()->user->create();
    249         $this->bp::set_current_user( $u );
     249        wp_set_current_user( $u );
    250250
    251251        // Current user is $u.
     
    308308
    309309        $u = static::factory()->user->create();
    310         $this->bp::set_current_user( $u );
     310        wp_set_current_user( $u );
    311311
    312312        // Current user is $u.
     
    353353
    354354        $u = static::factory()->user->create();
    355         $this->bp::set_current_user( $u );
     355        wp_set_current_user( $u );
    356356
    357357        // Current user is $u.
     
    413413
    414414        $u = static::factory()->user->create();
    415         $this->bp::set_current_user( $this->user );
     415        wp_set_current_user( $this->user );
    416416
    417417        $g1 = $this->bp::factory()->group->create(
     
    435435        );
    436436
    437         $this->bp::set_current_user( $u );
     437        wp_set_current_user( $u );
    438438
    439439        $request = new WP_REST_Request( 'GET', $this->endpoint_url );
     
    461461
    462462        $u = static::factory()->user->create();
    463         $this->bp::set_current_user( $this->user );
     463        wp_set_current_user( $this->user );
    464464
    465465        $g2 = $this->bp::factory()->group->create(
     
    483483        );
    484484
    485         $this->bp::set_current_user( $u );
     485        wp_set_current_user( $u );
    486486
    487487        $request = new WP_REST_Request( 'GET', $this->endpoint_url );
     
    509509
    510510        $u = static::factory()->user->create();
    511         $this->bp::set_current_user( $u );
     511        wp_set_current_user( $u );
    512512
    513513        // Current user is $u.
     
    551551    public function test_get_paginated_items() {
    552552        $u = static::factory()->user->create();
    553         $this->bp::set_current_user( $u );
     553        wp_set_current_user( $u );
    554554
    555555        $a = $this->bp::factory()->activity->create( array( 'user_id' => $u ) );
     
    582582    public function test_get_items_with_the_groups_scope() {
    583583        $u = static::factory()->user->create();
    584         $this->bp::set_current_user( $u );
     584        wp_set_current_user( $u );
    585585
    586586        $component = buddypress()->groups->id;
     
    634634     */
    635635    public function test_get_items_with_favorite() {
    636         $this->bp::set_current_user( $this->user );
     636        wp_set_current_user( $this->user );
    637637
    638638        $this->bp::factory()->activity->create_many( 2 );
     
    640640
    641641        $u = static::factory()->user->create();
    642         $this->bp::set_current_user( $u );
     642        wp_set_current_user( $u );
    643643
    644644        bp_activity_add_user_favorite( $a1, $u );
     
    660660    public function test_get_items_with_no_favorite() {
    661661        $u = static::factory()->user->create();
    662         $this->bp::set_current_user( $u );
     662        wp_set_current_user( $u );
    663663
    664664        $this->bp::factory()->activity->create_many( 3, array( 'user_id' => $u ) );
     
    683683     */
    684684    public function test_get_item() {
    685         $this->bp::set_current_user( $this->user );
     685        wp_set_current_user( $this->user );
    686686
    687687        $activity = $this->endpoint->get_activity_object( $this->activity_id );
     
    722722        $u1        = static::factory()->user->create();
    723723
    724         $this->bp::set_current_user( $u1 );
     724        wp_set_current_user( $u1 );
    725725
    726726        $g1 = $this->bp::factory()->group->create(
     
    767767        );
    768768
    769         $this->bp::set_current_user( $u2 );
     769        wp_set_current_user( $u2 );
    770770
    771771        $a1 = $this->bp::factory()->activity->create(
     
    800800        );
    801801
    802         $this->bp::set_current_user( $u2 );
     802        wp_set_current_user( $u2 );
    803803
    804804        $a1 = $this->bp::factory()->activity->create(
     
    845845
    846846        // Non-authenticated.
    847         $this->bp::set_current_user( 0 );
     847        wp_set_current_user( 0 );
    848848        $response = $this->server->dispatch( $request );
    849849        $this->assertEquals( 401, $response->get_status() );
     
    851851        // Not a member of the group.
    852852        $u = static::factory()->user->create();
    853         $this->bp::set_current_user( $u );
     853        wp_set_current_user( $u );
    854854
    855855        $response = $this->server->dispatch( $request );
     
    873873     */
    874874    public function test_render_item() {
    875         $this->bp::set_current_user( $this->user );
     875        wp_set_current_user( $this->user );
    876876
    877877        $a = $this->bp::factory()->activity->create(
     
    895895     */
    896896    public function test_render_item_with_embed_post() {
    897         $this->bp::set_current_user( $this->user );
     897        wp_set_current_user( $this->user );
    898898        $p = static::factory()->post->create();
    899899
     
    918918     */
    919919    public function test_create_item() {
    920         $this->bp::set_current_user( $this->user );
     920        wp_set_current_user( $this->user );
    921921
    922922        $request = new WP_REST_Request( 'POST', $this->endpoint_url );
     
    935935     */
    936936    public function test_rest_create_item() {
    937         $this->bp::set_current_user( $this->user );
     937        wp_set_current_user( $this->user );
    938938
    939939        $request = new WP_REST_Request( 'POST', $this->endpoint_url );
     
    952952     */
    953953    public function test_create_item_with_no_content() {
    954         $this->bp::set_current_user( $this->user );
     954        wp_set_current_user( $this->user );
    955955
    956956        $request = new WP_REST_Request( 'POST', $this->endpoint_url );
     
    984984     */
    985985    public function test_create_item_in_a_group() {
    986         $this->bp::set_current_user( $this->user );
     986        wp_set_current_user( $this->user );
    987987        $g = $this->bp::factory()->group->create(
    988988            array(
     
    10121012     */
    10131013    public function test_create_item_in_a_private_group() {
    1014         $this->bp::set_current_user( $this->user );
     1014        wp_set_current_user( $this->user );
    10151015        $g = $this->bp::factory()->group->create(
    10161016            array(
     
    10411041     */
    10421042    public function test_create_item_in_an_hidden_group() {
    1043         $this->bp::set_current_user( $this->user );
     1043        wp_set_current_user( $this->user );
    10441044        $g = $this->bp::factory()->group->create(
    10451045            array(
     
    10701070     */
    10711071    public function test_create_item_and_get_comment() {
    1072         $this->bp::set_current_user( $this->user );
     1072        wp_set_current_user( $this->user );
    10731073
    10741074        $a = $this->bp::factory()->activity->create(
     
    10821082        $u = static::factory()->user->create();
    10831083
    1084         $this->bp::set_current_user( $u );
     1084        wp_set_current_user( $u );
    10851085
    10861086        $request = new WP_REST_Request( 'POST', $this->endpoint_url );
     
    11431143        );
    11441144
    1145         $this->bp::set_current_user( $u );
     1145        wp_set_current_user( $u );
    11461146
    11471147        // Add a reply to c
     
    11871187     */
    11881188    public function test_create_item_and_get_comment_in_a_group() {
    1189         $this->bp::set_current_user( $this->user );
     1189        wp_set_current_user( $this->user );
    11901190
    11911191        $g = $this->bp::factory()->group->create(
     
    12061206        $u = static::factory()->user->create();
    12071207
    1208         $this->bp::set_current_user( $u );
     1208        wp_set_current_user( $u );
    12091209        groups_join_group( $g, $u );
    12101210
     
    12481248     */
    12491249    public function test_create_item_with_no_content_in_a_group() {
    1250         $this->bp::set_current_user( $this->user );
     1250        wp_set_current_user( $this->user );
    12511251        $g = $this->bp::factory()->group->create(
    12521252            array(
     
    12771277     */
    12781278    public function test_create_blog_post_item() {
    1279         $this->bp::set_current_user( $this->user );
     1279        wp_set_current_user( $this->user );
    12801280        $p = static::factory()->post->create();
    12811281
     
    13201320     */
    13211321    public function test_update_item() {
    1322         $this->bp::set_current_user( $this->user );
     1322        wp_set_current_user( $this->user );
    13231323
    13241324        $activity = $this->endpoint->get_activity_object( $this->activity_id );
     
    13521352        $activity_id   = $this->bp::factory()->activity->create( array( 'recorded_time' => $activity_date ) );
    13531353
    1354         $this->bp::set_current_user( $this->user );
     1354        wp_set_current_user( $this->user );
    13551355
    13561356        $request = new WP_REST_Request( 'PUT', sprintf( $this->endpoint_url . '/%d', $activity_id ) );
     
    13741374     */
    13751375    public function test_update_item_posted_in_a_group() {
    1376         $this->bp::set_current_user( $this->user );
     1376        wp_set_current_user( $this->user );
    13771377
    13781378        $g = $this->bp::factory()->group->create(
     
    14251425     */
    14261426    public function test_update_item_invalid_id() {
    1427         $this->bp::set_current_user( $this->user );
     1427        wp_set_current_user( $this->user );
    14281428
    14291429        $request = new WP_REST_Request( 'PUT', sprintf( $this->endpoint_url . '/%d', REST_TESTS_IMPOSSIBLY_HIGH_NUMBER ) );
     
    14611461
    14621462        $u2 = static::factory()->user->create();
    1463         $this->bp::set_current_user( $u2 );
     1463        wp_set_current_user( $u2 );
    14641464
    14651465        $activity = $this->endpoint->get_activity_object( $a );
     
    14841484        $a = $this->bp::factory()->activity->create( array( 'user_id' => $u ) );
    14851485
    1486         $this->bp::set_current_user( $u );
     1486        wp_set_current_user( $u );
    14871487
    14881488        $activity = $this->endpoint->get_activity_object( $a );
     
    15061506        $a = $this->bp::factory()->activity->create( array( 'user_id' => $u ) );
    15071507
    1508         $this->bp::set_current_user( $u );
     1508        wp_set_current_user( $u );
    15091509
    15101510        $activity = $this->endpoint->get_activity_object( $a );
     
    15281528     */
    15291529    public function test_delete_item() {
    1530         $this->bp::set_current_user( $this->user );
     1530        wp_set_current_user( $this->user );
    15311531
    15321532        $activity_id = $this->bp::factory()->activity->create(
     
    15561556     */
    15571557    public function test_delete_item_invalid_id() {
    1558         $this->bp::set_current_user( $this->user );
     1558        wp_set_current_user( $this->user );
    15591559
    15601560        $request = new WP_REST_Request( 'DELETE', sprintf( $this->endpoint_url . '/%d', REST_TESTS_IMPOSSIBLY_HIGH_NUMBER ) );
     
    15871587
    15881588        $u2 = static::factory()->user->create();
    1589         $this->bp::set_current_user( $u2 );
     1589        wp_set_current_user( $u2 );
    15901590
    15911591        $activity = $this->endpoint->get_activity_object( $activity_id );
     
    16101610
    16111611        $u = static::factory()->user->create();
    1612         $this->bp::set_current_user( $u );
     1612        wp_set_current_user( $u );
    16131613
    16141614        $request = new WP_REST_Request( 'PUT', sprintf( $this->endpoint_url . '/%d/favorite', $a ) );
     
    16381638
    16391639        $u = static::factory()->user->create();
    1640         $this->bp::set_current_user( $u );
     1640        wp_set_current_user( $u );
    16411641
    16421642        bp_activity_add_user_favorite( $a, $u );
     
    16641664
    16651665        $u = static::factory()->user->create();
    1666         $this->bp::set_current_user( $u );
     1666        wp_set_current_user( $u );
    16671667
    16681668        add_filter( 'bp_activity_can_favorite', '__return_false' );
     
    16791679
    16801680    public function test_prepare_item() {
    1681         $this->bp::set_current_user( $this->user );
     1681        wp_set_current_user( $this->user );
    16821682
    16831683        $activity = $this->endpoint->get_activity_object( $this->activity_id );
     
    17161716        );
    17171717
    1718         $this->bp::set_current_user( $this->user );
     1718        wp_set_current_user( $this->user );
    17191719        $expected = 'bar_value';
    17201720
     
    17601760        );
    17611761
    1762         $this->bp::set_current_user( $this->user );
     1762        wp_set_current_user( $this->user );
    17631763        $expected = 'foo_value';
    17641764        $a_id     = $this->bp::factory()->activity->create();
Note: See TracChangeset for help on using the changeset viewer.