mirror of
				https://github.com/Icinga/icingaweb2.git
				synced 2025-10-31 03:14:31 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			80 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			80 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| // {{{ICINGA_LICENSE_HEADER}}}
 | |
| // {{{ICINGA_LICENSE_HEADER}}}
 | |
| 
 | |
| namespace Tests\Icinga\Modules\Monitoring\Application\Views\Helpers;
 | |
| 
 | |
| use Mockery;
 | |
| use Zend_View_Helper_ResolveMacros;
 | |
| use Icinga\Test\BaseTestCase;
 | |
| 
 | |
| require_once realpath(BaseTestCase::$moduleDir . '/monitoring/application/views/helpers/ResolveMacros.php');
 | |
| 
 | |
| class ResolveMacrosTest extends BaseTestCase
 | |
| {
 | |
|     public function testHostMacros()
 | |
|     {
 | |
|         $hostMock = Mockery::mock('host');
 | |
|         $hostMock->host_name = 'test';
 | |
|         $hostMock->host_address = '1.1.1.1';
 | |
| 
 | |
|         $helper = new Zend_View_Helper_ResolveMacros();
 | |
|         $this->assertEquals($helper->resolveMacros('$HOSTNAME$', $hostMock), $hostMock->host_name);
 | |
|         $this->assertEquals($helper->resolveMacros('$HOSTADDRESS$', $hostMock), $hostMock->host_address);
 | |
|     }
 | |
| 
 | |
|     public function testServiceMacros()
 | |
|     {
 | |
|         $svcMock = Mockery::mock('service');
 | |
|         $svcMock->host_name = 'test';
 | |
|         $svcMock->host_address = '1.1.1.1';
 | |
|         $svcMock->service_description = 'a service';
 | |
| 
 | |
|         $helper = new Zend_View_Helper_ResolveMacros();
 | |
|         $this->assertEquals($helper->resolveMacros('$HOSTNAME$', $svcMock), $svcMock->host_name);
 | |
|         $this->assertEquals($helper->resolveMacros('$HOSTADDRESS$', $svcMock), $svcMock->host_address);
 | |
|         $this->assertEquals($helper->resolveMacros('$SERVICEDESC$', $svcMock), $svcMock->service_description);
 | |
|     }
 | |
| 
 | |
|     public function testCustomvars()
 | |
|     {
 | |
|         $objectMock = Mockery::mock('object');
 | |
|         $objectMock->customvars = array(
 | |
|             'CUSTOMVAR' => 'test'
 | |
|         );
 | |
| 
 | |
|         $helper = new Zend_View_Helper_ResolveMacros();
 | |
|         $this->assertEquals($helper->resolveMacros('$CUSTOMVAR$', $objectMock), $objectMock->customvars['CUSTOMVAR']);
 | |
|     }
 | |
| 
 | |
|     public function testFaultyMacros()
 | |
|     {
 | |
|         $hostMock = Mockery::mock('host');
 | |
|         $hostMock->host_name = 'test';
 | |
|         $hostMock->customvars = array(
 | |
|             'HOST' => 'te',
 | |
|             'NAME' => 'st'
 | |
|         );
 | |
| 
 | |
|         $helper = new Zend_View_Helper_ResolveMacros();
 | |
|         $this->assertEquals(
 | |
|             $helper->resolveMacros('$$HOSTNAME$ $ HOSTNAME$ $HOST$NAME$', $hostMock),
 | |
|             '$test $ HOSTNAME$ teNAME$'
 | |
|         );
 | |
|     }
 | |
| 
 | |
|     public function testMacrosWithSpecialCharacters()
 | |
|     {
 | |
|         $objectMock = Mockery::mock('object');
 | |
|         $objectMock->customvars = array(
 | |
|             'V€RY_SP3C|@L' => 'not too special!'
 | |
|         );
 | |
| 
 | |
|         $helper = new Zend_View_Helper_ResolveMacros();
 | |
|         $this->assertEquals(
 | |
|             $helper->resolveMacros('$V€RY_SP3C|@L$', $objectMock),
 | |
|             $objectMock->customvars['V€RY_SP3C|@L']
 | |
|         );
 | |
|     }
 | |
| }
 |