/**
  * @param bool  $blIsAdmin
  * @param array $aExpectedServersData
  *
  * @dataProvider providerFrontendServerFirstAccess
  */
 public function testFrontendServerFirstAccess($blIsAdmin, $aExpectedServersData)
 {
     $sServerId = $this->_sServerId;
     $sServerIp = $aExpectedServersData[$sServerId]['ip'];
     $this->setAdminMode($blIsAdmin);
     $oUtilsDate = $this->_createDateMock($aExpectedServersData, $sServerId);
     $oUtilsServer = $this->_createServerMock($sServerId, $sServerIp);
     $this->getConfig()->saveShopConfVar('arr', 'aServersData', null);
     $oServerProcessor = new oxServerProcessor(new oxServersManager(), new oxServerChecker(), $oUtilsServer, $oUtilsDate);
     $oServerProcessor->process();
     $aServersData = $this->getConfigParam('aServersData');
     $this->assertEquals($aExpectedServersData, $aServersData);
 }
 /**
  * @param bool                $blAdmin
  * @param oxApplicationServer $oExpectedNode
  * @param string              $sServerId
  * @param string              $sCurrentTime
  * @param string              $sIP
  *
  * @dataProvider providerNodeInformationUpdatedWhenNeed
  */
 public function testNodeInformationUpdatedWhenNeed($blAdmin, $oExpectedNode, $sServerId, $sCurrentTime, $sIP)
 {
     $this->setAdminMode($blAdmin);
     $oNode = oxNew('oxApplicationServer');
     $oNode->setTimestamp(time());
     /** @var oxServersManager $oServerNodesManager */
     $oServerNodesManager = $this->getMock('oxServersManager');
     // Test that node manager was called with correct values.
     $oServerNodesManager->expects($this->atLeastOnce())->method('saveServer')->with($this->equalTo($oExpectedNode));
     $oServerNodesManager->expects($this->any())->method('getServer')->will($this->returnValue($oNode));
     /** @var oxServerChecker $oServerNodeChecker */
     $oServerNodeChecker = $this->getMock('oxServerChecker');
     $oServerNodeChecker->expects($this->once())->method('check')->with($oNode)->will($this->returnValue(false));
     $oUtilsServer = $this->getMock('oxUtilsServer');
     $oUtilsServer->expects($this->any())->method('getServerIp')->will($this->returnValue($sIP));
     $oUtilsServer->expects($this->any())->method('getServerNodeId')->will($this->returnValue($sServerId));
     $oUtilsDate = $this->getMock('oxUtilsDate');
     $oUtilsDate->expects($this->any())->method('getTime')->will($this->returnValue($sCurrentTime));
     $oServerNodesProcessor = new oxServerProcessor($oServerNodesManager, $oServerNodeChecker, $oUtilsServer, $oUtilsDate);
     $oServerNodesProcessor->process();
 }