def test_run(self, requests_mock):
        requests_mock.get = get_request_mock
        requests_mock.post = mock.Mock(return_value=mock.MagicMock(
            status_code=201))

        bridge = RiskIndicatorBridge(self.config)

        sleep_mock = mock.Mock()
        sleep_mock.side_effect = StopIteration
        with mock.patch("openprocurement.bot.risk_indicators.bridge.sleep",
                        sleep_mock):
            try:
                bridge.run()
            except StopIteration:
                pass

        requests_mock.post.assert_called_once_with(
            'https://audit-api-dev.prozorro.gov.ua/api/2.4/monitorings',
            headers={
                'Authorization': 'Bearer 11111111111111111111111111111111'
            },
            json={
                "data": {
                    'reasons': ['indicator'],
                    'procuringStages': ['planning'],
                    'tender_id': '4',
                    'riskIndicators': ['1', '4'],
                    'riskIndicatorsTotalImpact': 0.099,
                    'riskIndicatorsRegion': u"Севастополь",
                }
            },
            timeout=bridge.request_timeout)
    def test_process_risks_exception(self, process_risks_mock):
        process_risks_mock.side_effect = Exception("Shit happens")

        bridge = RiskIndicatorBridge(self.config)

        sleep_mock = mock.Mock()
        sleep_mock.side_effect = StopIteration
        with mock.patch("openprocurement.bot.risk_indicators.bridge.sleep",
                        sleep_mock):
            try:
                bridge.run()
            except StopIteration:
                pass

        sleep_mock.assert_called_once_with(bridge.queue_error_interval)
    def test_process_risk_exception(self, process_risk_mock):
        process_risk_mock.side_effect = Exception("Shit happens")

        bridge = RiskIndicatorBridge(self.config)

        with mock.patch(
                "openprocurement.bot.risk_indicators.bridge.RiskIndicatorBridge.queue",
                range(12)):

            sleep_mock = mock.Mock()
            sleep_mock.side_effect = StopIteration
            with mock.patch("openprocurement.bot.risk_indicators.bridge.sleep",
                            sleep_mock):
                try:
                    bridge.run()
                except StopIteration:
                    pass

        sleep_mock.assert_called_once_with(
            (bridge.run_interval - timedelta(seconds=1)).seconds)