diff options
author | Maximilian Hils <git@maximilianhils.com> | 2016-03-18 20:36:57 +0100 |
---|---|---|
committer | Maximilian Hils <git@maximilianhils.com> | 2016-03-19 03:04:55 +0100 |
commit | fb0b17ee93f463054c06f035f0d68a4f55c9b2af (patch) | |
tree | 703ab97f210c7a31a35edc93b560814e31189bc3 /test/mitmproxy/script | |
parent | 7e49b8c186c45bd2284f45fc181192aa0025be87 (diff) | |
download | mitmproxy-fb0b17ee93f463054c06f035f0d68a4f55c9b2af.tar.gz mitmproxy-fb0b17ee93f463054c06f035f0d68a4f55c9b2af.tar.bz2 mitmproxy-fb0b17ee93f463054c06f035f0d68a4f55c9b2af.zip |
simplify tests for @concurrent
Diffstat (limited to 'test/mitmproxy/script')
-rw-r--r-- | test/mitmproxy/script/test_concurrent.py | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/test/mitmproxy/script/test_concurrent.py b/test/mitmproxy/script/test_concurrent.py new file mode 100644 index 00000000..a9c9e153 --- /dev/null +++ b/test/mitmproxy/script/test_concurrent.py @@ -0,0 +1,32 @@ +from threading import Event + +from mitmproxy.script import Script +from test.mitmproxy import tutils + + +class Dummy: + def __init__(self, reply): + self.reply = reply + + +@tutils.skip_appveyor +def test_concurrent(): + with Script(tutils.test_data.path("scripts/concurrent_decorator.py"), None) as s: + def reply(): + reply.acked.set() + reply.acked = Event() + + f1, f2 = Dummy(reply), Dummy(reply) + s.run("request", f1) + f1.reply() + s.run("request", f2) + f2.reply() + assert f1.reply.acked == reply.acked + assert not reply.acked.is_set() + assert reply.acked.wait(10) + + +def test_concurrent_err(): + s = Script(tutils.test_data.path("scripts/concurrent_decorator_err.py"), None) + with tutils.raises("Concurrent decorator not supported for 'start' method"): + s.load() |