Exemple #1
0
 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();
 }
Exemple #2
0
 /**
  * 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));
 }
Exemple #3
0
    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();
    }
Exemple #4
0
 /**
  * @return ZF-8863
  */
 public function testExcludeConstructor()
 {
     AbstractTable::setDefaultAdapter($this->_adapterHasResult);
     $validator = new RecordExistsValidator('users', 'field1', 'id != 1');
     $this->assertTrue($validator->isValid('value3'));
 }
Exemple #5
0
 /**
  * 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);
 }
Exemple #6
0
 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]);
 }
Exemple #8
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');
     }
 }