mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
Testing ResultSet
This commit is contained in:
@@ -41,8 +41,33 @@ class ResultSet
|
|||||||
*
|
*
|
||||||
* @return array $points
|
* @return array $points
|
||||||
*/
|
*/
|
||||||
public function getPoints($metricName = '', $tags = array())
|
public function getPoints($metricName = '', array $tags = array())
|
||||||
{
|
{
|
||||||
return array();
|
$points = array();
|
||||||
|
|
||||||
|
// todo: we are considering always have a metricName
|
||||||
|
foreach ($this->parsedResults['results'] as $result) {
|
||||||
|
|
||||||
|
foreach ($result['series'] as $serie) {
|
||||||
|
if ($serie['measurement'] == $metricName) {
|
||||||
|
|
||||||
|
$points[] = $this->getPointsFromSerie($serie);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $points;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param array $serie
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
private function getPointsFromSerie(array $serie)
|
||||||
|
{
|
||||||
|
return array_combine(
|
||||||
|
$serie['columns'],
|
||||||
|
array_shift($serie['values'])
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -14,14 +14,46 @@ class ResultSetTest extends \PHPUnit_Framework_TestCase
|
|||||||
$this->resultSet = new ResultSet($resultJsonExample);
|
$this->resultSet = new ResultSet($resultJsonExample);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @expectedException \InvalidArgumentException
|
||||||
|
*/
|
||||||
|
public function testThrowsExceptionIfJSONisNotValid()
|
||||||
|
{
|
||||||
|
$invalidJSON = 'foo';
|
||||||
|
|
||||||
|
new ResultSet($invalidJSON);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* We can get points for a measurement
|
||||||
|
*/
|
||||||
public function testGetPointsFromMeasurementName()
|
public function testGetPointsFromMeasurementName()
|
||||||
{
|
{
|
||||||
$measurementName = 'cpu_load_short';
|
$measurementName = 'cpu_load_short';
|
||||||
|
$expectedNumberOfPoints = 2;
|
||||||
|
$expectedValueFromFirstPoint = 0.64;
|
||||||
|
|
||||||
$points = $this->resultSet->getPoints($measurementName);
|
$points = $this->resultSet->getPoints($measurementName);
|
||||||
|
|
||||||
$this->assertTrue(
|
$this->assertTrue(
|
||||||
is_array($points)
|
is_array($points)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
$this->assertCount($expectedNumberOfPoints, $points);
|
||||||
|
|
||||||
|
$somePoint = array_shift($points);
|
||||||
|
|
||||||
|
$this->assertEquals($expectedValueFromFirstPoint, $somePoint['value']);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testGetPointsFromTags()
|
||||||
|
{
|
||||||
|
$tags = array("host" => "server01");
|
||||||
|
|
||||||
|
$points = $this->resultSet->getPoints('', $tags);
|
||||||
|
|
||||||
|
$this->assertTrue(
|
||||||
|
is_array($points)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user