public function testFetchNotFetchedResult() { self::$_client->createStatement('SELECT `bar` FROM `test` WHERE `foo`="foo1"')->execute(); // The above statement is not fetched, still the new statement should fetch fine $result = self::$_client->createStatement('SELECT `bar` FROM `test` WHERE `foo`="foo2"')->execute(); $this->assertSame(array('bar' => 'bar2'), $result->fetch()); }
public function testExecuteInvalidSql() { $statement = self::$_client->createStatement('INVALID QUERY'); try { $this->assertInstanceOf('CM_Db_Result', $statement->execute()); $this->fail('Could select from nonexistent table'); } catch (CM_Db_Exception $e) { $this->assertContains('Cannot execute statement', $e->getMessage()); } }
public function testReconnectTimeout() { $config = CM_Service_Manager::getInstance()->getDatabases()->getMaster()->getConfig(); $config['reconnectTimeout'] = 5; $client = new CM_Db_Client($config); $client->connect(); $firstTime = $client->getLastConnect(); $timeForward = 100; CMTest_TH::timeForward($timeForward); $client->createStatement('SELECT 1')->execute(); $this->assertSameTime($firstTime + $timeForward, $client->getLastConnect(), 5); CMTest_TH::timeForward($timeForward); $client->createStatement('SELECT 1')->execute(); $this->assertSameTime($firstTime + 2 * $timeForward, $client->getLastConnect(), 5); }