Page Menu
Home
WickedGov Phorge
Search
Configure Global Search
Log In
Files
F1427987
ShowJobsTest.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
ShowJobsTest.php
View Options
<?php
namespace
MediaWiki\Tests\Maintenance
;
use
MediaWiki\Http\Telemetry
;
use
NullJob
;
use
ShowJobs
;
/**
* @covers \ShowJobs
* @group Database
* @author Dreamy Jazz
*/
class
ShowJobsTest
extends
MaintenanceBaseTestCase
{
public
function
getMaintenanceClass
()
{
return
ShowJobs
::
class
;
}
private
function
commonTestExecute
(
$options
,
$expectedOutputRegex
)
{
foreach
(
$options
as
$name
=>
$value
)
{
$this
->
maintenance
->
setOption
(
$name
,
$value
);
}
$this
->
maintenance
->
execute
();
// Check that the script returns the right output
$this
->
expectOutputRegex
(
$expectedOutputRegex
);
}
public
function
testExecuteWithNoOptionsSpecified
()
{
$jobQueueGroup
=
$this
->
getServiceContainer
()->
getJobQueueGroup
();
$jobQueueGroup
->
push
(
new
NullJob
(
[]
)
);
$jobQueueGroup
->
push
(
new
NullJob
(
[]
)
);
$this
->
commonTestExecute
(
[],
'/2/'
);
}
/** @dataProvider provideJobCount */
public
function
testExecuteWithForListSpecified
(
int
$jobCount
)
{
$jobQueueGroup
=
$this
->
getServiceContainer
()->
getJobQueueGroup
();
$expectedRegexOutput
=
'/'
;
for
(
$i
=
0
;
$i
<
$jobCount
;
$i
++
)
{
$jobQueueGroup
->
push
(
new
NullJob
(
[]
)
);
$expectedRegexOutput
.=
'.*null.*'
.
Telemetry
::
getInstance
()->
getRequestId
()
.
".*
\n
"
;
}
$this
->
commonTestExecute
(
[
'list'
=>
1
],
$expectedRegexOutput
.
'/'
);
}
public
function
testExecuteWithForListSpecifiedWithLimit
()
{
$jobQueueGroup
=
$this
->
getServiceContainer
()->
getJobQueueGroup
();
for
(
$i
=
0
;
$i
<
5
;
$i
++
)
{
$jobQueueGroup
->
push
(
new
NullJob
(
[]
)
);
}
$expectedRegexOutput
=
'/'
;
for
(
$i
=
0
;
$i
<
4
;
$i
++
)
{
$expectedRegexOutput
.=
'.*null.*'
.
Telemetry
::
getInstance
()->
getRequestId
()
.
".*
\n
"
;
}
$this
->
commonTestExecute
(
[
'list'
=>
1
,
'limit'
=>
4
],
$expectedRegexOutput
.
'/'
);
}
public
function
testExecuteWithTypeSpecified
()
{
$jobQueueGroup
=
$this
->
getServiceContainer
()->
getJobQueueGroup
();
for
(
$i
=
0
;
$i
<
3
;
$i
++
)
{
$jobQueueGroup
->
push
(
new
NullJob
(
[]
)
);
}
$this
->
commonTestExecute
(
[
'list'
=>
1
,
'type'
=>
'fish'
],
'//'
);
}
/** @dataProvider provideJobCount */
public
function
testExecuteWithForGroupSpecified
(
int
$jobCount
)
{
$jobQueueGroup
=
$this
->
getServiceContainer
()->
getJobQueueGroup
();
for
(
$i
=
0
;
$i
<
$jobCount
;
$i
++
)
{
$jobQueueGroup
->
push
(
new
NullJob
(
[]
)
);
}
$this
->
commonTestExecute
(
[
'group'
=>
1
],
"/.*null.*$jobCount queued.*
\n
/"
);
}
public
static
function
provideJobCount
()
{
return
[
'1 job'
=>
[
1
],
'3 jobs'
=>
[
3
],
];
}
}
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Sat, May 16, 15:27 (14 h, 57 m)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
56/0b/dfd1224ee6d39f0a005483e25c39
Default Alt Text
ShowJobsTest.php (2 KB)
Attached To
Mode
rMWPROD MediaWiki Production
Attached
Detach File
Event Timeline
Log In to Comment