/** * @dataProvider findProvider */ public function testFind($criteria, $order, $direction, $clearBlacklist, $expectedOrder, $expectedResult) { if ($clearBlacklist) { static::$serviceManager->get('Database\\Table\\DuplicateMacAddresses')->delete(true); static::$serviceManager->get('Database\\Table\\DuplicateSerials')->delete(true); static::$serviceManager->get('Database\\Table\\DuplicateAssetTags')->delete(true); } $ordercolumns = array('Id' => 'clients.id', 'Name' => 'clients.name', 'NetworkInterface.MacAddress' => 'networkinterface_macaddr'); $sql = new \Zend\Db\Sql\Sql(static::$serviceManager->get('Db'), 'clients'); $select = $sql->select()->columns(array('id', 'name', 'lastcome', 'ssn', 'assettag'))->order(array($ordercolumns[$order] => $direction)); $clientManager = $this->createMock('Model\\Client\\ClientManager'); $clientManager->method('getClients')->with(array('Id', 'Name', 'LastContactDate', 'Serial', 'AssetTag'), $order, $direction, null, null, null, null, false, false, false)->willReturn($select); $clients = $this->getMockBuilder('Database\\Table\\Clients')->disableOriginalConstructor()->setMethods(array('getSql', 'selectWith'))->getMock(); $clients->method('getSql')->willReturn($sql); $clients->method('selectWith')->with($this->callback(function ($select) use($expectedOrder) { return $select->getRawState($select::ORDER) == $expectedOrder; }))->willReturnCallback(function ($select) use($sql) { // Build simple result set to bypass hydrator $resultSet = new \Zend\Db\ResultSet\ResultSet(); $resultSet->initialize($sql->prepareStatementForSqlObject($select)->execute()); return $resultSet; }); $duplicates = $this->_getModel(array('Database\\Table\\Clients' => $clients, 'Model\\Client\\ClientManager' => $clientManager)); $resultSet = $duplicates->find($criteria, $order, $direction); $this->assertInstanceOf('Zend\\Db\\ResultSet\\AbstractResultSet', $resultSet); $this->assertEquals($expectedResult, $resultSet->toArray()); }
/** {@inheritdoc} */ protected function _getForm() { $groups = array(array('Name' => 'group1'), array('Name' => 'group2')); $resultSet = new \Zend\Db\ResultSet\ResultSet(); $resultSet->initialize($groups); $this->_groupManager->expects($this->once())->method('getGroups')->with(null, null, 'Name')->willReturn($resultSet); $form = new \Console\Form\AddToGroup(null, array('GroupManager' => $this->_groupManager)); $form->init(); return $form; }
/** * Count items * @return int */ public function countAll($criteria = array()) { $select = $this->content->getTable()->getSql()->select()->columns(array(new \Zend\Db\Sql\Expression('COUNT(*)'))); $select = $this->setFilter($select, $criteria); $statement = $this->content->getTable()->getSql()->prepareStatementForSqlObject($select); $results = $statement->execute(); $resultSet = new \Zend\Db\ResultSet\ResultSet(); $resultSet->initialize($results); $data = $resultSet->current()->getArrayCopy(); return intval(array_pop($data)); }
/** * action index * @return \Zend\View\Model\ViewModel */ public function indexAction() { /** * função anônima para var_dump estilizado */ $myVarDump = function ($nome_linha = "Nome da Linha", $data = null, $caracter = ' - ') { echo str_repeat($caracter, 100) . '<br/>' . ucwords($nome_linha) . '<pre><br/>'; var_dump($data); echo '</pre>' . str_repeat($caracter, 100) . '<br/><br/>'; }; /** * Uso de cache */ if (!$this->cache()->hasItem('nome')) { $myVarDump("Registro de Cache Agora", $this->cache()->setItem('nome', 'igor')); } else { $myVarDump("Cache Existente", $this->cache()->getItem('nome')); } /** * conexão com banco */ /* $adapter = new Adaptador(array( // alias use Zend\Db\Adapter\Adapter as Adaptador 'driver' => 'Pdo_Mysql', 'database' => 'agenda_contatos', 'username' => 'tutorialzf2', 'password' => '!nF&rn0d3d4nt&' ));*/ $adapter = $this->getServiceLocator()->get('AdapterDb'); /** * obter nome do schema do nosso banco */ $myVarDump("Nome Schema", $adapter->getCurrentSchema()); /** * contar quantidade de elementos da nossa tabela */ $myVarDump("Quantidade elementos tabela contatos", $adapter->query("SELECT * FROM `contatos`")->execute()->count()); /** * montar objeto sql e executar */ $sql = new Sql($adapter); // use Zend\Db\Sql\Sql $select = $sql->select()->from('contatos'); $statement = $sql->prepareStatementForSqlObject($select); $resultsSql = $statement->execute(); $myVarDump("Objet Sql com Select executado", $resultsSql); /** * motar objeto resultset com objeto sql e mostrar resultado em array */ $resultSet = new \Zend\Db\ResultSet\ResultSet(); // nao necessita do use devido a sintaxe iniciando em \ $resultSet->initialize($resultsSql); $myVarDump("Resultado do Objeto Sql para Array ", $resultSet->toArray()); die; }
/** * * @param unknown $sql * @return \Zend\Db\ResultSet\ResultSet|multitype: */ private function _getResult($sql) { $stmt = $this->gateway->getAdapter()->createStatement($sql); $stmt->prepare(); $result = $stmt->execute(); if ($result->isQueryResult()) { $resultSet = new \Zend\Db\ResultSet\ResultSet(); $resultSet->initialize($result); return $resultSet; } return array(); }
public function testInitInvalidDatatype() { $resultSet = new \Zend\Db\ResultSet\ResultSet(); $resultSet->initialize(array()); $registryManager = $this->createMock('Model\\Registry\\RegistryManager'); $registryManager->method('getValueDefinitions')->willReturn($resultSet); $customFieldManager = $this->createMock('Model\\Client\\CustomFieldManager'); $customFieldManager->expects($this->once())->method('getFields')->willReturn(array('test' => 'invalid')); $form = new \Console\Form\Search(null, array('translator' => new \Zend\Mvc\I18n\Translator(new \Zend\Mvc\I18n\DummyTranslator()), 'registryManager' => $registryManager, 'customFieldManager' => $customFieldManager)); $this->setExpectedException('UnexpectedValueException'); $form->init(); }
protected function arrayResult($select) { $statement = $this->sql->prepareStatementForSqlObject($select); // echo "<br><br>".$select->getSqlString($this->dbAdapter->getPlatform()); $results = $statement->execute(); // $results->current(); if ($results->count() > 0) { $rows = new \Zend\Db\ResultSet\ResultSet(); return $rows->initialize($results)->toArray(); } return false; }
/** * Count items * @return int */ public function countAll($criteria = array()) { $select = $this->content->getTable()->getSql()->select()->columns(array(new \Zend\Db\Sql\Expression('COUNT(*)'))); if (array_key_exists('filter', $criteria) && is_array($criteria['filter'])) { foreach ($criteria['filter'] as $field => $word) { if (is_string($word)) { $select->where($field . ' LIKE"' . addslashes($word) . '%"'); } } } $select = $this->setFilter($select, $criteria); $statement = $this->content->getTable()->getSql()->prepareStatementForSqlObject($select); $results = $statement->execute(); $resultSet = new \Zend\Db\ResultSet\ResultSet(); $resultSet->initialize($results); $data = $resultSet->current()->getArrayCopy(); return intval(array_pop($data)); }
public function testIndexActionMessages() { $resultSet = new \Zend\Db\ResultSet\ResultSet(); $resultSet->initialize(array()); $this->_groupManager->expects($this->once())->method('getGroups')->willReturn($resultSet); $flashMessenger = $this->_getControllerPlugin('FlashMessenger'); $flashMessenger->addErrorMessage('error'); $flashMessenger->addSuccessMessage('success'); $this->_disableTranslator(); $this->dispatch('/console/group/index/'); $this->assertXpathQuery('//ul[@class="error"]/li[text()="error"]'); $this->assertXpathQuery('//ul[@class="success"]/li[text()="success"]'); }
<?php require __DIR__ . '/../include/pageboot.php'; $fName = 'php://stdout'; if (is_array($argv) && array_key_exists('1', $argv)) { $fName = $argv[1]; } $fh = fopen($fName, 'w'); $statement = $GLOBALS['db']->query(' SELECT * FROM `person_to_person` WHERE or_codFisc <> "" AND codFisc <> ""'); $resultSet = new \Zend\Db\ResultSet\ResultSet(); $resultSet->initialize($statement->execute()); fwrite($fh, '"OR","DEST"' . PHP_EOL); while ($resultSet->valid()) { $row = $resultSet->current(); fwrite($fh, '"' . $row['or_codFisc'] . '","' . $row['codFisc'] . '"' . PHP_EOL); $resultSet->next(); } fclose($fh);
public function testGroupsActionMember() { $groups = array(array('Id' => 1, 'Name' => 'group1'), array('Id' => 2, 'Name' => 'group2')); $resultSet = new \Zend\Db\ResultSet\ResultSet(); $resultSet->initialize($groups); $memberships = array(1 => \Model\Client\Client::MEMBERSHIP_AUTOMATIC, 2 => \Model\Client\Client::MEMBERSHIP_ALWAYS); $formGroups = array('group1' => \Model\Client\Client::MEMBERSHIP_AUTOMATIC, 'group2' => \Model\Client\Client::MEMBERSHIP_ALWAYS); $form = $this->getApplicationServiceLocator()->get('FormElementManager')->get('Console\\Form\\GroupMemberships'); $form->expects($this->once())->method('render')->will($this->returnValue('<form></form>')); $form->expects($this->once())->method('setData')->with(array('Groups' => $formGroups)); $form->expects($this->once())->method('setAttribute')->with('action', '/console/client/managegroups/?id=1'); $client = $this->createMock('Model\\Client\\Client'); $client->expects($this->once())->method('getGroupMemberships')->with(\Model\Client\Client::MEMBERSHIP_ANY)->willReturn($memberships); $client->method('offsetGet')->will($this->returnValueMap(array(array('Id', 1)))); $this->_clientManager->method('getClient')->willReturn($client); $this->_groupManager->expects($this->once())->method('getGroups')->with(null, null, 'Name')->willReturn($resultSet); $this->dispatch('/console/client/groups/?id=1'); $this->assertResponseStatusCode(200); $this->assertXpathQueryContentContains('//h2', "\nGruppenmitgliedschaften\n"); $this->assertXpathQueryContentContains('//tr[2]/td[1]/a[@href="/console/group/general/?name=group1"]', 'group1'); $this->assertXpathQueryContentContains('//tr[2]/td[2]', "\nautomatisch\n"); $this->assertXpathQueryContentContains('//tr[3]/td[1]/a[@href="/console/group/general/?name=group2"]', 'group2'); $this->assertXpathQueryContentContains('//tr[3]/td[2]', "\nmanuell\n"); $this->assertXpathQueryContentContains('//h2', "\nMitgliedschaften verwalten\n"); $this->assertXPathQuery('//form'); }
/** * @param string $sql * @return array */ function getQueryResult($sql) { $values = array(); $db = Zend_Registry::get('db'); try { $result = $db->getDriver()->getConnection()->execute($sql); if ($result->isQueryResult()) { $results = new Zend\Db\ResultSet\ResultSet(); $values = $results->initialize($result)->toArray(); } } catch (Exception $e) { $values = array(); } return $values; }
public function testProcessRename() { $data = array('inspect' => array('inspect' => '1'), 'existing' => array('value_1_name' => 'name1_new', 'value_2_name' => 'name2'), 'new_value' => array('name' => '', 'root_key' => 'root_key', 'subkeys' => 'subkeys', 'value' => 'value')); $value1 = array('Id' => 1, 'Name' => 'name1', 'FullPath' => 'path1'); $value2 = array('Id' => 2, 'Name' => 'name2', 'FullPath' => 'path2'); $resultSet = new \Zend\Db\ResultSet\ResultSet(); $resultSet->initialize(array($value1, $value2)); $registryManager = $this->createMock('Model\\Registry\\RegistryManager'); $registryManager->expects($this->once())->method('getValueDefinitions')->willReturn($resultSet); $registryManager->expects($this->never())->method('addValueDefinition'); $registryManager->expects($this->exactly(2))->method('renameValueDefinition')->withConsecutive(array('name1', 'name1_new'), array('name2', 'name2')); $form = $this->getMockBuilder('Console\\Form\\ManageRegistryValues')->setMethods(array('getData'))->setConstructorArgs(array(null, array('config' => $this->_config, 'registryManager' => $registryManager)))->getMock(); $form->expects($this->once())->method('getData')->willReturn($data); $form->init(); $form->process(); }
public function testIndexActionMessages() { $resultSet = new \Zend\Db\ResultSet\ResultSet(); $resultSet->initialize(array()); $this->_groupManager->expects($this->once())->method('getGroups')->willReturn($resultSet); $flashMessenger = $this->createMock('Zend\\View\\Helper\\FlashMessenger'); $flashMessenger->method('__invoke')->with(null)->willReturnSelf(); $flashMessenger->method('__call')->withConsecutive(array('getMessagesFromNamespace', array('error')), array('getMessagesFromNamespace', array('success')))->willReturnOnConsecutiveCalls(array('error'), array('success')); $this->getApplicationServiceLocator()->get('ViewHelperManager')->setService('flashMessenger', $flashMessenger); $this->_disableTranslator(); $this->dispatch('/console/group/index/'); $this->assertXpathQuery('//ul[@class="error"]/li[text()="error"]'); $this->assertXpathQuery('//ul[@class="success"]/li[text()="success"]'); }
public function fetchAll(\Zend\Db\Sql\Select $select, $raw = true) { $statement = $this->_sql->prepareStatementForSqlObject($select); //var_dump($statement); echo '<hr>'; if ($result = $statement->execute()) { if ($this->_driver != self::DRIVER_OCI8 && count($result) == 0) { return false; } if (!$raw && $result instanceof ResultInterface) { $resultset = new \Zend\Db\ResultSet\ResultSet(); $resultset->initialize($result); return $resultset; } return $result; } return false; }