+++ /dev/null
-<?php return <<<INI
-
-; If you're unsure about what any of the config keys below do, please check the config/defaults.ini.php for detailed
-; documentation of their data type and behavior.
-
-[database]
-hostname = "localhost:3306"
-username = "friendica"
-password = "friendica"
-database = "friendica"
-charset = utf8mb4
-
-; ****************************************************************
-; Some config values below can be overruled from the admin settings
-; ****************************************************************
-
-[config]
-php_path = "/usr/bin/php"
-
-admin_email = "admin@friendica.local"
-
-sitename = Friendica Social Network
-
-register_policy = REGISTER_OPEN
-register_text =
-
-max_import_size = 200000
-
-[system]
-urlpath = "/friendica"
-
-default_timezone = "Europe/Berlin"
-
-language = "de"
-
-allowed_themes = vier,quattro,duepuntozero,smoothly,frio
-theme = vier
-
-allowed_link_protocols[0] = ftp
-allowed_link_protocols[1] = ftps
-allowed_link_protocols[2] = mailto
-allowed_link_protocols[3] = cid
-allowed_link_protocols[4] = gopher
-
-maximagesize = 800000
-
-no_regfullname = true
-
-block_local_dir = false
-
-directory = https://dir.friendica.social
-
-auth_cookie_lifetime = 7
-
-INI;
-// Keep this line
\ No newline at end of file
use Friendica\Test\Util\DBAMockTrait;
use Friendica\Test\Util\DBStructureMockTrait;
use org\bovigo\vfs\vfsStream;
+use org\bovigo\vfs\vfsStreamFile;
/**
* @runTestsInSeparateProcesses
private $db_user;
private $db_pass;
+ /**
+ * @var vfsStreamFile Assert file without DB credentials
+ */
private $assertFile;
+ /**
+ * @var vfsStreamFile Assert file with DB credentials
+ */
private $assertFileDb;
public function setUp()
$this->mockConfigGet('config', 'php_path', false);
- $this->assertFile = dirname(__DIR__) . DIRECTORY_SEPARATOR .
+ $assertFile = dirname(__DIR__) . DIRECTORY_SEPARATOR .
'..' . DIRECTORY_SEPARATOR .
'..' . DIRECTORY_SEPARATOR .
'datasets' . DIRECTORY_SEPARATOR .
'ini' . DIRECTORY_SEPARATOR .
'assert.ini.php';
- $this->assertFileDb = dirname(__DIR__) . DIRECTORY_SEPARATOR .
- '..' . DIRECTORY_SEPARATOR .
- '..' . DIRECTORY_SEPARATOR .
- 'datasets' . DIRECTORY_SEPARATOR .
- 'ini' . DIRECTORY_SEPARATOR .
- 'assert_db.ini.php';
+ $this->assertFile = vfsStream::newFile('assert.ini.php')
+ ->at($this->root->getChild('test'))
+ ->setContent($this->replaceEnvironmentSettings($assertFile, false));
+ $this->assertFileDb = vfsStream::newFile('assert_db.ini.php')
+ ->at($this->root->getChild('test'))
+ ->setContent($this->replaceEnvironmentSettings($assertFile, true));
+ }
+
+ /**
+ * Replacing environment specific variables in the assertion file
+ *
+ * @param string $file The file to compare in later tests
+ * @param bool $withDb If true, db settings are replaced too
+ * @return string The file content
+ */
+ private function replaceEnvironmentSettings($file, $withDb)
+ {
+ $fileContent = file_get_contents($file);
+ $fileContent = str_replace("/usr/bin/php", trim(shell_exec('which php')), $fileContent);
+ if ($withDb) {
+ $fileContent = str_replace("hostname = \"\"", "hostname = \"" . $this->db_host . (!empty($this->db_port) ? ":" . $this->db_port : "") . "\"", $fileContent);
+ $fileContent = str_replace("username = \"\"", "username = \"" . $this->db_user . "\"", $fileContent);
+ $fileContent = str_replace("password = \"\"", "password = \"" . $this->db_pass . "\"", $fileContent);
+ $fileContent = str_replace("database = \"\"", "database = \"" . $this->db_data . "\"", $fileContent);
+ }
+ return $fileContent;
}
private function assertFinished($txt, $withconfig = false, $copyfile = false)
$this->assertTrue($this->root->hasChild('config' . DIRECTORY_SEPARATOR . 'local.ini.php'));
$this->assertFileEquals(
- $this->assertFileDb,
+ $this->assertFileDb->url(),
$this->root->getChild('config' . DIRECTORY_SEPARATOR . 'local.ini.php')->url());
}
$this->assertTrue($this->root->hasChild('config' . DIRECTORY_SEPARATOR . 'local.ini.php'));
$this->assertFileEquals(
- $this->assertFile,
+ $this->assertFile->url(),
$this->root->getChild('config' . DIRECTORY_SEPARATOR . 'local.ini.php')->url());
}
$this->assertTrue($this->root->hasChild('config' . DIRECTORY_SEPARATOR . 'local.ini.php'));
$this->assertFileEquals(
- $this->assertFileDb,
+ $this->assertFileDb->url(),
$this->root->getChild('config' . DIRECTORY_SEPARATOR . 'local.ini.php')->url());
}