root/framework/trunk/src/test/php/net/stubbles/integration/DatabaseTestCase.php @ 2060

Revision 2060, 3.5 kB (checked in by mikey, 20 months ago)

merge moreIoC back to trunk

  • Property svn:keywords set to Id
Line 
1<?php
2/**
3 * Integration test for database.
4 *
5 * @package     stubbles
6 * @subpackage  test_integration
7 * @version     $Id$
8 */
9stubClassLoader::load('net::stubbles::rdbms::stubDatabaseXJConfInitializer');
10/**
11 * Integration test for database.
12 *
13 * @package     stubbles
14 * @subpackage  test_integration
15 * @group       integration
16 */
17class DatabaseTestCase extends PHPUnit_Framework_TestCase
18{
19    /**
20     * instance to test
21     *
22     * @var  stubDatabaseXJConfInitializer
23     */
24    protected $dbXjConfInitializer;
25
26    /**
27     * set up test environment
28     */
29    public function setUp()
30    {
31        $this->dbXjConfInitializer = new stubDatabaseXJConfInitializer();
32    }
33
34    /**
35     * assure that creating the database connection data instances works correct
36     *
37     * @test
38     */
39    public function databaseInitializer()
40    {
41        $this->dbXjConfInitializer->init();
42        $this->assertFalse($this->dbXjConfInitializer->hasConnectionData('doesNotExist'));
43        $this->assertTrue($this->dbXjConfInitializer->hasConnectionData(stubDatabaseConnectionData::DEFAULT_ID));
44        $this->assertNull($this->dbXjConfInitializer->getConnectionData('doesNotExist'));
45        $connectionData = $this->dbXjConfInitializer->getConnectionData(stubDatabaseConnectionData::DEFAULT_ID);
46        $this->assertEquals('mysql:host=localhost;dbname=example', $connectionData->getDSN());
47        $this->assertEquals('root', $connectionData->getUserName());
48        $this->assertEquals('foo', $connectionData->getPassword());
49        $this->assertTrue($connectionData->hasInitialQuery());
50        $this->assertEquals('set names utf8', $connectionData->getInitialQuery());
51       
52        // cached
53        $this->dbXjConfInitializer->init();
54        $this->assertFalse($this->dbXjConfInitializer->hasConnectionData('doesNotExist'));
55        $this->assertTrue($this->dbXjConfInitializer->hasConnectionData(stubDatabaseConnectionData::DEFAULT_ID));
56        $this->assertNull($this->dbXjConfInitializer->getConnectionData('doesNotExist'));
57        $connectionData = $this->dbXjConfInitializer->getConnectionData(stubDatabaseConnectionData::DEFAULT_ID);
58        $this->assertEquals('mysql:host=localhost;dbname=example', $connectionData->getDSN());
59        $this->assertEquals('root', $connectionData->getUserName());
60        $this->assertEquals('foo', $connectionData->getPassword());
61        $this->assertTrue($connectionData->hasInitialQuery());
62        $this->assertEquals('set names utf8', $connectionData->getInitialQuery());
63    }
64
65    /**
66     * unitialized has should initialize
67     *
68     * @test
69     */
70    public function unitializedHas()
71    {
72        $this->assertFalse($this->dbXjConfInitializer->hasConnectionData('doesNotExist'));
73        $this->assertTrue($this->dbXjConfInitializer->hasConnectionData(stubDatabaseConnectionData::DEFAULT_ID));
74    }
75
76    /**
77     * unitialized get should initialize
78     *
79     * @test
80     */
81    public function unitializedGet()
82    {
83        $this->assertNull($this->dbXjConfInitializer->getConnectionData('doesNotExist'));
84        $connectionData = $this->dbXjConfInitializer->getConnectionData(stubDatabaseConnectionData::DEFAULT_ID);
85        $this->assertEquals('mysql:host=localhost;dbname=example', $connectionData->getDSN());
86        $this->assertEquals('root', $connectionData->getUserName());
87        $this->assertEquals('foo', $connectionData->getPassword());
88        $this->assertTrue($connectionData->hasInitialQuery());
89        $this->assertEquals('set names utf8', $connectionData->getInitialQuery());
90    }
91}
92?>
Note: See TracBrowser for help on using the browser.