aboutsummaryrefslogtreecommitdiffstats
path: root/test/mitmproxy/addons/test_browser.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/mitmproxy/addons/test_browser.py')
-rw-r--r--test/mitmproxy/addons/test_browser.py31
1 files changed, 31 insertions, 0 deletions
diff --git a/test/mitmproxy/addons/test_browser.py b/test/mitmproxy/addons/test_browser.py
new file mode 100644
index 00000000..407a3fe6
--- /dev/null
+++ b/test/mitmproxy/addons/test_browser.py
@@ -0,0 +1,31 @@
+from unittest import mock
+
+from mitmproxy.addons import browser
+from mitmproxy.test import taddons
+
+
+def test_browser():
+ with mock.patch("subprocess.Popen") as po, mock.patch("shutil.which") as which:
+ which.return_value = "chrome"
+ b = browser.Browser()
+ with taddons.context() as tctx:
+ b.start()
+ assert po.called
+ b.start()
+
+ assert not tctx.master.has_log("already running")
+ b.browser.poll = lambda: None
+ b.start()
+ assert tctx.master.has_log("already running")
+ b.done()
+ assert not b.browser
+
+
+def test_no_browser():
+ with mock.patch("shutil.which") as which:
+ which.return_value = False
+
+ b = browser.Browser()
+ with taddons.context() as tctx:
+ b.start()
+ assert tctx.master.has_log("platform is not supported")