mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
Refactor tests (#10625)
* Refactor tests Boot Laravel for all tests. Config use private static property for storage instead of global * Backup/restore modules * disable snmpsim log * Fixing DBTestCase * Fix macros loading to the wrong place * trap and other tests should check if db is available * don't include snmp.inc.php if mock.snmp.inc.php is already included... * fix migration * if we don't reset the db, run migrations at least. * set vars for migrate too * Fix style * ignore issues with undefined indexes in legacy code
This commit is contained in:
@@ -25,12 +25,34 @@
|
||||
|
||||
namespace LibreNMS\Tests;
|
||||
|
||||
use LibreNMS\Config;
|
||||
use LibreNMS\Exceptions\FileNotFoundException;
|
||||
use LibreNMS\Exceptions\InvalidModuleException;
|
||||
use LibreNMS\Util\ModuleTestHelper;
|
||||
|
||||
class OSModulesTest extends DBTestCase
|
||||
{
|
||||
private $discoveryModules;
|
||||
private $pollerModules;
|
||||
|
||||
public function setUp(): void
|
||||
{
|
||||
parent::setUp();
|
||||
|
||||
// backup modules
|
||||
$this->discoveryModules = Config::get('discovery_modules');
|
||||
$this->pollerModules = Config::get('poller_modules');
|
||||
}
|
||||
|
||||
public function tearDown(): void
|
||||
{
|
||||
// restore modules
|
||||
Config::set('discovery_modules', $this->discoveryModules);
|
||||
Config::set('poller_modules', $this->pollerModules);
|
||||
|
||||
parent::tearDown();
|
||||
}
|
||||
|
||||
/**
|
||||
* Test all modules for a particular OS
|
||||
*
|
||||
@@ -59,16 +81,15 @@ class OSModulesTest extends DBTestCase
|
||||
public function testOS($os, $variant, $modules)
|
||||
{
|
||||
$this->requireSnmpsim(); // require snmpsim for tests
|
||||
global $snmpsim;
|
||||
load_all_os(); // wiped out by application refresh
|
||||
|
||||
try {
|
||||
set_debug(false); // avoid all undefined index errors in the legacy code
|
||||
$helper = new ModuleTestHelper($modules, $os, $variant);
|
||||
$helper->setQuiet();
|
||||
|
||||
$filename = $helper->getJsonFilepath(true);
|
||||
$expected_data = $helper->getTestData();
|
||||
$results = $helper->generateTestData($snmpsim, true);
|
||||
$results = $helper->generateTestData($this->getSnmpsim(), true);
|
||||
} catch (FileNotFoundException $e) {
|
||||
$this->fail($e->getMessage());
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user