2 /* vim: set expandtab sw=4 ts=4 sts=4: */
4 * tests for methods under setup/lib/index.lib.php
6 * @package PhpMyAdmin-test
12 use PMA\libraries\config\ConfigFile
;
13 use PMA\libraries\config\ServerConfigChecks
;
15 require_once 'libraries/config/config_functions.lib.php';
16 require_once 'setup/lib/index.lib.php';
19 * tests for methods under setup/lib/index.lib.php
21 * @package PhpMyAdmin-test
23 class PMA_SetupIndex_Test
extends PHPUnit_Framework_TestCase
26 * SetUp for test cases
30 public function setup()
32 $GLOBALS['cfg']['ProxyUrl'] = '';
36 * Test for PMA_messagesBegin()
40 public function testPMAmessagesBegin()
42 $_SESSION['messages'] = array(
71 unset($_SESSION['messages']);
83 * Test for PMA_messagesSet
87 public function testPMAmessagesSet()
89 PMA_messagesSet('type', '123', 'testTitle', 'msg');
95 'title' => 'testTitle',
98 $_SESSION['messages']['type']['123']
103 * Test for PMA_messagesEnd
107 public function testPMAmessagesEnd()
109 $_SESSION['messages'] = array(
111 array('msg' => 'foo', 'active' => false),
112 array('msg' => 'bar', 'active' => true),
127 $_SESSION['messages']
132 * Test for PMA_messagesShowHtml
136 public function testPMAMessagesShowHTML()
138 $_SESSION['messages'] = array(
140 array('title' => 'foo', 'message' => '123', 'fresh' => false),
141 array('title' => 'bar', 'message' => '321', 'fresh' => true),
146 PMA_messagesShowHtml();
147 $result = ob_get_clean();
149 $this->assertContains(
150 '<div class="type hiddenmessage" id="0"><h4>foo</h4>123</div>',
154 $this->assertContains(
155 '<div class="type" id="1"><h4>bar</h4>321</div>',
162 * Test for ServerConfigChecks::performConfigChecks
167 public function testServerConfigChecksPerformConfigChecks()
170 $GLOBALS['cfg']['AvailableCharsets'] = array();
171 $GLOBALS['cfg']['ServerDefault'] = 0;
172 $GLOBALS['server'] = 0;
174 $cf = new ConfigFile();
175 $GLOBALS['ConfigFile'] = $cf;
177 $reflection = new \
ReflectionProperty('PMA\libraries\config\ConfigFile', '_id');
178 $reflection->setAccessible(true);
179 $sessionID = $reflection->getValue($cf);
181 $_SESSION[$sessionID]['Servers'] = array(
183 'host' => 'localhost',
185 'extension' => 'mysql',
186 'auth_type' => 'config',
187 'user' => 'username',
188 'password' => 'password',
190 'AllowNoPassword' => true,
194 $_SESSION[$sessionID]['AllowArbitraryServer'] = true;
195 $_SESSION[$sessionID]['LoginCookieValidity'] = 5000;
196 $_SESSION[$sessionID]['LoginCookieStore'] = 4000;
197 $_SESSION[$sessionID]['SaveDir'] = true;
198 $_SESSION[$sessionID]['TempDir'] = true;
199 $_SESSION[$sessionID]['GZipDump'] = true;
200 $_SESSION[$sessionID]['BZipDump'] = true;
201 $_SESSION[$sessionID]['ZipDump'] = true;
203 $noticeArrayKeys = array(
206 'LoginCookieValidity',
207 'AllowArbitraryServer',
208 'Servers/1/AllowNoPassword',
209 'Servers/1/auth_type',
213 $errorArrayKeys = array(
214 'LoginCookieValidity'
217 if (@!function_exists('gzopen') ||
@!function_exists('gzencode')) {
218 $errorArrayKeys[] = 'GZipDump';
221 if (@!function_exists('bzopen') ||
@!function_exists('bzcompress')) {
222 $errorArrayKeys[] = 'BZipDump';
225 if (!@function_exists
('zip_open')) {
226 $errorArrayKeys[] = 'ZipDump_import';
229 if (!@function_exists
('gzcompress')) {
230 $errorArrayKeys[] = 'ZipDump_export';
233 $configChecker = new ServerConfigChecks($GLOBALS['ConfigFile']);
234 $configChecker->performConfigChecks();
236 foreach ($noticeArrayKeys as $noticeKey) {
237 $this->assertArrayHasKey(
239 $_SESSION['messages']['notice']
243 foreach ($errorArrayKeys as $errorKey) {
244 $this->assertArrayHasKey(
246 $_SESSION['messages']['error']
252 unset($_SESSION['messages']);
253 unset($_SESSION[$sessionID]);
255 $_SESSION[$sessionID]['Servers'] = array(
257 'host' => 'localhost',
259 'extension' => 'mysqli',
260 'auth_type' => 'cookie',
265 $_SESSION[$sessionID]['AllowArbitraryServer'] = false;
266 $_SESSION[$sessionID]['LoginCookieValidity'] = -1;
267 $_SESSION[$sessionID]['LoginCookieStore'] = 0;
268 $_SESSION[$sessionID]['SaveDir'] = '';
269 $_SESSION[$sessionID]['TempDir'] = '';
270 $_SESSION[$sessionID]['GZipDump'] = false;
271 $_SESSION[$sessionID]['BZipDump'] = false;
272 $_SESSION[$sessionID]['ZipDump'] = false;
274 $configChecker = new ServerConfigChecks($GLOBALS['ConfigFile']);
275 $configChecker->performConfigChecks();
277 $this->assertArrayHasKey(
278 'blowfish_secret_created',
279 $_SESSION['messages']['notice']
282 foreach ($noticeArrayKeys as $noticeKey) {
283 $this->assertArrayNotHasKey(
285 $_SESSION['messages']['notice']
289 $this->assertArrayNotHasKey(
291 $_SESSION['messages']
296 $_SESSION[$sessionID]['blowfish_secret'] = 'sec';
298 $_SESSION[$sessionID]['Servers'] = array(
300 'host' => 'localhost',
301 'auth_type' => 'cookie'
305 $configChecker = new ServerConfigChecks($GLOBALS['ConfigFile']);
306 $configChecker->performConfigChecks();
308 $this->assertArrayHasKey(
309 'blowfish_warnings2',
310 $_SESSION['messages']['error']