forked from WordPress/wordpress-develop
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathincludesUser.php
More file actions
88 lines (74 loc) · 3.21 KB
/
includesUser.php
File metadata and controls
88 lines (74 loc) · 3.21 KB
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<?php
/**
* @group admin
* @group user
*/
class Tests_Admin_IncludesUser extends WP_UnitTestCase {
/**
* Test redirect URLs for application password authorization requests.
*
* @ticket 42790
* @ticket 52617
*
* @covers ::wp_is_authorize_application_password_request_valid
*
* @dataProvider data_is_authorize_application_password_request_valid
*
* @param array $request The request data to validate.
* @param string $expected_error_code The expected error code, empty if no error is expected.
* @param string $env The environment type. Defaults to 'production'.
*/
public function test_is_authorize_application_password_request_valid( $request, $expected_error_code, $env = 'production' ) {
putenv( "WP_ENVIRONMENT_TYPE=$env" );
$actual = wp_is_authorize_application_password_request_valid( $request, get_userdata( 1 ) );
putenv( 'WP_ENVIRONMENT_TYPE' );
if ( $expected_error_code ) {
$this->assertWPError( $actual, 'A WP_Error object is expected.' );
$this->assertSame( $expected_error_code, $actual->get_error_code(), 'Unexpected error code.' );
} else {
$this->assertNotWPError( $actual, 'A WP_Error object is not expected.' );
}
}
public function data_is_authorize_application_password_request_valid() {
$environment_types = array( 'local', 'development', 'staging', 'production' );
$datasets = array();
foreach ( $environment_types as $environment_type ) {
$datasets[ $environment_type . ' and no request arguments' ] = array(
'request' => array(),
'expected_error_code' => '',
'env' => $environment_type,
);
$datasets[ $environment_type . ' and a "https" scheme "success_url"' ] = array(
'request' => array( 'success_url' => 'https://example.org' ),
'expected_error_code' => '',
'env' => $environment_type,
);
$datasets[ $environment_type . ' and a "https" scheme "reject_url"' ] = array(
'request' => array( 'reject_url' => 'https://example.org' ),
'expected_error_code' => '',
'env' => $environment_type,
);
$datasets[ $environment_type . ' and an app scheme "success_url"' ] = array(
'request' => array( 'success_url' => 'wordpress://example' ),
'expected_error_code' => '',
'env' => $environment_type,
);
$datasets[ $environment_type . ' and an app scheme "reject_url"' ] = array(
'request' => array( 'reject_url' => 'wordpress://example' ),
'expected_error_code' => '',
'env' => $environment_type,
);
$datasets[ $environment_type . ' and a "http" scheme "success_url"' ] = array(
'request' => array( 'success_url' => 'http://example.org' ),
'expected_error_code' => 'local' === $environment_type ? '' : 'invalid_redirect_scheme',
'env' => $environment_type,
);
$datasets[ $environment_type . ' and a "http" scheme "reject_url"' ] = array(
'request' => array( 'reject_url' => 'http://example.org' ),
'expected_error_code' => 'local' === $environment_type ? '' : 'invalid_redirect_scheme',
'env' => $environment_type,
);
}
return $datasets;
}
}