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/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.