public function testGetConnection() { $resolver = new DalResolver(); $conn = new PdoConnection(); $resolver->addConnection('pdo', $conn); $resolver->boot(); $datastore = new QlDataStore(); $datastore->configure(new ConfigSection('qldatastore', ['connection' => 'pdo'])); $this->assertSame($conn, $datastore->getConnection()); $datastore = new QlDataStore(); $datastore->configure(new ConfigSection('qldatastore', ['connection' => 'mizzing'])); $this->setExpectedException('\\Packaged\\Dal\\Exceptions\\DalResolver\\ConnectionNotFoundException'); $datastore->getConnection(); Dao::unsetDalResolver(); }
/** * Get the data store for this dao * * @return QlDataStore * * @throws DataStoreNotFoundException */ public function getDataStore() { $resolver = static::getDalResolver(); try { return $resolver->getDataStore($this->_dataStoreName); } catch (DataStoreNotFoundException $e) { if ($resolver->hasConnection($this->_dataStoreName)) { $config = new ConfigSection($this->_dataStoreName, ['connection' => $this->_dataStoreName]); $dataStore = new QlDataStore(); $dataStore->configure($config); $resolver->addDataStoreConfig($config); $resolver->addDataStore($this->_dataStoreName, $dataStore); return $dataStore; } throw $e; } }