Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
MaintenanceStatusCommandTest.php
Go to the documentation of this file.
1 <?php
8 
10 use Symfony\Component\Console\Tester\CommandTester;
11 
12 class MaintenanceStatusCommandTest extends \PHPUnit\Framework\TestCase
13 {
17  private $maintenanceMode;
18 
22  private $command;
23 
24  public function setUp()
25  {
26  $this->maintenanceMode = $this->createMock(\Magento\Framework\App\MaintenanceMode::class);
27  $this->command = new MaintenanceStatusCommand($this->maintenanceMode);
28  }
29 
35  public function testExecute(array $maintenanceData, $expectedMessage)
36  {
37  $this->maintenanceMode->expects($this->once())->method('isOn')->willReturn($maintenanceData[0]);
38  $this->maintenanceMode->expects($this->once())->method('getAddressInfo')->willReturn($maintenanceData[1]);
39  $tester = new CommandTester($this->command);
40  $tester->execute([]);
41  $this->assertEquals($expectedMessage, $tester->getDisplay());
42  }
43 
47  public function executeDataProvider()
48  {
49  return [
50  [
51  [true, ['127.0.0.1', '127.0.0.2']],
52  'Status: maintenance mode is active' . PHP_EOL .
53  'List of exempt IP-addresses: 127.0.0.1 127.0.0.2' . PHP_EOL
54  ],
55  [
56  [true, []],
57  'Status: maintenance mode is active' . PHP_EOL . 'List of exempt IP-addresses: none' . PHP_EOL
58  ],
59  [
60  [false, []],
61  'Status: maintenance mode is not active' . PHP_EOL . 'List of exempt IP-addresses: none' . PHP_EOL
62  ],
63  [
64  [false, ['127.0.0.1', '127.0.0.2']],
65  'Status: maintenance mode is not active' . PHP_EOL .
66  'List of exempt IP-addresses: 127.0.0.1 127.0.0.2' . PHP_EOL
67  ],
68  ];
69  }
70 }