Private GIT

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

*Add unittest for generate host template configuration for Centreon Engine

parent 2d5f59f1
No related branches found
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 host{
use generic-host
name Host Template 1
alias host_template1
display_name Host Template 1
check_interval 5
command_command_id_arg1 90
check_command Check command 190
check_period all
notification_period all
register 0
}
......@@ -8,5 +8,6 @@
"cfg_contactgroups",
"cfg_commands",
"cfg_connectors",
"cfg_hostgroups"
"cfg_hostgroups",
"cfg_hosts"
]
[
{
"host_id": 1,
"command_command_id": 1,
"command_command_id_arg1": "90",
"timeperiod_tp_id": 1,
"timeperiod_tp_id2": 1,
"host_name": "host_template1",
"host_alias": "Host Template 1",
"display_name": "Host Template 1",
"host_check_interval": 5,
"host_retry_check_interval": 5,
"host_active_checks_enabled": 1,
"host_passive_checks_enabled": 1,
"initial_state": "u",
"host_register": 0,
"organization_id": 1
},
{
"host_id": 2,
"command_command_id": 1,
"command_command_id_arg1": "90",
"timeperiod_tp_id": 1,
"timeperiod_tp_id2": 1,
"host_name": "host1",
"host_alias": "Host 1",
"display_name": "Host 1",
"host_check_interval": 5,
"host_retry_check_interval": 5,
"host_active_checks_enabled": 1,
"host_passive_checks_enabled": 1,
"initial_state": "d",
"host_register": 1,
"organization_id": 1
},
{
"host_id": 3,
"host_template_model_htm_id": 1,
"host_name": "host2",
"host_alias": "Host 2",
"display_name": "Host 2",
"host_register": 1,
"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\HostTemplateRepository;
class HostTemplateRepositoryTest 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;
HostTemplateRepository::generate($fileList, $pollerId, $this->tmpDir . '/', 'hosttemplates.cfg');
$this->assertEquals(
array('cfg_dir' => array(
$this->tmpDir . '/1/'
)), $fileList
);
$content = file_get_contents($this->tmpDir . '/1/hosttemplates.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/hosttemplate1.cfg');
$this->assertEquals($resultContent, $content);
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment