Rename application to Samsara and add assessment summary, detailed tabs and local Linux inventory
This commit is contained in:
35
tests/test_summary.py
Normal file
35
tests/test_summary.py
Normal file
@@ -0,0 +1,35 @@
|
||||
import unittest
|
||||
from samsara.analyzers.summary import summarize
|
||||
from samsara.analyzers.assessment import assess
|
||||
from samsara.collectors.demo import collect_demo, LINUX_DEMO_HOST, DEMO_HOST
|
||||
|
||||
class SummaryTests(unittest.TestCase):
|
||||
def test_os_version_workload_and_schedule_evidence(self):
|
||||
for host, version in [(LINUX_DEMO_HOST, '9.4'), (DEMO_HOST, '2022')]:
|
||||
data = collect_demo(host)
|
||||
summary = summarize(data, assess(data))
|
||||
self.assertEqual(summary['version'], version)
|
||||
self.assertTrue(summary['software'])
|
||||
self.assertTrue(summary['jobs'])
|
||||
self.assertEqual(summary['risk_score'], assess(data)['score'])
|
||||
self.assertTrue(all('evidence' in row for row in summary['software']))
|
||||
|
||||
def test_unknown_version_not_kernel_and_disabled_jobs_not_active(self):
|
||||
data = collect_demo(LINUX_DEMO_HOST)
|
||||
data['server']['operating_system'] = 'Enterprise Linux'
|
||||
data['server']['os_build'] = '5.14.0'
|
||||
data['inventory']['tasks'] = [{'name': 'disabled', 'enabled': False}]
|
||||
data['inventory']['software'] = [{'name': 'libsqlite3'}, {'name': 'nginx-doc'}]
|
||||
data['inventory']['services'] = []
|
||||
summary = summarize(data, assess(data))
|
||||
self.assertEqual(summary['version'], 'Not collected')
|
||||
self.assertEqual(summary['jobs'], [])
|
||||
self.assertEqual(summary['software'], [])
|
||||
|
||||
def test_explicit_version_and_missing_schedule(self):
|
||||
data = collect_demo(LINUX_DEMO_HOST)
|
||||
data['server']['os_version'] = '9.5'
|
||||
data['inventory']['tasks'] = [{'name': 'backup', 'enabled': True}]
|
||||
summary = summarize(data, assess(data))
|
||||
self.assertEqual(summary['version'], '9.5')
|
||||
self.assertEqual(summary['jobs'][0]['schedule'], 'Schedule not collected')
|
||||
Reference in New Issue
Block a user