From fbbc2570c64b215da9a65a4c9baa3a1503df2f26 Mon Sep 17 00:00:00 2001 From: Neil Lathwood Date: Fri, 13 Apr 2018 01:37:13 +0100 Subject: [PATCH] Refactor: Exclude modules from json test data when empty (#8533) * refactor: Exclude modules from json test data when empty * applied murrants patch --- LibreNMS/Util/ModuleTestHelper.php | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/LibreNMS/Util/ModuleTestHelper.php b/LibreNMS/Util/ModuleTestHelper.php index 4f6ee0213d..1bfdde20f5 100644 --- a/LibreNMS/Util/ModuleTestHelper.php +++ b/LibreNMS/Util/ModuleTestHelper.php @@ -578,6 +578,10 @@ class ModuleTestHelper // insert new data, don't store duplicate data foreach ($data as $module => $module_data) { + // skip saving modules with no data + if ($this->dataIsEmpty($module_data['discovery']) && $this->dataIsEmpty($module_data['poller'])) { + continue; + } if ($module_data['discovery'] == $module_data['poller']) { $existing_data[$module] = array( 'discovery' => $module_data['discovery'], @@ -682,7 +686,7 @@ class ModuleTestHelper return array_diff_key($row, $keys); }, $rows); } - + if (isset($key)) { $data[$module][$key][$table] = $rows; } else { @@ -779,4 +783,15 @@ class ModuleTestHelper } return $this->json_file; } + + private function dataIsEmpty($data) + { + foreach ($data as $table_data) { + if (!empty($table_data)) { + return false; + } + } + + return true; + } }