def test_edgechromium_webdriver_supports_browser(): # EdgeDriver binary cannot be called. edge = browser.EdgeChromium(logger) edge.webdriver_version = mock.MagicMock(return_value=None) assert not edge.webdriver_supports_browser('/usr/bin/edgedriver', '/usr/bin/edge') # Browser binary cannot be called. edge = browser.EdgeChromium(logger) edge.webdriver_version = mock.MagicMock(return_value='70.0.1') edge.version = mock.MagicMock(return_value=None) assert edge.webdriver_supports_browser('/usr/bin/edgedriver', '/usr/bin/edge') # Browser version matches. edge = browser.EdgeChromium(logger) edge.webdriver_version = mock.MagicMock(return_value='70.0.1') edge.version = mock.MagicMock(return_value='70.1.5') assert edge.webdriver_supports_browser('/usr/bin/edgedriver', '/usr/bin/edge') # Browser version doesn't match. edge = browser.EdgeChromium(logger) edge.webdriver_version = mock.MagicMock(return_value='70.0.1') edge.version = mock.MagicMock(return_value='69.0.1') assert not edge.webdriver_supports_browser('/usr/bin/edgedriver', '/usr/bin/edge')
def test_edgechromium_webdriver_version(mocked_call): edge = browser.EdgeChromium(logger) webdriver_binary = '/usr/bin/edgedriver' # Working cases. mocked_call.return_value = 'MSEdgeDriver 84.0.4147.30' assert edge.webdriver_version(webdriver_binary) == '84.0.4147.30' mocked_call.return_value = 'MSEdgeDriver 87.0.1 (abcd1234-refs/branch-heads/4147@{#310})' assert edge.webdriver_version(webdriver_binary) == '87.0.1' # Various invalid version strings mocked_call.return_value = 'Edge 84.0.4147.30 (dev)' assert edge.webdriver_version(webdriver_binary) is None mocked_call.return_value = 'MSEdgeDriver New 84.0.4147.30' assert edge.webdriver_version(webdriver_binary) is None mocked_call.return_value = '' assert edge.webdriver_version(webdriver_binary) is None # The underlying subprocess call throws. mocked_call.side_effect = subprocess.CalledProcessError(5, 'cmd', output='Call failed') assert edge.webdriver_version(webdriver_binary) is None