@@ -30,64 +30,64 @@ def test_get_debian_packages(self, mock_co):
3030 self .assertEqual (pkg [0 ]["version" ], "23.01+dfsg-11" )
3131 self .assertEqual (pkg [0 ]["architecture" ], "amd64" )
3232
33- @patch ("glob.glob" )
34- def test_get_bios_info_success (self , mock_glob ):
33+ def test_get_bios_info_success (self ):
3534 """Test successful retrieval of multiple BIOS files."""
36- # Setup mocks
37- mock_glob .return_items = [
38- "/sys/class/dmi/id/bios_vendor" ,
39- "/sys/class/dmi/id/bios_version" ,
40- ]
41- mock_glob .return_value = mock_glob .return_items
42-
43- # Use a mapping for mock_open to return different data for different files
44- file_contents = {
45- "/sys/class/dmi/id/bios_vendor" : "Dell Inc." ,
46- "/sys/class/dmi/id/bios_version" : "1.5.0" ,
47- }
4835
49- def side_effect_open (filename , mode ):
50- content = file_contents .get (filename , "" )
51- return mock_open (read_data = content ).return_value
36+ file_contents = [
37+ "2026/03/20" ,
38+ "v1.0" ,
39+ "Dell Inc." ,
40+ "1.5.0" ,
41+ ]
5242
53- with patch ("builtins.open" , side_effect = side_effect_open ):
43+ with patch (
44+ "checkbox_ng.support.device_info.Path.read_text" ,
45+ side_effect = file_contents ,
46+ ):
5447 result = device_info .get_bios_info ()
5548
56- self .assertEqual (result ["bios_vendor " ], "Dell Inc." )
57- self .assertEqual (result ["bios_version " ], "1.5.0" )
58- self .assertEqual (len (result ), 2 )
49+ self .assertEqual (result ["vendor " ], "Dell Inc." )
50+ self .assertEqual (result ["version " ], "1.5.0" )
51+ self .assertEqual (len (result ), 4 )
5952
60- @patch ("glob.glob" )
61- def test_get_bios_info_empty (self , mock_glob ):
53+ def test_get_bios_info_empty (self ):
6254 """Test behavior when no bios_* files are found."""
63- mock_glob .return_value = []
64-
65- result = device_info .get_bios_info ()
55+ with patch (
56+ "checkbox_ng.support.device_info.Path.read_text" ,
57+ side_effect = FileNotFoundError ,
58+ ):
59+ result = device_info .get_bios_info ()
6660
67- self .assertEqual (result , {})
61+ self .assertEqual (
62+ result ,
63+ {"date" : None , "release" : None , "vendor" : None , "version" : None },
64+ )
6865
69- @patch ("glob.glob" )
70- @patch ("os.path.basename" )
71- def test_get_bios_info_permission_denied (self , mock_basename , mock_glob ):
66+ def test_get_bios_info_permission_denied (self ):
7267 """Test behavior when a file exists but cannot be read."""
73- mock_glob .return_value = ["/sys/class/dmi/id/bios_version" ]
74- mock_basename .return_value = "bios_version"
75-
76- # Force a PermissionError when trying to open the file
77- with patch ("builtins.open" , side_effect = PermissionError ):
68+ with patch (
69+ "checkbox_ng.support.device_info.Path.read_text" ,
70+ side_effect = PermissionError ,
71+ ):
7872 result = device_info .get_bios_info ()
79- self .assertEqual (result , {})
73+
74+ self .assertEqual (
75+ result ,
76+ {"date" : None , "release" : None , "vendor" : None , "version" : None },
77+ )
8078
8179 @patch ("checkbox_ng.support.device_info.get_debian_packages" )
8280 @patch ("checkbox_ng.support.device_info.get_devices" )
8381 @patch ("checkbox_ng.support.device_info.get_release_info" )
8482 @patch ("checkbox_ng.support.device_info.get_meminfo" )
8583 @patch ("checkbox_ng.support.device_info.get_snap_packages" )
8684 @patch ("checkbox_ng.support.device_info.get_uname" )
85+ @patch ("checkbox_ng.support.device_info.get_bios_info" )
8786 @patch ("checkbox_ng.support.device_info.get_kernel_cmdline" )
8887 def test_kernel_cmdline_subcommand_uses_only_kernel_getter (
8988 self ,
9089 mock_kernel_cmdline ,
90+ mock_bios_info ,
9191 mock_uname ,
9292 mock_snap_packages ,
9393 mock_meminfo ,
@@ -105,6 +105,7 @@ def test_kernel_cmdline_subcommand_uses_only_kernel_getter(
105105 )
106106 mock_kernel_cmdline .assert_called_once_with ()
107107 mock_uname .assert_not_called ()
108+ mock_bios_info .assert_not_called ()
108109 mock_meminfo .assert_not_called ()
109110 mock_release_info .assert_not_called ()
110111 mock_devices .assert_not_called ()
0 commit comments