Rename application to Samsara and add assessment summary, detailed tabs and local Linux inventory
This commit is contained in:
34
tests/test_detection.py
Normal file
34
tests/test_detection.py
Normal file
@@ -0,0 +1,34 @@
|
||||
import unittest
|
||||
from unittest.mock import patch
|
||||
from samsara.core.detection import detect_local_os, check_profile, PROFILES
|
||||
|
||||
class DetectionTests(unittest.TestCase):
|
||||
@patch('samsara.core.detection.platform.system', return_value='Linux')
|
||||
def test_rhel_and_compatible_release(self, system):
|
||||
for release in ['ID=rhel\nVERSION_ID="9.4"\nPRETTY_NAME="Red Hat Enterprise Linux 9.4"',
|
||||
'ID=rocky\nID_LIKE="rhel centos fedora"\nVERSION_ID=9.4']:
|
||||
with patch('samsara.core.detection.Path.read_text', return_value=release):
|
||||
info = detect_local_os()
|
||||
self.assertEqual(info['family'], 'rhel')
|
||||
self.assertEqual(info['version'], '9')
|
||||
check_profile(info, 'rhel:9')
|
||||
check_profile(info, 'rhel:any')
|
||||
with self.assertRaises(ValueError):
|
||||
check_profile(info, 'rhel:8')
|
||||
|
||||
@patch('samsara.core.detection.platform.system', return_value='Linux')
|
||||
@patch('samsara.core.detection.Path.read_text', return_value='ID=linuxmint\nID_LIKE="ubuntu debian"\nVERSION_ID=22\nPRETTY_NAME="Linux Mint"')
|
||||
def test_generic_linux_not_misidentified_as_rhel(self, release, system):
|
||||
info = detect_local_os()
|
||||
self.assertEqual(info['family'], 'linux')
|
||||
check_profile(info, 'auto')
|
||||
with self.assertRaises(ValueError):
|
||||
check_profile(info, 'rhel:any')
|
||||
|
||||
@patch('samsara.core.detection.platform.system', return_value='Windows')
|
||||
@patch('samsara.core.detection.platform.win32_ver', return_value=('11', '', '', ''))
|
||||
def test_windows_desktop_not_invented_as_server(self, version, system):
|
||||
info = detect_local_os()
|
||||
self.assertEqual(info['platform'], 'windows')
|
||||
self.assertEqual(info['version'], '')
|
||||
self.assertIn(('Windows Server 2025', 'windows:2025'), PROFILES)
|
||||
Reference in New Issue
Block a user