blob: 674d00974fe9cb3e967f578b23e8688fbda7f118 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
<?php
/**
* Logout function
*
* @group auth
*/
class Logout_Func_Tests extends PHPUnit\Framework\TestCase {
protected $backup_get;
protected $backup_request;
private static $user;
protected function setUp(): void {
$this->backup_get = $_GET;
$this->backup_request = $_REQUEST;
self::$user = false;
}
protected function tearDown(): void {
$_GET = $this->backup_get;
$_REQUEST = $this->backup_request;
}
public static function setUpBeforeClass(): void {
yourls_add_action( 'pre_setcookie', function ($in) {
self::$user = $in[0]; // $in[0] is the user ID passed to yourls_setcookie()
} );
}
public static function tearDownAfterClass(): void {
yourls_remove_all_actions('pre_setcookie');
}
/**
* Check logout procedure - phase 1 - we're logging in
*/
public function test_logout_user_is_logged_in() {
$_REQUEST['nonce'] = yourls_create_nonce('admin_login');
$valid = yourls_is_valid_user();
$this->assertTrue($valid);
$this->assertSame(self::$user, 'yourls');
}
/**
* Check logout procedure - phase 2 - we're logging out and checking that cookie was reset
* @depends test_logout_user_is_logged_in
*/
public function test_logout_user_logs_out() {
$_GET['action'] = 'logout';
$_REQUEST['nonce'] = yourls_create_nonce('admin_logout', 'logout');
$invalid = yourls_is_valid_user();
$this->assertNotTrue( $invalid );
$this->assertSame(self::$user, '');
}
/**
* Check logout procedure - phase 3 - check we can log in again
* @depends test_logout_user_logs_out
*/
public function test_logout_user_is_logged_in_back() {
$_REQUEST['nonce'] = yourls_create_nonce('admin_login');
$valid = yourls_is_valid_user();
$this->assertTrue( $valid );
$this->assertSame(self::$user, 'yourls');
}
}
|