Commit c61ebcc5 by Paul Klimov

Mongo connection advanced.

parent ae0f04be
......@@ -15,6 +15,8 @@ use Yii;
/**
* Class Connection
*
* @property boolean $isActive Whether the Mongo connection is established. This property is read-only.
*
* @author Paul Klimov <klimov.paul@gmail.com>
* @since 2.0
*/
......@@ -50,6 +52,15 @@ class Connection extends Component
public $dbName;
/**
* Returns a value indicating whether the Mongo connection is established.
* @return boolean whether the Mongo connection is established
*/
public function getIsActive()
{
return is_object($this->client) && $this->client->connected;
}
/**
* Establishes a Mongo connection.
* It does nothing if a Mongo connection has already been established.
* @throws Exception if connection fails
......
......@@ -3,6 +3,8 @@
namespace yiiunit\extensions\mongo;
use yii\mongo\Connection;
class ConnectionTest extends MongoTestCase
{
public function testConstruct()
......@@ -13,7 +15,28 @@ class ConnectionTest extends MongoTestCase
$connection->open();
$this->assertEquals($params['dsn'], $connection->dsn);
//$this->assertEquals($params['username'], $connection->username);
//$this->assertEquals($params['password'], $connection->password);
$this->assertEquals($params['dbName'], $connection->dbName);
$this->assertEquals($params['options'], $connection->options);
}
public function testOpenClose()
{
$connection = $this->getConnection(false, false);
$this->assertFalse($connection->isActive);
$this->assertEquals(null, $connection->client);
$connection->open();
$this->assertTrue($connection->isActive);
$this->assertTrue(is_object($connection->client));
$connection->close();
$this->assertFalse($connection->isActive);
$this->assertEquals(null, $connection->client);
$connection = new Connection;
$connection->dsn = 'unknown::memory:';
$this->setExpectedException('yii\db\Exception');
$connection->open();
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment