Skip to content

Commit 0ef9f9b

Browse files
ENGCOM-6302: Add indexer console command output #25638
2 parents 954c449 + af3d3c8 commit 0ef9f9b

File tree

2 files changed

+49
-33
lines changed

2 files changed

+49
-33
lines changed

app/code/Magento/Indexer/Console/Command/IndexerStatusCommand.php

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,19 @@
55
*/
66
namespace Magento\Indexer\Console\Command;
77

8-
use Symfony\Component\Console\Input\InputInterface;
9-
use Symfony\Component\Console\Output\OutputInterface;
108
use Magento\Framework\Indexer;
119
use Magento\Framework\Mview;
1210
use Symfony\Component\Console\Helper\Table;
11+
use Symfony\Component\Console\Input\InputInterface;
12+
use Symfony\Component\Console\Output\OutputInterface;
1313

1414
/**
1515
* Command for displaying status of indexers.
1616
*/
1717
class IndexerStatusCommand extends AbstractIndexerManageCommand
1818
{
1919
/**
20-
* {@inheritdoc}
20+
* @inheritdoc
2121
*/
2222
protected function configure()
2323
{
@@ -29,12 +29,14 @@ protected function configure()
2929
}
3030

3131
/**
32-
* {@inheritdoc}
32+
* @inheritdoc
33+
* @param InputInterface $input
34+
* @param OutputInterface $output
3335
*/
3436
protected function execute(InputInterface $input, OutputInterface $output)
3537
{
3638
$table = new Table($output);
37-
$table->setHeaders(['Title', 'Status', 'Update On', 'Schedule Status', 'Schedule Updated']);
39+
$table->setHeaders(['ID', 'Title', 'Status', 'Update On', 'Schedule Status', 'Schedule Updated']);
3840

3941
$rows = [];
4042

@@ -43,6 +45,7 @@ protected function execute(InputInterface $input, OutputInterface $output)
4345
$view = $indexer->getView();
4446

4547
$rowData = [
48+
'ID' => $indexer->getId(),
4649
'Title' => $indexer->getTitle(),
4750
'Status' => $this->getStatus($indexer),
4851
'Update On' => $indexer->isScheduled() ? 'Schedule' : 'Save',
@@ -59,15 +62,20 @@ protected function execute(InputInterface $input, OutputInterface $output)
5962
$rows[] = $rowData;
6063
}
6164

62-
usort($rows, function ($comp1, $comp2) {
63-
return strcmp($comp1['Title'], $comp2['Title']);
64-
});
65+
usort(
66+
$rows,
67+
function (array $comp1, array $comp2) {
68+
return strcmp($comp1['Title'], $comp2['Title']);
69+
}
70+
);
6571

6672
$table->addRows($rows);
6773
$table->render();
6874
}
6975

7076
/**
77+
* Returns the current status of the indexer
78+
*
7179
* @param Indexer\IndexerInterface $indexer
7280
* @return string
7381
*/
@@ -89,6 +97,8 @@ private function getStatus(Indexer\IndexerInterface $indexer)
8997
}
9098

9199
/**
100+
* Returns the pending count of the view
101+
*
92102
* @param Mview\ViewInterface $view
93103
* @return string
94104
*/

app/code/Magento/Indexer/Test/Unit/Console/Command/IndexerStatusCommandTest.php

Lines changed: 31 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -96,47 +96,53 @@ public function testExecuteAll(array $indexers)
9696

9797
$linesOutput = array_filter(explode(PHP_EOL, $commandTester->getDisplay()));
9898

99-
$spacer = '+----------------+------------------+-----------+-------------------------+---------------------+';
99+
$spacer = '+-----------+----------------+------------------+-----------+-------------------------+'
100+
. '---------------------+';
100101

101102
$this->assertCount(8, $linesOutput, 'There should be 8 lines output. 3 Spacers, 1 header, 4 content.');
102103
$this->assertEquals($linesOutput[0], $spacer, "Lines 0, 2, 7 should be spacer lines");
103104
$this->assertEquals($linesOutput[2], $spacer, "Lines 0, 2, 7 should be spacer lines");
104105
$this->assertEquals($linesOutput[7], $spacer, "Lines 0, 2, 7 should be spacer lines");
105106

106107
$headerValues = array_values(array_filter(explode('|', $linesOutput[1])));
107-
$this->assertEquals('Title', trim($headerValues[0]));
108-
$this->assertEquals('Status', trim($headerValues[1]));
109-
$this->assertEquals('Update On', trim($headerValues[2]));
110-
$this->assertEquals('Schedule Status', trim($headerValues[3]));
111-
$this->assertEquals('Schedule Updated', trim($headerValues[4]));
108+
$this->assertEquals('ID', trim($headerValues[0]));
109+
$this->assertEquals('Title', trim($headerValues[1]));
110+
$this->assertEquals('Status', trim($headerValues[2]));
111+
$this->assertEquals('Update On', trim($headerValues[3]));
112+
$this->assertEquals('Schedule Status', trim($headerValues[4]));
113+
$this->assertEquals('Schedule Updated', trim($headerValues[5]));
112114

113115
$indexer1 = array_values(array_filter(explode('|', $linesOutput[3])));
114-
$this->assertEquals('Title_indexer1', trim($indexer1[0]));
115-
$this->assertEquals('Ready', trim($indexer1[1]));
116-
$this->assertEquals('Schedule', trim($indexer1[2]));
117-
$this->assertEquals('idle (10 in backlog)', trim($indexer1[3]));
118-
$this->assertEquals('2017-01-01 11:11:11', trim($indexer1[4]));
116+
$this->assertEquals('indexer_1', trim($indexer1[0]));
117+
$this->assertEquals('Title_indexer1', trim($indexer1[1]));
118+
$this->assertEquals('Ready', trim($indexer1[2]));
119+
$this->assertEquals('Schedule', trim($indexer1[3]));
120+
$this->assertEquals('idle (10 in backlog)', trim($indexer1[4]));
121+
$this->assertEquals('2017-01-01 11:11:11', trim($indexer1[5]));
119122

120123
$indexer2 = array_values(array_filter(explode('|', $linesOutput[4])));
121-
$this->assertEquals('Title_indexer2', trim($indexer2[0]));
122-
$this->assertEquals('Reindex required', trim($indexer2[1]));
123-
$this->assertEquals('Save', trim($indexer2[2]));
124-
$this->assertEquals('', trim($indexer2[3]));
124+
$this->assertEquals('indexer_2', trim($indexer2[0]));
125+
$this->assertEquals('Title_indexer2', trim($indexer2[1]));
126+
$this->assertEquals('Reindex required', trim($indexer2[2]));
127+
$this->assertEquals('Save', trim($indexer2[3]));
125128
$this->assertEquals('', trim($indexer2[4]));
129+
$this->assertEquals('', trim($indexer2[5]));
126130

127131
$indexer3 = array_values(array_filter(explode('|', $linesOutput[5])));
128-
$this->assertEquals('Title_indexer3', trim($indexer3[0]));
129-
$this->assertEquals('Processing', trim($indexer3[1]));
130-
$this->assertEquals('Schedule', trim($indexer3[2]));
131-
$this->assertEquals('idle (100 in backlog)', trim($indexer3[3]));
132-
$this->assertEquals('2017-01-01 11:11:11', trim($indexer3[4]));
132+
$this->assertEquals('indexer_3', trim($indexer3[0]));
133+
$this->assertEquals('Title_indexer3', trim($indexer3[1]));
134+
$this->assertEquals('Processing', trim($indexer3[2]));
135+
$this->assertEquals('Schedule', trim($indexer3[3]));
136+
$this->assertEquals('idle (100 in backlog)', trim($indexer3[4]));
137+
$this->assertEquals('2017-01-01 11:11:11', trim($indexer3[5]));
133138

134139
$indexer4 = array_values(array_filter(explode('|', $linesOutput[6])));
135-
$this->assertEquals('Title_indexer4', trim($indexer4[0]));
136-
$this->assertEquals('unknown', trim($indexer4[1]));
137-
$this->assertEquals('Schedule', trim($indexer4[2]));
138-
$this->assertEquals('running (20 in backlog)', trim($indexer4[3]));
139-
$this->assertEquals('2017-01-01 11:11:11', trim($indexer4[4]));
140+
$this->assertEquals('indexer_4', trim($indexer4[0]));
141+
$this->assertEquals('Title_indexer4', trim($indexer4[1]));
142+
$this->assertEquals('unknown', trim($indexer4[2]));
143+
$this->assertEquals('Schedule', trim($indexer4[3]));
144+
$this->assertEquals('running (20 in backlog)', trim($indexer4[4]));
145+
$this->assertEquals('2017-01-01 11:11:11', trim($indexer4[5]));
140146
}
141147

142148
/**

0 commit comments

Comments
 (0)