Rename application to Samsara and add assessment summary, detailed tabs and local Linux inventory

This commit is contained in:
2026-10-30 10:25:55 -07:00
parent 365f97942a
commit 967b2bd46a
37 changed files with 985 additions and 541 deletions

View File

@@ -4,11 +4,11 @@ import tempfile
import unittest
from unittest.mock import patch
from server_buddy.collectors.linux import (collect_local_linux, parse_connections,
from samsara.collectors.linux import (collect_local_linux, parse_connections,
parse_units, run_command, CollectionCancelled)
from server_buddy.collectors.demo import collect_demo, LINUX_DEMO_HOST
from server_buddy.analyzers.assessment import assess
from server_buddy.reporting.export import export_html
from samsara.collectors.demo import collect_demo, LINUX_DEMO_HOST
from samsara.analyzers.assessment import assess
from samsara.reporting.export import export_html
class LinuxTests(unittest.TestCase):
@@ -28,12 +28,12 @@ class LinuxTests(unittest.TestCase):
self.assertEqual(rows[1]['process'], 'nginx')
self.assertEqual(rows[1]['direction'], 'Unknown')
@patch('server_buddy.collectors.linux.platform.system', return_value='Windows')
@patch('samsara.collectors.linux.platform.system', return_value='Windows')
def test_wrong_execution_platform(self, system):
with self.assertRaises(ValueError):
collect_local_linux()
@patch('server_buddy.collectors.linux.platform.system', return_value='Linux')
@patch('samsara.collectors.linux.platform.system', return_value='Linux')
def test_partial_failures_never_use_demo(self, system):
def unavailable(args, **kwargs):
raise RuntimeError('SECRET diagnostics must not be reported')
@@ -46,7 +46,7 @@ class LinuxTests(unittest.TestCase):
self.assertNotIn('SECRET', json.dumps(data))
self.assertEqual(data['checks']['certificates']['status'], 'not_collected')
@patch('server_buddy.collectors.linux.platform.system', return_value='Linux')
@patch('samsara.collectors.linux.platform.system', return_value='Linux')
def test_cancel(self, system):
with self.assertRaises(CollectionCancelled):
collect_local_linux(cancelled=lambda: True)
@@ -61,7 +61,7 @@ class LinuxTests(unittest.TestCase):
if args[0] == 'dpkg-query':
return 'installed\tnginx:amd64\t1.2\nconfig-files\tremoved\t1.0\n'
return ''
with self.subTest(rpm=rpm), patch('server_buddy.collectors.linux.platform.system', return_value='Linux'), patch('server_buddy.collectors.linux.Path.is_file', return_value=rpm):
with self.subTest(rpm=rpm), patch('samsara.collectors.linux.platform.system', return_value='Linux'), patch('samsara.collectors.linux.Path.is_file', return_value=rpm):
data = collect_local_linux(runner=command)
self.assertEqual(len(data['inventory']['software']), 1)
self.assertIn('nginx', data['inventory']['software'][0]['name'])