mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
Fix test regressions introduced while tests were broken (#16399)
* AuthSSOTest: clear roles cache * PollingJob: When a poller module doesn't exist, return null instead of false. Skip all other checks and disable polling in that case. * Sensors: Guess high and low limits separately as needed * Sensors: drac test psu current data was wrong, referencing the snmprec, 8 / 10 and 0 / 10 should be the values NOTE: drac is messed up and runs a billion snmp queriess for no reason * please phpstan * Sensors: limits reference old code move to "creating" * Fix gw-eydfa accidental assignment * Fix ies5000 test data now that the bad state is removed * Fix ies5000 test data part 2 * Move sensor discovery reset into discover_device() * infinera remove duplicate sensor (also a lot of trailing whitespace apparently) * Fix innovaphone bad yaml discovery * module tests should be using null when test data doesn't exist, not an empty array * When discovery or polling is not supported, dump null instead of an array. Account for nulls in testing * update ISE serial * Janitza was seemingly wrong before * Remove some private data * bgp-peers requires ipv4-addresses and ipv6-addresses for bgpPeerIface * fix polycomLens broken state sensor discovery * Raritan pdu and pdu2 test data was combined in one test file, split it out * scs-ks duplicate temperature sensor indexes * sentry3 someone tried to avoid breaking stuff but just broke things more * smartos-dcp-m fix incorrect numeric oids * ssu2000 apparently test data was wrong, must have fixed a bug in the code. * timos remove duplicate dbm sensor definitions * bgpPeerIface is working in tests now * Fix moxa-etherdevice when mibs are a bit different * xw_to_dbm negative values should return null * Update cisco test data due previous fixes/changes * One more bgpPeerIface * Add orderBy to ospf module db dumps * Remove links test data for now * Improve handling of bad data in ipv6-addresses module
This commit is contained in:
@@ -119,8 +119,8 @@ class OSModulesTest extends DBTestCase
|
||||
$phpunit_debug = in_array('--debug', $_SERVER['argv'], true);
|
||||
|
||||
foreach ($modules as $module => $module_status) {
|
||||
$expected = $expected_data[$module]['discovery'] ?? [];
|
||||
$actual = $results[$module]['discovery'] ?? [];
|
||||
$expected = $expected_data[$module]['discovery'] ?? null;
|
||||
$actual = $results[$module]['discovery'] ?? null;
|
||||
$this->checkTestData($expected, $actual, 'Discovered', $os, $module, $filename, $helper, $phpunit_debug);
|
||||
|
||||
// modules without polling
|
||||
@@ -129,9 +129,9 @@ class OSModulesTest extends DBTestCase
|
||||
}
|
||||
|
||||
if ($expected_data[$module]['poller'] !== 'matches discovery') {
|
||||
$expected = $expected_data[$module]['poller'] ?? [];
|
||||
$expected = $expected_data[$module]['poller'] ?? null;
|
||||
}
|
||||
$actual = $results[$module]['poller'] ?? [];
|
||||
$actual = $results[$module]['poller'] ?? null;
|
||||
$this->checkTestData($expected, $actual, 'Polled', $os, $module, $filename, $helper, $phpunit_debug);
|
||||
}
|
||||
|
||||
@@ -174,10 +174,13 @@ class OSModulesTest extends DBTestCase
|
||||
});
|
||||
}
|
||||
|
||||
private function checkTestData(array $expected, array $actual, string $type, string $os, mixed $module, string $filename, ModuleTestHelper $helper, bool $phpunit_debug): void
|
||||
private function checkTestData(?array $expected, ?array $actual, string $type, string $os, mixed $module, string $filename, ModuleTestHelper $helper, bool $phpunit_debug): void
|
||||
{
|
||||
// try simple and fast comparison first, if that fails, do a costly/well formatted comparison
|
||||
if ($expected != $actual) {
|
||||
$this->assertNotNull($actual, "OS $os: $type $module no data generated when it is expected");
|
||||
$this->assertNotNull($expected, "OS $os: $type $module generates data when none is expected");
|
||||
|
||||
$message = Color::colorize('bg-red', "OS $os: $type $module data does not match that found in $filename");
|
||||
$message .= PHP_EOL;
|
||||
$message .= ($type == 'Discovered'
|
||||
|
||||
Reference in New Issue
Block a user