@@ -2164,7 +2164,7 @@ def test_device_id_from_context_is_used_in_flags_request(self, patch_flags):
21642164
21652165 @parameterized .expand (
21662166 [
2167- # name, sys_platform, version_info, expected_runtime, expected_version, expected_os, expected_os_version, platform_method, platform_return, distro_info
2167+ # name, sys_platform, version_info, expected_runtime, expected_version, expected_os, expected_os_version, expected_os_distro, platform_method, platform_return
21682168 (
21692169 "macOS" ,
21702170 "darwin" ,
@@ -2173,9 +2173,9 @@ def test_device_id_from_context_is_used_in_flags_request(self, patch_flags):
21732173 "3.8.10" ,
21742174 "Mac OS X" ,
21752175 "10.15.7" ,
2176+ None ,
21762177 "mac_ver" ,
21772178 ("10.15.7" , "" , "" ),
2178- None ,
21792179 ),
21802180 (
21812181 "Windows" ,
@@ -2185,9 +2185,9 @@ def test_device_id_from_context_is_used_in_flags_request(self, patch_flags):
21852185 "3.8.10" ,
21862186 "Windows" ,
21872187 "10" ,
2188+ None ,
21882189 "win32_ver" ,
21892190 ("10" , "" , "" , "" ),
2190- None ,
21912191 ),
21922192 (
21932193 "Linux" ,
@@ -2197,9 +2197,9 @@ def test_device_id_from_context_is_used_in_flags_request(self, patch_flags):
21972197 "3.8.10" ,
21982198 "Linux" ,
21992199 "20.04" ,
2200+ "Ubuntu" ,
22002201 None ,
22012202 None ,
2202- {"version" : "20.04" },
22032203 ),
22042204 ]
22052205 )
@@ -2212,9 +2212,9 @@ def test_mock_system_context(
22122212 expected_version ,
22132213 expected_os ,
22142214 expected_os_version ,
2215+ expected_os_distro ,
22152216 platform_method ,
22162217 platform_return ,
2217- distro_info ,
22182218 ):
22192219 """Test that we can mock platform and sys for testing system_context"""
22202220 with mock .patch ("posthog.utils.platform" ) as mock_platform :
@@ -2232,11 +2232,10 @@ def test_mock_system_context(
22322232
22332233 # Special handling for Linux which uses distro module
22342234 if sys_platform == "linux" :
2235- # Directly patch the get_os_info function to return our expected values
2236- with mock .patch (
2237- "posthog.utils.get_os_info" ,
2238- return_value = (expected_os , expected_os_version ),
2239- ):
2235+ with mock .patch ("posthog.utils.distro" ) as mock_distro :
2236+ mock_distro .info .return_value = {"version" : expected_os_version }
2237+ mock_distro .name .return_value = expected_os_distro or ""
2238+
22402239 from posthog .utils import system_context
22412240
22422241 context = system_context ()
@@ -2254,6 +2253,9 @@ def test_mock_system_context(
22542253 "$os_version" : expected_os_version ,
22552254 }
22562255
2256+ if sys_platform == "linux" :
2257+ expected_context ["$os_distro" ] = expected_os_distro
2258+
22572259 assert context == expected_context
22582260
22592261 @mock .patch ("posthog.client.flags" )
0 commit comments