def test_address(self): self.mock_proxy_server.return_value.address = ('somehost', 12345) proxy = MitmProxy('somehost', 12345, { 'request_storage_base_dir': '/some/dir', }) self.assertEqual(('somehost', 12345), proxy.address())
def test_shutdown(self): proxy = MitmProxy('somehost', 12345, { 'request_storage_base_dir': '/some/dir', }) proxy.shutdown() self.mock_master.return_value.shutdown.assert_called_once_with() self.mock_storage.return_value.cleanup.assert_called_once_with()
def test_serve_forever(self): self.mock_asyncio.get_event_loop.return_value.is_closed.return_value = False proxy = MitmProxy('somehost', 12345, { 'request_storage_base_dir': '/some/dir', }) proxy.serve_forever() self.mock_asyncio.set_event_loop.assert_called_once_with( proxy._event_loop) self.mock_master.return_value.run_loop.assert_called_once_with( proxy._event_loop.run_forever)
def test_creates_storage(self): proxy = MitmProxy('somehost', 12345, { 'request_storage_base_dir': '/some/dir', }) self.assertEqual(self.mock_storage.return_value, proxy.storage) self.mock_storage.assert_called_once_with(base_dir='/some/dir')
def test_get_event_loop(self): self.mock_asyncio.get_event_loop.return_value.is_closed.return_value = False proxy = MitmProxy('somehost', 12345, { 'request_storage_base_dir': '/some/dir', }) self.assertEqual(self.mock_asyncio.get_event_loop.return_value, proxy._event_loop) self.mock_asyncio.get_event_loop.assert_called_once_with()
def test_upstream_proxy_different(self): with self.assertRaises(ValueError): MitmProxy( 'somehost', 12345, { 'request_storage_base_dir': '/some/dir', 'proxy': { 'http': 'http://proxyserver1:8080', 'https': 'https://proxyserver2:8080' } })
def test_update_mitmproxy_options(self): MitmProxy('somehost', 12345, { 'request_storage_base_dir': '/some/dir', 'mitm_test': 'foobar' }) self.mock_options.return_value.update.has_calls([ call( confdir='~/.mitmproxy', ssl_insecure=True, upstream_cert=False, stream_websockets=True, ), call(test='foobar') ])
def test_upstream_proxy_single(self): MitmProxy( 'somehost', 12345, { 'request_storage_base_dir': '/some/dir', 'proxy': { 'http': 'http://proxyserver:8080', } }) self.mock_options.return_value.update.has_calls([ call(confdir='~/.mitmproxy', ssl_insecure=True, upstream_cert=False, stream_websockets=True, mode='upstream:http://proxyserver:8080'), call() ])
def test_creates_master(self): proxy = MitmProxy('somehost', 12345, { 'request_storage_base_dir': '/some/dir', }) self.assertEqual(self.mock_master.return_value, proxy._master) self.mock_options.assert_called_once_with(listen_host='somehost', listen_port=12345) self.mock_master.assert_called_once_with( self.mock_options.return_value) self.assertEqual(self.mock_proxy_server.return_value, self.mock_master.return_value.server) self.mock_proxy_config.assert_called_once_with( self.mock_options.return_value) self.mock_proxy_server.assert_called_once_with( self.mock_proxy_config.return_value) self.mock_master.return_value.addons.add.assert_has_calls([ call(), call(self.mock_logger.return_value), call(self.mock_handler.return_value) ]) self.mock_addons.default_addons.assert_called_once_with() self.mock_handler.assert_called_once_with(proxy)