예제 #1
0
 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']);
 }
예제 #2
0
 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']);
 }
예제 #3
0
 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']);
 }