Added test

This commit is contained in:
kira0204 2018-01-27 04:39:37 +05:30
parent 3b51f61272
commit 2bcbaaece2
2 changed files with 35 additions and 1 deletions

View file

@ -12,6 +12,10 @@ from mitmproxy import flow
class Share:
def __init__(self):
self.res = None
self.u_id = None
def encode_multipart_formdata(self, filename, content):
params = {"key": filename, "acl": "bucket-owner-full-control", "Content-Type": "application/octet-stream"}
LIMIT = b'---------------------------198495659117975628761412556003'
@ -69,5 +73,7 @@ class Share:
f.seek(0)
content = f.read()
res = self.post_multipart('upload.share.mitmproxy.org.s3.amazonaws.com', u_id, content)
self.res = res
self.u_id = u_id
f.close()
ctx.log.alert("%s" % res)

View file

@ -1 +1,29 @@
# TODO: Write test
from unittest import mock
import http.client
from mitmproxy.test import taddons
from mitmproxy.test import tflow
from mitmproxy.addons import share
from mitmproxy.addons import view
def test_share_command():
with mock.patch('mitmproxy.addons.share.http.client.HTTPConnection') as mock_http:
sh = share.Share()
with taddons.context() as tctx:
sh.share([tflow.tflow(resp=True)])
assert sh.res == "URL: share.mitmproxy.org/%s" % sh.u_id
mock_http.return_value.getresponse.side_effect = http.client.RemoteDisconnected
sh.share([tflow.tflow(resp=True)])
assert sh.res == "The server couldn\'t fulfill the request."
mock_http.return_value.request.side_effect = http.client.CannotSendRequest
sh.share([tflow.tflow(resp=True)])
assert sh.res == "We failed to reach a server."
v = view.View()
tctx.master.addons.add(v)
tctx.master.addons.add(sh)
tctx.master.commands.call_args("share.flows", ["@shown"])