Commit c61ebcc5 by Paul Klimov

Mongo connection advanced.

parent ae0f04be
...@@ -15,6 +15,8 @@ use Yii; ...@@ -15,6 +15,8 @@ use Yii;
/** /**
* Class Connection * Class Connection
* *
* @property boolean $isActive Whether the Mongo connection is established. This property is read-only.
*
* @author Paul Klimov <klimov.paul@gmail.com> * @author Paul Klimov <klimov.paul@gmail.com>
* @since 2.0 * @since 2.0
*/ */
...@@ -50,6 +52,15 @@ class Connection extends Component ...@@ -50,6 +52,15 @@ class Connection extends Component
public $dbName; 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. * Establishes a Mongo connection.
* It does nothing if a Mongo connection has already been established. * It does nothing if a Mongo connection has already been established.
* @throws Exception if connection fails * @throws Exception if connection fails
......
...@@ -3,6 +3,8 @@ ...@@ -3,6 +3,8 @@
namespace yiiunit\extensions\mongo; namespace yiiunit\extensions\mongo;
use yii\mongo\Connection;
class ConnectionTest extends MongoTestCase class ConnectionTest extends MongoTestCase
{ {
public function testConstruct() public function testConstruct()
...@@ -13,7 +15,28 @@ class ConnectionTest extends MongoTestCase ...@@ -13,7 +15,28 @@ class ConnectionTest extends MongoTestCase
$connection->open(); $connection->open();
$this->assertEquals($params['dsn'], $connection->dsn); $this->assertEquals($params['dsn'], $connection->dsn);
//$this->assertEquals($params['username'], $connection->username); $this->assertEquals($params['dbName'], $connection->dbName);
//$this->assertEquals($params['password'], $connection->password); $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