public function testDbalLoadMultipleConnections() { $container = $this->getContainer(); $loader = new PropelExtension(); $config_base = array('path' => '/propel', 'phing_path' => '/phing'); $config_mysql = array('user' => 'mysql_usr', 'password' => 'mysql_pwd', 'dsn' => 'mysql_dsn', 'driver' => 'mysql'); $config_sqlite = array('user' => 'sqlite_usr', 'password' => 'sqlite_pwd', 'dsn' => 'sqlite_dsn', 'driver' => 'sqlite'); $config_connections = array('default_connection' => 'sqlite', 'connections' => array('mysql' => $config_mysql, 'sqlite' => $config_sqlite)); $configs = array($config_base, array('dbal' => $config_connections)); $loader->load($configs, $container); $arguments = $container->getDefinition('propel.configuration')->getArguments(); $config = $arguments[0]; $this->assertEquals('sqlite', $container->getParameter('propel.dbal.default_connection')); $this->assertEquals('sqlite_usr', $config['datasources']['sqlite']['connection']['user']); $this->assertEquals('sqlite_pwd', $config['datasources']['sqlite']['connection']['password']); $this->assertEquals('sqlite_dsn', $config['datasources']['sqlite']['connection']['dsn']); $this->assertEquals('sqlite', $config['datasources']['sqlite']['adapter']); $config_connections = array('default_connection' => 'mysql', 'connections' => array('mysql' => $config_mysql, 'sqlite' => $config_sqlite)); $configs = array($config_base, array('dbal' => $config_connections)); $loader->load($configs, $container); $arguments = $container->getDefinition('propel.configuration')->getArguments(); $config = $arguments[0]; $this->assertEquals('mysql', $container->getParameter('propel.dbal.default_connection')); $this->assertEquals('mysql_usr', $config['datasources']['mysql']['connection']['user']); $this->assertEquals('mysql_pwd', $config['datasources']['mysql']['connection']['password']); $this->assertEquals('mysql_dsn', $config['datasources']['mysql']['connection']['dsn']); $this->assertEquals('mysql', $config['datasources']['mysql']['adapter']); }
public function testDbalWithSettings() { $container = $this->getContainer(); $loader = new PropelExtension(); $config_base = array('path' => '/propel', 'phing_path' => '/phing'); $config_mysql = array('user' => 'mysql_usr', 'password' => 'mysql_pwd', 'dsn' => 'mysql_dsn', 'driver' => 'mysql', 'settings' => array('charset' => array('value' => 'UTF8'), 'queries' => array('query' => 'SET NAMES UTF8'))); $configs = array($config_base, array('dbal' => $config_mysql)); $loader->load($configs, $container); $arguments = $container->getDefinition('propel.configuration')->getArguments(); $config = $arguments[0]; $this->assertArrayHasKey('settings', $config['datasources']['default']['connection']); $this->assertArrayHasKey('charset', $config['datasources']['default']['connection']['settings']); $this->assertArrayHasKey('value', $config['datasources']['default']['connection']['settings']['charset']); $this->assertEquals('UTF8', $config['datasources']['default']['connection']['settings']['charset']['value']); $this->assertArrayHasKey('settings', $config['datasources']['default']['connection']); $this->assertArrayHasKey('queries', $config['datasources']['default']['connection']['settings']); $this->assertArrayHasKey('query', $config['datasources']['default']['connection']['settings']['queries']); $this->assertEquals('SET NAMES UTF8', $config['datasources']['default']['connection']['settings']['queries']['query']); }
public function testDbalWithNoSlaves() { $container = $this->getContainer(); $loader = new PropelExtension(); $config_base = array('path' => '/propel', 'phing_path' => '/phing'); $config_mysql = array('user' => 'mysql_usr', 'password' => 'mysql_pwd', 'dsn' => 'mysql_dsn', 'driver' => 'mysql'); $configs = array($config_base, array('dbal' => $config_mysql)); $loader->load($configs, $container); $arguments = $container->getDefinition('propel.configuration')->getArguments(); $config = $arguments[0]; $this->assertArrayNotHasKey('slaves', $config['datasources']['default']); }