setUpResourceFactoryMock( Mockery::mock()->shouldReceive('inspect')->andReturn(self::createInspector(false))->getMock() ); $this->assertTrue( DbResourceForm::isValidResource(new DbResourceForm()), 'ResourceForm claims that a valid db resource is not valid' ); } /** * @runInSeparateProcess * @preserveGlobalState disabled */ public function testInvalidDbResourceIsNotValid() { $this->setUpResourceFactoryMock( Mockery::mock()->shouldReceive('inspect')->andReturn(self::createInspector(true))->getMock() ); $this->assertFalse( DbResourceForm::isValidResource(new DbResourceForm()), 'ResourceForm claims that an invalid db resource is valid' ); } protected function setUpResourceFactoryMock($resourceMock) { Mockery::mock('alias:Icinga\Data\ResourceFactory') ->shouldReceive('createResource') ->with(Mockery::type('Icinga\Data\ConfigObject')) ->andReturn($resourceMock); } public static function createInspector($error = false, $log = array('log')) { if (! $error) { $calls = array( 'hasError' => false, 'toArray' => $log ); } else { $calls = array( 'hasError' => true, 'getError' => 'Error', 'toArray' => $log ); } return Mockery::mock('Icinga\Data\Inspection', $calls); } }