public function testOpenClose()
 {
     $connection = $this->getConnection(false, false);
     $this->assertFalse($connection->isActive);
     $this->assertEquals(null, $connection->pdo);
     $connection->open();
     $this->assertTrue($connection->isActive);
     $this->assertTrue($connection->pdo instanceof \PDO);
     $connection->close();
     $this->assertFalse($connection->isActive);
     $this->assertEquals(null, $connection->pdo);
     $connection = new Connection();
     $connection->dsn = 'unknown::memory:';
     $this->setExpectedException('yii\\db\\Exception');
     $connection->open();
 }
 /**
  * @param  boolean                $reset whether to clean up the test database
  * @param  boolean                $open  whether to open test database
  * @return \yii\sphinx\Connection
  */
 public function getConnection($reset = false, $open = true)
 {
     if (!$reset && $this->sphinx) {
         return $this->sphinx;
     }
     $db = new Connection();
     $db->dsn = $this->sphinxConfig['dsn'];
     if (isset($this->sphinxConfig['username'])) {
         $db->username = $this->sphinxConfig['username'];
         $db->password = $this->sphinxConfig['password'];
     }
     if (isset($this->sphinxConfig['attributes'])) {
         $db->attributes = $this->sphinxConfig['attributes'];
     }
     if ($open) {
         $db->open();
     }
     $this->sphinx = $db;
     return $db;
 }