4 changed files with 170 additions and 0 deletions
-
24lam/lib/config.inc
-
58lam/lib/persistence.inc
-
35lam/tests/lib/LAMCfgMainTest.php
-
53lam/tests/lib/modules/persistenceTest.php
@ -0,0 +1,58 @@ |
|||
<?php |
|||
namespace LAM\PERSISTENCE; |
|||
/* |
|||
|
|||
This code is part of LDAP Account Manager (http://www.ldap-account-manager.org/) |
|||
Copyright (C) 2020 Roland Gruber |
|||
|
|||
This program is free software; you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation; either version 2 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
This program is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with this program; if not, write to the Free Software |
|||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|||
|
|||
*/ |
|||
|
|||
/** |
|||
* This file includes functions to manage the persistence of LAM's configuration files. |
|||
* |
|||
* @package configuration |
|||
* @author Roland Gruber |
|||
*/ |
|||
|
|||
include_once __DIR__ . '/config.inc'; |
|||
|
|||
/** |
|||
* Exprter for LAM's configuration data. |
|||
*/ |
|||
class ConfigDataExporter { |
|||
|
|||
/** |
|||
* Exports LAM's configuration data in JSON format. |
|||
*/ |
|||
public function exportAsJson() { |
|||
$jsonData = array(); |
|||
$jsonData['mainconfig'] = $this->_getMainConfigData(); |
|||
return json_encode($jsonData); |
|||
} |
|||
|
|||
/** |
|||
* Internal function to read master configuration. |
|||
* |
|||
* @return array data |
|||
*/ |
|||
public function _getMainConfigData() { |
|||
$mainCfg = new \LAMCfgMain(); |
|||
return $mainCfg->exportData(); |
|||
} |
|||
|
|||
} |
|||
|
@ -0,0 +1,53 @@ |
|||
<?php |
|||
namespace LAM\PERSISTENCE; |
|||
use PHPUnit\Framework\TestCase; |
|||
/* |
|||
|
|||
This code is part of LDAP Account Manager (http://www.ldap-account-manager.org/) |
|||
Copyright (C) 2020 Roland Gruber |
|||
|
|||
This program is free software; you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation; either version 2 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
This program is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with this program; if not, write to the Free Software |
|||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|||
|
|||
*/ |
|||
|
|||
include_once __DIR__ . '/../../../lib/persistence.inc'; |
|||
|
|||
/** |
|||
* ConfigDataExporter test case. |
|||
* |
|||
* @author Roland Gruber |
|||
*/ |
|||
class ConfigDataExporterTest extends TestCase { |
|||
|
|||
public function testExportAsJson() { |
|||
$mainData = array( |
|||
'confMainKey1' => 'val', |
|||
'confMainKey2' => 4, |
|||
'confMainKey3' => '', |
|||
); |
|||
$expectedJson = json_encode(array('mainconfig' => $mainData)); |
|||
|
|||
$exporter = $this->getMockBuilder('\LAM\PERSISTENCE\ConfigDataExporter') |
|||
->setMethods(array('_getMainConfigData')) |
|||
->getMock(); |
|||
$exporter->method('_getMainConfigData')->willReturn($mainData); |
|||
|
|||
$json = $exporter->exportAsJson(); |
|||
|
|||
$this->assertEquals($expectedJson, $json); |
|||
} |
|||
|
|||
} |
|||
|
Write
Preview
Loading…
Cancel
Save
Reference in new issue