/** * Test proper behavior if process is not successful */ public function testProcessFailure() { $command = rand(); $this->process->method('isSuccessful')->willReturn(false); $this->process->method('getCommandLine')->willReturn($command); $logger = $this->getMock('\\Psr\\Log\\LoggerInterface'); $logger->expects($this->at(0))->method('warning')->with('Problem executing command'); $logger->expects($this->at(1))->method('warning')->with('Details: `' . $command . '`'); $this->fixture->setLogger($logger); $actual = $this->fixture->decode(null, null); $this->assertFalse($actual); }
/** * Test that non-empty return values are properly parsed * * @param string $return Simulated output from Avahi * @param string $logList List of strings logged as a warning * @param string $expected Expected result from find * * @dataProvider testParsingProvider */ public function testParsing($return, $logList, $expected) { $this->process->method('isSuccessful')->willReturn(true); $this->process->method('getOutput')->willReturn($return); $logger = $this->getMock('\\Psr\\Log\\LoggerInterface'); $this->fixture->setLogger($logger); foreach ($logList as $index => $message) { $logger->expects($this->at($index))->method('warning')->with($message); } $actual = $this->fixture->find(); $this->assertEquals($expected, $actual); }