Exemplo n.º 1
0
    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 == []
Exemplo n.º 2
0
    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 == []
Exemplo n.º 3
0
    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 == []
Exemplo n.º 4
0
    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 == []
Exemplo n.º 5
0
    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 == []
Exemplo n.º 6
0
    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 == []