protected function _initDb() { if (!extension_loaded('pdo') || !in_array('sqlite', \PDO::getAvailableDrivers())) { $this->markTestSkipped('Test only with pdo_sqlite'); } $db = \Zend\Db\Db::factory('Pdo\\Sqlite', array('dbname' => ':memory:')); \Zend\Db\Table\AbstractTable::setDefaultAdapter($db); $this->_createTable(); }
/** * Sets up the database connection and creates the table for session data * * @param array $primary * @return void */ protected function _setupDb(array $primary) { if (!extension_loaded('pdo_sqlite')) { $this->markTestSkipped('The pdo_sqlite extension must be available and enabled for this test'); } $this->_db = Db::factory('Pdo\\Sqlite', array('dbname' => ':memory:')); AbstractTable::setDefaultAdapter($this->_db); $query = array(); $query[] = 'CREATE TABLE `Sessions` ( '; $query[] = '`id` varchar(32) NOT NULL, '; if (in_array('save_path', $primary)) { $query[] = '`save_path` varchar(32) NOT NULL, '; } if (in_array('name', $primary)) { $query[] = '`name` varchar(32) NOT NULL, '; } $query[] = '`modified` int(11) default NULL, '; $query[] = '`lifetime` int(11) default NULL, '; $query[] = '`data` text, '; $query[] = 'PRIMARY KEY (' . implode(', ', $primary) . ') '; $query[] = ');'; $this->_db->query(implode("\n", $query)); }
public function testTableRowContructorWithTableNameSpecifiedInSubclass() { Table\AbstractTable::setDefaultAdapter($this->_db); $row = new \ZendTest\Db\Table\TestAsset\Row\TestStandaloneRow(); $this->assertType('Zend\Db\Table\AbstractTable', $row->getTable()); Table\AbstractTable::setDefaultAdapter(); }
/** * @return ZF-8863 */ public function testExcludeConstructor() { AbstractTable::setDefaultAdapter($this->_adapterHasResult); $validator = new RecordExistsValidator('users', 'field1', 'id != 1'); $this->assertTrue($validator->isValid('value3')); }
/** * Test fallback to default database adapter * * @group ZF-7510 */ public function testAuthenticateWithDefaultDbAdapter() { // preserve default adapter between cases $tmp = \Zend\Db\Table\AbstractTable::getDefaultAdapter(); // make sure that default db adapter exists \Zend\Db\Table\AbstractTable::setDefaultAdapter($this->_db); // check w/o passing adapter $this->_adapter = new Adapter\DbTable(); $this->_adapter->setTableName('users')->setIdentityColumn('username')->setCredentialColumn('password')->setTableName('users')->setIdentity('my_username')->setCredential('my_password'); $result = $this->_adapter->authenticate(); $this->assertTrue($result->isValid()); // restore adapter \Zend\Db\Table\AbstractTable::setDefaultAdapter($tmp); }
public function testTableSetDefaultAdapterException() { try { Table\AbstractTable::setDefaultAdapter(new \stdClass()); $this->fail('Expected to catch Zend_Db_Table_Exception'); } catch (\Zend\Exception $e) { $this->assertType('Zend\\Db\\Table\\Exception', $e, 'Expecting object of type Zend_Db_Table_Exception, got ' . get_class($e)); $this->assertEquals("Argument must be of type Zend_Db_Adapter_Abstract, or a Registry key where a Zend_Db_Adapter_Abstract object is stored", $e->getMessage()); } try { Table\AbstractTable::setDefaultAdapter(327); $this->fail('Expected to catch Zend_Db_Table_Exception'); } catch (\Exception $e) { $this->assertType('Zend\\Db\\Table\\Exception', $e, 'Expecting object of type Zend_Db_Table_Exception, got ' . get_class($e)); $this->assertEquals("Argument must be of type Zend_Db_Adapter_Abstract, or a Registry key where a Zend_Db_Adapter_Abstract object is stored", $e->getMessage()); } }
/** * * @group ZF-10705 */ public function testCreatesQueryBasedOnNamedOrPositionalAvailablity() { AbstractTable::setDefaultAdapter(null); $this->_adapterHasResult->setSupportsParametersValues(array('named' => false, 'positional' => true)); $validator = new RecordExistsValidator('users', 'field1', null, $this->_adapterHasResult); $validator->isValid('foo'); $wherePart = $validator->getSelect()->getPart('where'); $this->assertEquals('("field1" = ?)', $wherePart[0]); $this->_adapterHasResult->setSupportsParametersValues(array('named' => true, 'positional' => true)); $validator = new RecordExistsValidator('users', 'field1', null, $this->_adapterHasResult); $validator->isValid('foo'); $wherePart = $validator->getSelect()->getPart('where'); $this->assertEquals('("field1" = :value)', $wherePart[0]); }
/** * Test when adapter is provided * * @return void */ public function testAdapterProvidedNoResult() { //clear the default adapter to ensure provided one is used AbstractTable::setDefaultAdapter(null); $validator = new NoRecordExistsValidator('users', 'field1', null, $this->_adapterNoResult); $this->assertTrue($validator->isValid('value1')); }
/** * Test when adapter is provided * * @return void */ public function testAdapterProvidedNoResult() { //clear the default adapter to ensure provided one is used AbstractTable::setDefaultAdapter(null); try { $validator = new NoRecordExistsValidator('users', 'field1', null, $this->_adapterNoResult); $this->assertTrue($validator->isValid('value1')); } catch (\Exception $e) { $this->markTestSkipped('No database available'); } }