icingaweb2/test/php/library/Icinga/Web/Paginator/Adapter/QueryAdapterTest.php

84 lines
2.5 KiB
PHP
Raw Normal View History

<?php
namespace Tests\Icinga\Web\Paginator\Adapter;
2013-10-07 10:46:20 -04:00
use PHPUnit_Framework_TestCase;
use Zend_Config;
use Icinga\Protocol\Statusdat\Reader;
use Icinga\Web\Paginator\Adapter\QueryAdapter;
2013-10-07 10:46:20 -04:00
use Icinga\Module\Monitoring\Backend;
use Tests\Icinga\Protocol\Statusdat\StatusdatTestLoader;
require_once 'Zend/Paginator/Adapter/Interface.php';
require_once '../../library/Icinga/Web/Paginator/Adapter/QueryAdapter.php';
require_once 'library/Icinga/Protocol/Statusdat/StatusdatTestLoader.php';
StatusdatTestLoader::requireLibrary();
2013-10-19 14:09:17 -04:00
require_once '../../modules/monitoring/library/Monitoring/Backend/Statusdat/Query/StatusdatQuery.php';
require_once '../../modules/monitoring/library/Monitoring/Backend/Statusdat/Query/StatusQuery.php';
2013-10-07 10:46:20 -04:00
require_once '../../modules/monitoring/library/Monitoring/Backend.php';
require_once '../../library/Icinga/Data/BaseQuery.php';
require_once '../../library/Icinga/Data/ResourceFactory.php';
2013-10-07 10:46:20 -04:00
class QueryAdapterTest extends PHPUnit_Framework_TestCase
{
private $cacheDir;
2013-10-07 10:46:20 -04:00
private $backendConfig;
private $resourceConfig;
protected function setUp()
{
$this->cacheDir = '/tmp'. Reader::STATUSDAT_DEFAULT_CACHE_PATH;
if (!file_exists($this->cacheDir)) {
mkdir($this->cacheDir);
}
2013-10-07 10:46:20 -04:00
$statusdatFile = dirname(__FILE__) . '/../../../../../res/status/icinga.status.dat';
$cacheFile = dirname(__FILE__) . '/../../../../../res/status/icinga.objects.cache';
2013-10-07 10:46:20 -04:00
$this->backendConfig = new Zend_Config(
array(
'type' => 'statusdat'
)
);
$this->resourceConfig = new Zend_Config(
array(
2013-10-07 10:46:20 -04:00
'status_file' => $statusdatFile,
2013-10-19 14:09:17 -04:00
'object_file' => $cacheFile,
2013-10-07 10:46:20 -04:00
'type' => 'statusdat'
)
);
}
public function testLimit1()
{
2013-10-07 10:46:20 -04:00
$backend = new Backend($this->backendConfig, $this->resourceConfig);
$query = $backend->select()->from('status');
$adapter = new QueryAdapter($query);
$this->assertEquals(30, $adapter->count());
$data = $adapter->getItems(0, 10);
$this->assertCount(10, $data);
$data = $adapter->getItems(10, 20);
$this->assertCount(10, $data);
}
public function testLimit2()
{
2013-10-07 10:46:20 -04:00
$backend = new Backend($this->backendConfig, $this->resourceConfig);
$query = $backend->select()->from('status');
$adapter = new QueryAdapter($query);
$this->assertEquals(30, $adapter->count());
}
}