Ejemplo n.º 1
0
 public function testSetAndGetDataStore()
 {
     $interface = '\\Packaged\\Dal\\IDataStore';
     $resolver = new \Packaged\Dal\DalResolver();
     $resolver->addDataStore('test', $this->getMock($interface));
     $this->assertInstanceOf($interface, $resolver->getDataStore('test'));
 }
Ejemplo n.º 2
0
 public function testDalResolver()
 {
     $resolver = new DalResolver();
     $resolver->boot();
     $resolver->addDataStore('test', $this->getMock('\\Packaged\\Dal\\IDataStore'));
     $mock = new MockAbstractDao();
     $mock->init();
     $this->assertInstanceOf('\\Packaged\\Dal\\IDataStore', $mock->getDataStore());
     $this->assertSame($resolver, $mock->getDalResolver());
     Dao::unsetDalResolver();
     $this->assertNull($mock->getDalResolver());
 }
Ejemplo n.º 3
0
 public function testGetConnection()
 {
     $datastore = new MockCacheDataStore();
     $datastore->configure(new ConfigSection('cache', ['connection' => 'cacheconn']));
     $connection = new EphemeralConnection();
     $connection->configure(new ConfigSection('ephemeral', ['pool_name' => 'mock']));
     $resolver = new DalResolver();
     $resolver->addDataStore('cache', $datastore);
     $resolver->addConnection('cacheconn', $connection);
     $resolver->boot();
     $this->assertSame($connection, $datastore->getConnection());
     Dao::unsetDalResolver();
 }
Ejemplo n.º 4
0
 /**
  * @expectedException \Packaged\Dal\Exceptions\DataStore\TooManyResultsException
  * @expectedExceptionMessage Too many results located
  */
 public function testMultipleExistsFailure()
 {
     $datastore = new MockQlDataStore();
     $connection = new MockPdoConnection();
     $connection->config();
     $datastore->setConnection($connection);
     $resolver = new DalResolver();
     $resolver->boot();
     $resolver->addDataStore('mockql', $datastore);
     $connection->setResolver($resolver);
     $u1 = new MockQlDao();
     $u1->username = '******';
     $u1->display = 'Test One';
     $u1->save();
     $u2 = new MockQlDao();
     $u2->username = '******';
     $u2->display = 'Test Two';
     $u2->save();
     $test = new MockNonUniqueKeyDao();
     $test->username = '******';
     $test->exists();
     MockNonUniqueKeyDao::loadById('TestMultiple');
 }
Ejemplo n.º 5
0
 public function testLsd()
 {
     $datastore = new MockQlDataStore();
     $connection = new MockPdoConnection();
     $connection->config();
     $datastore->setConnection($connection);
     $connection->connect();
     $resolver = new DalResolver();
     $resolver->addDataStore('mockql', $datastore);
     $resolver->boot();
     $resolver->enablePerformanceMetrics();
     $connection->setResolver($resolver);
     $dao = new MockQlDao();
     $dao->username = time() . 'user';
     $dao->display = 'User ' . date("Y-m-d");
     $dao->boolTest = true;
     $datastore->save($dao);
     $dao->username = '******';
     $dao->display = 'Brooke';
     $dao->boolTest = false;
     $datastore->save($dao);
     $dao->username = '******';
     $datastore->load($dao);
     $this->assertEquals('test 1', $dao->username);
     $this->assertEquals(0, $dao->boolTest);
     $dao->display = 'Save 2';
     $datastore->save($dao);
     $staticLoad = MockQlDao::loadById($dao->id);
     $this->assertEquals($dao->username, $staticLoad->username);
     $datastore->delete($dao);
     $metrics = $resolver->getPerformanceMetrics();
     $resolver->disablePerformanceMetrics();
     $this->assertCount(6, $metrics);
     $resolver->shutdown();
 }
Ejemplo n.º 6
0
 public function testDeletes()
 {
     $connection = new MockCqlConnection();
     $connection->connect();
     $connection->setConfig('keyspace', 'packaged_dal');
     $datastore = new MockCqlDataStore();
     $datastore->setConnection($connection);
     $resolver = new DalResolver();
     $resolver->addDataStore('mockcql', $datastore);
     Dao::setDalResolver($resolver);
     $connection->setResolver($resolver);
     $coll = MockCqlDao::collection();
     $count = $coll->count();
     $first = $coll->first();
     /**
      * @var $first MockCqlDao
      */
     MockCqlDao::collection(['id' => $first->id])->delete();
     $this->assertNotEquals($count, $coll->count());
     $this->setExpectedException(DalException::class, 'Truncate is not supported');
     $coll->delete();
 }