Browse Source

Mongo connection advanced.

tags/2.0.0-beta
Paul Klimov 11 years ago
parent
commit
c61ebcc5b7
  1. 11
      extensions/mongo/Connection.php
  2. 27
      tests/unit/extensions/mongo/ConnectionTest.php

11
extensions/mongo/Connection.php

@ -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

27
tests/unit/extensions/mongo/ConnectionTest.php

@ -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();
}
}
Loading…
Cancel
Save