Private GIT

Skip to content
Snippets Groups Projects
Commit 2d5f59f1 authored by Maximilien Bersoult's avatar Maximilien Bersoult
Browse files

* Add unittest for generate hostgroup configuration for Centreon Engine

parent 5ed8cc3d
Branches
No related tags found
No related merge requests found
###################################################################
# #
# Generated by Centreon 3 #
# #
# Developped by : Julien Mathis and Romain Le Merlus #
# #
# www.centreon.com #
###################################################################
# #
# By API #
# #
###################################################################
define hostgroup{
hostgroup_name Hostgroup 1
alias hostgroup1
}
...@@ -7,5 +7,6 @@ ...@@ -7,5 +7,6 @@
"cfg_contacts", "cfg_contacts",
"cfg_contactgroups", "cfg_contactgroups",
"cfg_commands", "cfg_commands",
"cfg_connectors" "cfg_connectors",
"cfg_hostgroups"
] ]
[
{
"hg_id": 1,
"hg_name": "Hostgroup 1",
"hg_alias": "hostgroup1",
"hg_notes_url": "http://wiki/hg1",
"organization_id": 1
}
]
<?php
/*
* Copyright 2005-2014 MERETHIS
* Centreon is developped by : Julien Mathis and Romain Le Merlus under
* GPL Licence 2.0.
*
* 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.
*
* 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, see <http://www.gnu.org/licenses>.
*
* Linking this program statically or dynamically with other modules is making a
* combined work based on this program. Thus, the terms and conditions of the GNU
* General Public License cover the whole combination.
*
* As a special exception, the copyright holders of this program give MERETHIS
* permission to link this program with independent modules to produce an executable,
* regardless of the license terms of these independent modules, and to copy and
* distribute the resulting executable under terms of MERETHIS choice, provided that
* MERETHIS also meet, for each linked independent module, the terms and conditions
* of the license of that module. An independent module is a module which is not
* derived from this program. If you modify this program, you may extend this
* exception to your version of the program, but you are not obliged to do so. If you
* do not wish to do so, delete this exception statement from your version.
*
* For more information : contact@centreon.com
*/
namespace Test\CentreonEngine\Repository;
use \Test\Centreon\DbTestCase;
use \Centreon\Internal\Di;
use \Centreon\Internal\Utils\Filesystem\Directory;
use \CentreonEngine\Repository\HostgroupRepository;
class HostgroupRepositoryTest extends DbTestCase
{
protected $dataPath = '/modules/CentreonEngineModule/tests/data/json/';
protected $tmpDir;
public function setUp()
{
parent::setUp();
$this->tmpDir = Directory::temporary('ut_', true);
}
public function tearDown()
{
if ($this->tmpDir != '' && is_dir($this->tmpDir)) {
Directory::delete($this->tmpDir, true);
}
parent::tearDown();
}
public function testGenerate()
{
$fileList = array();
$pollerId = 1;
HostgroupRepository::generate($fileList, $pollerId, $this->tmpDir . '/', 'hostgroups.cfg');
$this->assertEquals(
array('cfg_dir' => array(
$this->tmpDir . '/1/'
)), $fileList
);
$content = file_get_contents($this->tmpDir . '/1/hostgroups.cfg');
/* Remove line with the generate date */
$lines = split("\n", $content);
$lines = preg_grep('/^#\s+Last.*#$/', $lines, PREG_GREP_INVERT);
$content = join("\n", $lines);
$resultContent = file_get_contents(dirname(__DIR__) . '/data/configfiles/hostgroup1.cfg');
$this->assertEquals($resultContent, $content);
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment