Fix configuration bug with new game settings and add tests

This commit is contained in:
Austen McDonald
2016-07-28 13:20:16 -07:00
parent 06794f2ec2
commit 50ea982985
3 changed files with 60 additions and 2 deletions
+2 -2
View File
@@ -94,7 +94,7 @@ class Configuration
throw new InvalidConfigurationException("Game days per day cannot be negative: {$gameDaysPerDay}");
}
$this->gameEpoch = $gameEpoch;
$this->gameEpoch = (new DateTime())->setTimestamp($gameEpoch);
$this->gameOffsetSeconds = $gameOffsetSeconds;
$this->gameDaysPerDay = $gameDaysPerDay;
}
@@ -183,7 +183,7 @@ class Configuration
$s .= " user: " . $this->getDatabaseUser() . "\n";
$s .= " password: <hidden>\n";
$s .= "game:\n";
$s .= " epoch: " . $this->getGameEpoch() . "\n";
$s .= " epoch: " . $this->getGameEpoch()->format(DateTime::ISO8601) . "\n";
$s .= " offsetSeconds: " . $this->getGameOffsetSeconds() . "\n";
$s .= " daysPerDay: " . $this->getGameDaysPerDay() . "\n";
$s .= "logs:\n";
+47
View File
@@ -0,0 +1,47 @@
<?php
declare(strict_types=1);
namespace LotGD\Core\Tests;
use DateTime;
use Monolog\Logger;
use Monolog\Handler\NullHandler;
use LotGD\Core\Configuration;
class ConfigurationTest extends \PHPUnit_Framework_TestCase
{
private $logger;
private $configDir;
public function setUp()
{
$this->configDir = __DIR__ . DIRECTORY_SEPARATOR . join(DIRECTORY_SEPARATOR, ['datasets', 'config']);
$this->logger = new Logger('test');
$this->logger->pushHandler(new NullHandler());
}
public function testBasicConfiguration()
{
$configuration = new Configuration($this->configDir . DIRECTORY_SEPARATOR . 'basic.yml');
$this->assertEquals('some_dsn', $configuration->getDatabaseDSN());
$this->assertEquals('some_name', $configuration->getDatabaseName());
$this->assertEquals('some_user', $configuration->getDatabaseUser());
$this->assertEquals('some_password', $configuration->getDatabasePassword());
$this->assertEquals($this->configDir . DIRECTORY_SEPARATOR . './', $configuration->getLogPath());
$this->assertEquals(new DateTime('2016-07-01 01:01:01.0 -8'), $configuration->getGameEpoch());
$this->assertEquals(32, $configuration->getGameOffsetSeconds());
$this->assertEquals(2, $configuration->getGameDaysPerDay());
}
public function testToString()
{
$configuration = new Configuration($this->configDir . DIRECTORY_SEPARATOR . 'basic.yml');
$s = $configuration->__toString();
$this->assertFalse(strpos($s, 'some_password'));
}
}
+11
View File
@@ -0,0 +1,11 @@
database:
dsn: some_dsn
name: some_name
user: some_user
password: some_password
game:
epoch: 2016-07-01 01:01:01.0 -8
offsetSeconds: 32
daysPerDay: 2
logs:
path: ./