From: Hypolite Petovan <mrpetovan@gmail.com>
Date: Tue, 3 Jul 2018 12:26:44 +0000 (-0400)
Subject: Use MYSQL_* environment variables for tests
X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=eaa3e4d15737413848244410878f7eca3f6a9741;p=friendica.git

Use MYSQL_* environment variables for tests

- Prevent `.htconfig.php` override when present during tests.
---

eaa3e4d15737413848244410878f7eca3f6a9741
diff --cc .travis.yml
index 82b5a5d218,82b5a5d218..b722fe77f1
--- a/.travis.yml
+++ b/.travis.yml
@@@ -10,11 -10,11 +10,9 @@@ php
  services:
   - mysql
  env:
-- - USER=travis DB=test
++ - MYSQL_HOST=localhost MYSQL_PORT=3306 MYSQL_USERNAME=travis MYSQL_PASSWORD= MYSQL_DATABASE=test
  
  install:
   - composer install
  before_script:
   - mysql -e 'CREATE DATABASE IF NOT EXISTS test;'
-- # In order to avoid bin/worker.php warnings
-- - touch .htconfig.php
diff --cc htconfig.php
index 0e838bd90d,0e838bd90d..87c1301abd
--- a/htconfig.php
+++ b/htconfig.php
@@@ -23,17 -23,17 +23,19 @@@ $db_data = 'mysqldatabasename'
  
  // Use environment variables for mysql if they are set beforehand
  if (!empty(getenv('MYSQL_HOST'))
--	&& !empty(getenv('MYSQL_PORT'))
  	&& (!empty(getenv('MYSQL_USERNAME')) || !empty(getenv('MYSQL_USER')))
--	&& !empty(getenv('MYSQL_PASSWORD'))
++	&& !getenv('MYSQL_PASSWORD') === false
  	&& !empty(getenv('MYSQL_DATABASE'))) {
--	$db_host = getenv('MYSQL_HOST') . ':' . getenv('MYSQL_PORT');
++	$db_host = getenv('MYSQL_HOST');
++	if (!empty(getenv('MYSQL_PORT'))) {
++		$db_host .= ':' . getenv('MYSQL_PORT');
++	}
  	if (!empty(getenv('MYSQL_USERNAME'))) {
  		$db_user = getenv('MYSQL_USERNAME');
--	} elseif (!empty(getenv('MYSQL_USER'))) {
++	} else {
  		$db_user = getenv('MYSQL_USER');
  	}
--	$db_pass = getenv('MYSQL_PASSWORD');
++	$db_pass = (string) getenv('MYSQL_PASSWORD');
  	$db_data = getenv('MYSQL_DATABASE');
  }
  
diff --cc tests/DatabaseTest.php
index 6edd45e575,408e4b0cd3..b53d59161a
--- a/tests/DatabaseTest.php
+++ b/tests/DatabaseTest.php
@@@ -33,15 -33,15 +33,13 @@@ abstract class DatabaseTest extends Tes
  		$base_config_file_path = stream_resolve_include_path($base_config_file_name);
  		$config_file_path = dirname($base_config_file_path) . DIRECTORY_SEPARATOR . $config_file_name;
  
--		$config_string = file_get_contents($base_config_file_path);
++		if (!file_exists($config_file_path)) {
++			$config_string = file_get_contents($base_config_file_path);
  
- 		$config_string = str_replace('die(', '// die(', $config_string);
- 		$config_string = str_replace('your.mysqlhost.com', 'localhost', $config_string);
- 		$config_string = str_replace('mysqlusername'     , getenv('USER'), $config_string);
- 		$config_string = str_replace('mysqlpassword'     , getenv('PASS'), $config_string);
- 		$config_string = str_replace('mysqldatabasename' , getenv('DB'), $config_string);
 -		$config_string = str_replace('die(', '// die(');
 -		$config_string = str_replace('your.mysqlhost.com', 'localhost');
 -		$config_string = str_replace('mysqlusername'     , getenv('USER'));
 -		$config_string = str_replace('mysqlpassword'     , getenv('PASS'));
 -		$config_string = str_replace('mysqldatabasename' , getenv('DB'));
++			$config_string = str_replace('die(', '// die(', $config_string);
  
--		file_put_contents($config_file_path, $config_string);
++			file_put_contents($config_file_path, $config_string);
++		}
  	}
  
  	/**
@@@ -58,7 -58,7 +56,7 @@@
  	protected function getConnection()
  	{
  		if (!dba::$connected) {
--			dba::connect('localhost', getenv('USER'), getenv('PASS'), getenv('DB'));
++			dba::connect(getenv('MYSQL_HOST') . ':' . getenv('MYSQL_PORT'), getenv('MYSQL_USERNAME'), getenv('MYSQL_PASSWORD'), getenv('MYSQL_DATABASE'));
  
  			if (dba::$connected) {
  				$app = get_app();