/** * @covers ByJG\AnyDataset\ConnectionManagement::setDbConnectionString */ public function testSuccess() { $conn = new ConnectionManagement('mysql://*****:*****@host-10.com:3306/database?extraparam=10'); $this->assertEquals('mysql', $conn->getDriver()); $this->assertEquals('root', $conn->getUsername()); $this->assertEquals('password', $conn->getPassword()); $this->assertEquals('host-10.com', $conn->getServer()); $this->assertEquals('3306', $conn->getPort()); $this->assertEquals('database', $conn->getDatabase()); $this->assertEquals('10', $conn->getExtraParam('extraparam')); $conn = new ConnectionManagement('mysql://ro@11!%&*(ot:pass@(*&!$$word@host-10.com:3306/database?extraparam=10'); $this->assertEquals('mysql', $conn->getDriver()); $this->assertEquals('ro@11!%&*(ot', $conn->getUsername()); $this->assertEquals('pass@(*&!$$word', $conn->getPassword()); $this->assertEquals('host-10.com', $conn->getServer()); $this->assertEquals('3306', $conn->getPort()); $this->assertEquals('database', $conn->getDatabase()); $this->assertEquals('10', $conn->getExtraParam('extraparam')); $conn = new ConnectionManagement('mysql://root@host-10.com:3306/database?extraparam=10'); $this->assertEquals('mysql', $conn->getDriver()); $this->assertEquals('root', $conn->getUsername()); $this->assertEquals('', $conn->getPassword()); $this->assertEquals('host-10.com', $conn->getServer()); $this->assertEquals('3306', $conn->getPort()); $this->assertEquals('database', $conn->getDatabase()); $this->assertEquals('10', $conn->getExtraParam('extraparam')); $conn = new ConnectionManagement('mysql://host-10.com:3306/database?extraparam=10'); $this->assertEquals('mysql', $conn->getDriver()); $this->assertEquals('', $conn->getUsername()); $this->assertEquals('', $conn->getPassword()); $this->assertEquals('host-10.com', $conn->getServer()); $this->assertEquals('3306', $conn->getPort()); $this->assertEquals('database', $conn->getDatabase()); $this->assertEquals('10', $conn->getExtraParam('extraparam')); $conn = new ConnectionManagement('mysql://host-10.com:3306/database'); $this->assertEquals('mysql', $conn->getDriver()); $this->assertEquals('', $conn->getUsername()); $this->assertEquals('', $conn->getPassword()); $this->assertEquals('host-10.com', $conn->getServer()); $this->assertEquals('3306', $conn->getPort()); $this->assertEquals('database', $conn->getDatabase()); $this->assertEquals('', $conn->getExtraParam('extraparam')); $conn = new ConnectionManagement('mysql://host-10.com'); $this->assertEquals('mysql', $conn->getDriver()); $this->assertEquals('', $conn->getUsername()); $this->assertEquals('', $conn->getPassword()); $this->assertEquals('host-10.com', $conn->getServer()); $this->assertEquals('', $conn->getPort()); $this->assertEquals('', $conn->getDatabase()); $this->assertEquals('', $conn->getExtraParam('extraparam')); $conn = new ConnectionManagement('mysql://host-10.com:3306'); $this->assertEquals('mysql', $conn->getDriver()); $this->assertEquals('', $conn->getUsername()); $this->assertEquals('', $conn->getPassword()); $this->assertEquals('host-10.com', $conn->getServer()); $this->assertEquals('3306', $conn->getPort()); $this->assertEquals('', $conn->getDatabase()); $this->assertEquals('', $conn->getExtraParam('extraparam')); $conn = new ConnectionManagement('mysql://host-10.com/database'); $this->assertEquals('mysql', $conn->getDriver()); $this->assertEquals('', $conn->getUsername()); $this->assertEquals('', $conn->getPassword()); $this->assertEquals('host-10.com', $conn->getServer()); $this->assertEquals('', $conn->getPort()); $this->assertEquals('database', $conn->getDatabase()); $this->assertEquals('', $conn->getExtraParam('extraparam')); $conn = new ConnectionManagement('mysql://host-10.com:3306/database'); $this->assertEquals('mysql', $conn->getDriver()); $this->assertEquals('', $conn->getUsername()); $this->assertEquals('', $conn->getPassword()); $this->assertEquals('host-10.com', $conn->getServer()); $this->assertEquals('3306', $conn->getPort()); $this->assertEquals('database', $conn->getDatabase()); $this->assertEquals('', $conn->getExtraParam('extraparam')); $conn = new ConnectionManagement('mysql://host-10.com?extraparam=10'); $this->assertEquals('mysql', $conn->getDriver()); $this->assertEquals('', $conn->getUsername()); $this->assertEquals('', $conn->getPassword()); $this->assertEquals('host-10.com', $conn->getServer()); $this->assertEquals('', $conn->getPort()); $this->assertEquals('', $conn->getDatabase()); $this->assertEquals('10', $conn->getExtraParam('extraparam')); $conn = new ConnectionManagement('mysql://host-10.com:3306?extraparam=10'); $this->assertEquals('mysql', $conn->getDriver()); $this->assertEquals('', $conn->getUsername()); $this->assertEquals('', $conn->getPassword()); $this->assertEquals('host-10.com', $conn->getServer()); $this->assertEquals('3306', $conn->getPort()); $this->assertEquals('', $conn->getDatabase()); $this->assertEquals('10', $conn->getExtraParam('extraparam')); $conn = new ConnectionManagement('mysql://host-10.com:3306?extraparam=10&other=20'); $this->assertEquals('mysql', $conn->getDriver()); $this->assertEquals('', $conn->getUsername()); $this->assertEquals('', $conn->getPassword()); $this->assertEquals('host-10.com', $conn->getServer()); $this->assertEquals('3306', $conn->getPort()); $this->assertEquals('', $conn->getDatabase()); $this->assertEquals('10', $conn->getExtraParam('extraparam')); $this->assertEquals('20', $conn->getExtraParam('other')); }