Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
11/03/2024 06:19:06 PM (13 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/class-bp-groups-group.php

    r13980 r14070  
    976976
    977977        // Instantiate group object.
    978         self::set_current_user( $u );
     978        wp_set_current_user( $u );
    979979        $group = new BP_Groups_Group( $g );
    980980
     
    982982        $this->assertTrue( ! empty( $group->is_member ) );
    983983
    984         self::set_current_user( $this->old_current_user );
     984        wp_set_current_user( $this->old_current_user );
    985985    }
    986986
     
    14701470
    14711471        $old_user = get_current_user_id();
    1472         self::set_current_user( 0 );
     1472        wp_set_current_user( 0 );
    14731473
    14741474        $this->assertEquals( $expected, BP_Groups_Group::get_group_extras( $paged_groups, $group_ids ) );
    14751475
    1476         self::set_current_user( $old_user );
     1476        wp_set_current_user( $old_user );
    14771477    }
    14781478
     
    15011501
    15021502        $old_user = get_current_user_id();
    1503         self::set_current_user( $u );
     1503        wp_set_current_user( $u );
    15041504
    15051505        $this->assertEquals( $expected, BP_Groups_Group::get_group_extras( $paged_groups, $group_ids ) );
    15061506
    1507         self::set_current_user( $old_user );
     1507        wp_set_current_user( $old_user );
    15081508    }
    15091509
     
    15331533
    15341534        $old_user = get_current_user_id();
    1535         self::set_current_user( $u );
     1535        wp_set_current_user( $u );
    15361536
    15371537        $this->assertEquals( $expected, BP_Groups_Group::get_group_extras( $paged_groups, $group_ids ) );
    15381538
    1539         self::set_current_user( $old_user );
     1539        wp_set_current_user( $old_user );
    15401540    }
    15411541
     
    15731573
    15741574        $old_user = get_current_user_id();
    1575         self::set_current_user( $u );
     1575        wp_set_current_user( $u );
    15761576
    15771577        $this->assertEquals( $expected, BP_Groups_Group::get_group_extras( $paged_groups, $group_ids ) );
    15781578
    1579         self::set_current_user( $old_user );
     1579        wp_set_current_user( $old_user );
    15801580    }
    15811581
     
    16101610
    16111611        $old_user = get_current_user_id();
    1612         self::set_current_user( $u );
     1612        wp_set_current_user( $u );
    16131613
    16141614        $this->assertEquals( $expected, BP_Groups_Group::get_group_extras( $paged_groups, $group_ids ) );
    16151615
    1616         self::set_current_user( $old_user );
     1616        wp_set_current_user( $old_user );
    16171617    }
    16181618
     
    16481648
    16491649        $old_user = get_current_user_id();
    1650         self::set_current_user( $u );
     1650        wp_set_current_user( $u );
    16511651
    16521652        $this->assertEquals( $expected, BP_Groups_Group::get_group_extras( $paged_groups, $group_ids ) );
    16531653
    1654         self::set_current_user( $old_user );
     1654        wp_set_current_user( $old_user );
    16551655    }
    16561656
     
    17451745    /**
    17461746     * @ticket BP5451
     1747     * @ticket BP7658
    17471748     */
    17481749    public function test_is_member_property() {
    1749         $users = self::factory()->user->create_many( 2 );
    1750 
    1751         $g = self::factory()->group->create( array(
    1752             'creator_id' => $users[0],
    1753         ) );
    1754 
    1755         wp_set_current_user( $users[1] );
     1750        $u1 = self::factory()->user->create();
     1751        $u2 = self::factory()->user->create();
     1752        $g  = self::factory()->group->create( array( 'creator_id' => $u1 ) );
     1753
     1754        wp_set_current_user( $u2 );
    17561755
    17571756        $group_a = new BP_Groups_Group( $g );
     1757
     1758        // $u2 IS NOT a member of $g yet.
    17581759        $this->assertFalse( $group_a->is_member );
    17591760
    1760         $this->add_user_to_group( $users[1], $g );
     1761        // Now $u2 IS a member of $g.
     1762        $this->add_user_to_group( $u2, $g );
     1763
    17611764        $group_b = new BP_Groups_Group( $g );
    1762         $this->assertFalse( $group_b->is_member );
     1765
     1766        // $u2 IS a member of $g. This returns the ID of the membership, not the User id or boolean.
     1767        $this->assertTrue( (bool) $group_b->is_member );
    17631768    }
    17641769
    17651770    /**
    17661771     * @ticket BP5451
     1772     * @ticket BP7658
    17671773     */
    17681774    public function test_is_invited_property() {
    1769         $users = self::factory()->user->create_many( 2 );
    1770 
    1771         $g = self::factory()->group->create( array(
    1772             'creator_id' => $users[0],
    1773         ) );
    1774 
    1775         wp_set_current_user( $users[1] );
     1775        $u1 = self::factory()->user->create();
     1776        $u2 = self::factory()->user->create();
     1777        $g  = self::factory()->group->create( array( 'creator_id' => $u1 ) );
     1778
     1779        wp_set_current_user( $u2 );
    17761780
    17771781        $group_a = new BP_Groups_Group( $g );
     1782
    17781783        $this->assertFalse( $group_a->is_invited );
    17791784
    17801785        groups_invite_user( array(
    1781             'user_id'    => $users[1],
     1786            'user_id'    => $u2,
    17821787            'group_id'   => $g,
    1783             'inviter_id' => $users[0],
     1788            'inviter_id' => $u1,
    17841789            'send_invite' => 1
    17851790        ) );
    17861791
    17871792        $group_b = new BP_Groups_Group( $g );
    1788         $this->assertFalse( $group_b->is_invited );
     1793
     1794        $this->assertTrue( wp_validate_boolean( $group_b->is_invited ) );
    17891795    }
    17901796
     
    17931799     */
    17941800    public function test_is_pending_property() {
    1795         $users = self::factory()->user->create_many( 2 );
    1796 
    1797         $g = self::factory()->group->create( array(
    1798             'creator_id' => $users[0],
    1799         ) );
    1800 
    1801         wp_set_current_user( $users[1] );
     1801        $u1 = self::factory()->user->create();
     1802        $u2 = self::factory()->user->create();
     1803        $g  = self::factory()->group->create( array( 'creator_id' => $u1 ) );
     1804
     1805        wp_set_current_user( $u2 );
    18021806
    18031807        $group_a = new BP_Groups_Group( $g );
     1808
    18041809        $this->assertFalse( $group_a->is_pending );
    18051810
    18061811        groups_send_membership_request( array(
    1807             'user_id' => $users[1],
     1812            'user_id' => $u2,
    18081813            'group_id' => $g
    18091814        ) );
     
    18121817        $this->assertFalse( $group_b->is_pending );
    18131818    }
    1814 
    18151819
    18161820    /**
Note: See TracChangeset for help on using the changeset viewer.