11 use Symfony\Component\Console\Tester\CommandTester;
18 private $maintenanceMode;
32 $this->maintenanceMode = $this->createMock(\
Magento\Framework\
App\MaintenanceMode::class);
33 $this->ipValidator = $this->createMock(\
Magento\Setup\
Validator\IpValidator::class);
43 public function testExecute(array $input, array $validatorMessages, $expectedMessage)
45 if (isset($input[
'--none']) && !$input[
'--none'] && isset($input[
'ip'])) {
46 $this->ipValidator->expects($this->once())->method(
'validateIps')->willReturn($validatorMessages);
47 if (empty($validatorMessages) && !empty($input[
'ip'])) {
48 $this->maintenanceMode
49 ->expects($this->once())
50 ->method(
'setAddresses')
51 ->with(implode(
',', $input[
'ip']));
52 $this->maintenanceMode
53 ->expects($this->once())
54 ->method(
'getAddressInfo')
55 ->willReturn($input[
'ip']);
57 }
elseif (isset($input[
'--none']) && $input[
'--none']) {
58 $this->ipValidator->expects($this->never())->method(
'validateIps')->willReturn($validatorMessages);
59 $this->maintenanceMode
60 ->expects($this->once())
61 ->method(
'setAddresses')
64 $tester =
new CommandTester($this->command);
65 $tester->execute($input);
66 $this->assertEquals($expectedMessage, $tester->getDisplay());
76 public function testExecuteWithAdd(array $addressInfo, array $input, array $validatorMessages, $expectedMessage)
78 $newAddressInfo = array_unique(array_merge($addressInfo, $input[
'ip']));
80 $this->ipValidator->expects($this->once())->method(
'validateIps')->willReturn($validatorMessages);
81 $this->maintenanceMode
82 ->expects($this->once())
83 ->method(
'setAddresses')
84 ->with(implode(
',', $newAddressInfo));
86 $this->maintenanceMode
87 ->expects($this->exactly(2))
88 ->method(
'getAddressInfo')
89 ->willReturnOnConsecutiveCalls($addressInfo, $newAddressInfo);
91 $tester =
new CommandTester($this->command);
92 $tester->execute($input);
93 $this->assertEquals($expectedMessage, $tester->getDisplay());
103 [
'ip' => [
'127.0.0.1',
'127.0.0.2'],
'--none' =>
false],
105 'Set exempt IP-addresses: 127.0.0.1 127.0.0.2' . PHP_EOL
110 'Set exempt IP-addresses: none' . PHP_EOL
113 [
'ip' => [
'127.0.0.1',
'127.0.0.2'],
'--none' =>
true],
115 'Set exempt IP-addresses: none' . PHP_EOL
118 [
'ip' => [
'127.0'],
'--none' =>
false],
119 [
'Invalid IP 127.0'],
120 'Invalid IP 127.0' . PHP_EOL
123 [
'ip' => [],
'--none' =>
false],
138 [
'ip' => [
'127.0.0.1'],
'--add' =>
true],
140 'Set exempt IP-addresses: 127.0.0.1' . PHP_EOL,
144 [
'ip' => [
'127.0.0.1'],
'--add' =>
true],
146 'Set exempt IP-addresses: 127.0.0.1' . PHP_EOL,
150 [
'ip' => [
'127.0.0.2'],
'--add' =>
true],
152 'Set exempt IP-addresses: 127.0.0.1 127.0.0.2' . PHP_EOL,
elseif(isset( $params[ 'redirect_parent']))
testExecuteWithAdd(array $addressInfo, array $input, array $validatorMessages, $expectedMessage)
testExecute(array $input, array $validatorMessages, $expectedMessage)
executeWithAddDataProvider()