def test_main(self): """ test main function """ def se_config_get(name): x = { 'api_port': 8088, 'verbose': 0, 'mongo_host': 'mhost', 'mongo_port': 1234 } return x.get(name, None) mock_args = Mock(verbose=0, show_config=False) with patch('%s.logger' % pbm, autospec=True) as mocklogger: with patch.multiple( pbm, autospec=True, APIServer=DEFAULT, Site=DEFAULT, reactor=DEFAULT, PythonLoggingObserver=DEFAULT, parse_args=DEFAULT, show_config=DEFAULT, Config=DEFAULT, set_log_info=DEFAULT, set_log_debug=DEFAULT, connect_mongodb=DEFAULT, ) as mocks: mocks['Config'].return_value.get.side_effect = se_config_get mocks['parse_args'].return_value = mock_args mocks['connect_mongodb'].return_value = self.mock_mongo with patch.object(sys, 'argv', ['bad', 'foo', 'bar']): main() assert mocks['show_config'].mock_calls == [] assert mocks['parse_args'].mock_calls == [call(['foo', 'bar'])] assert mocks['connect_mongodb'].mock_calls == [call('mhost', 1234)] assert mocks['APIServer'].mock_calls == [ call(self.mock_mongo), call().app.resource() ] site_app_res = mocks[ 'APIServer'].return_value.app.resource.return_value assert mocks['Site'].mock_calls == [call(site_app_res)] assert mocks['reactor'].mock_calls == [ call.listenTCP(8088, mocks['Site'].return_value), call.run() ] assert mocks['PythonLoggingObserver'].mock_calls == [ call(), call().start() ] assert mocklogger.mock_calls == [ call.debug('instantiating apiserver'), call.debug("reactor.listenTCP"), call.debug("reactor.run() - listening on port %d", 8088), call.debug("reactor.run() returned") ] assert mocks['set_log_info'].mock_calls == [] assert mocks['set_log_debug'].mock_calls == []
def test_main_show_config(self): """ test main function """ def se_config_get(name): x = { 'api_port': 8088, 'verbose': 0, 'mongo_host': 'mhost', 'mongo_port': 1234 } return x.get(name, None) mock_args = Mock(verbose=0, show_config=True) with patch('%s.logger' % pbm, autospec=True) as mocklogger: with patch.multiple( pbm, autospec=True, APIServer=DEFAULT, Site=DEFAULT, reactor=DEFAULT, PythonLoggingObserver=DEFAULT, parse_args=DEFAULT, show_config=DEFAULT, Config=DEFAULT, set_log_info=DEFAULT, set_log_debug=DEFAULT, connect_mongodb=DEFAULT, ) as mocks: mocks['Config'].return_value.get.side_effect = se_config_get mocks['parse_args'].return_value = mock_args mocks['connect_mongodb'].return_value = self.mock_mongo with patch.object(sys, 'argv', []): with pytest.raises(SystemExit) as excinfo: main() assert excinfo.value.code == 1 assert mocks['show_config'].mock_calls == [ call(mocks['Config'].return_value) ] assert mocks['parse_args'].mock_calls == [call([])] assert mocks['APIServer'].mock_calls == [] assert mocks['connect_mongodb'].mock_calls == [] assert mocks['Site'].mock_calls == [] assert mocks['reactor'].mock_calls == [] assert mocks['PythonLoggingObserver'].mock_calls == [] assert mocklogger.mock_calls == [] assert mocks['set_log_info'].mock_calls == [] assert mocks['set_log_debug'].mock_calls == []
def test_main_log_info_cli_sys_argv(self): """ test main function """ def se_config_get(name): x = { 'api_port': 8088, 'verbose': 0, 'mongo_host': 'mhost', 'mongo_port': 1234 } return x.get(name, None) mock_args = Mock(verbose=1, show_config=False) with patch('%s.logger' % pbm, autospec=True): with patch.multiple( pbm, autospec=True, APIServer=DEFAULT, Site=DEFAULT, reactor=DEFAULT, PythonLoggingObserver=DEFAULT, parse_args=DEFAULT, show_config=DEFAULT, Config=DEFAULT, set_log_info=DEFAULT, set_log_debug=DEFAULT, connect_mongodb=DEFAULT, ) as mocks: mocks['Config'].return_value.get.side_effect = se_config_get mocks['parse_args'].return_value = mock_args with patch.object(sys, 'argv', ['bad', 'foo', 'bar']): main() assert mocks['parse_args'].mock_calls == [call(['foo', 'bar'])] assert mocks['PythonLoggingObserver'].mock_calls == [ call(), call().start() ] assert mocks['set_log_info'].mock_calls == [call()] assert mocks['set_log_debug'].mock_calls == []
def test_main(self): """ test main function """ def se_config_get(name): x = { 'api_port': 8088, 'verbose': 0, 'mongo_host': 'mhost', 'mongo_port': 1234 } return x.get(name, None) mock_args = Mock(verbose=0, show_config=False) with patch('%s.logger' % pbm, autospec=True) as mocklogger: with patch.multiple( pbm, autospec=True, APIServer=DEFAULT, Site=DEFAULT, reactor=DEFAULT, PythonLoggingObserver=DEFAULT, parse_args=DEFAULT, show_config=DEFAULT, Config=DEFAULT, set_log_info=DEFAULT, set_log_debug=DEFAULT, connect_mongodb=DEFAULT, ) as mocks: mocks['Config'].return_value.get.side_effect = se_config_get mocks['parse_args'].return_value = mock_args mocks['connect_mongodb'].return_value = self.mock_mongo with patch.object(sys, 'argv', ['bad', 'foo', 'bar']): main() assert mocks['show_config'].mock_calls == [] assert mocks['parse_args'].mock_calls == [call(['foo', 'bar'])] assert mocks['connect_mongodb'].mock_calls == [call('mhost', 1234)] assert mocks['APIServer'].mock_calls == [ call(self.mock_mongo), call().app.resource() ] site_app_res = mocks[ 'APIServer'].return_value.app.resource.return_value assert mocks['Site'].mock_calls == [ call(site_app_res) ] assert mocks['reactor'].mock_calls == [ call.listenTCP(8088, mocks['Site'].return_value), call.run() ] assert mocks['PythonLoggingObserver'].mock_calls == [ call(), call().start() ] assert mocklogger.mock_calls == [ call.debug('instantiating apiserver'), call.debug("reactor.listenTCP"), call.debug("reactor.run() - listening on port %d", 8088), call.debug("reactor.run() returned") ] assert mocks['set_log_info'].mock_calls == [] assert mocks['set_log_debug'].mock_calls == []