def run(self, provider=None): if provider: try: data = {} data = superdesk.json.loads(provider) data.setdefault('content_expiry', superdesk.app.config['INGEST_EXPIRY_MINUTES']) validator = superdesk.app.validator(superdesk.app.config['DOMAIN']['ingest_providers']['schema'], 'ingest_providers') validation = validator.validate(data) if validation: get_resource_service('ingest_providers').post([data]) return data else: ex = Exception('Failed to add Provider as the data provided is invalid. Errors: {}' .format(str(validator.errors))) raise ProviderError.providerAddError(exception=ex, provider=data) except Exception as ex: raise ProviderError.providerAddError(ex, data)
def run(self, provider=None): if provider: try: data = {} data = superdesk.json.loads(provider) data.setdefault('name', data['type']) data.setdefault('source', data['type']) data.setdefault('content_expiry', INGEST_EXPIRY_MINUTES) db = superdesk.get_db() db['ingest_providers'].save(data) return data except Exception as ex: raise ProviderError.providerAddError(ex, data)
def run(self, provider=None): if provider: try: data = {} data = superdesk.json.loads(provider) data.setdefault('name', data['type']) data.setdefault('source', data['type']) data.setdefault('days_to_keep', DAYS_TO_KEEP) db = superdesk.get_db() db['ingest_providers'].save(data) return data except Exception as ex: raise ProviderError.providerAddError(ex, data)
def run(self, provider): try: data = {} data = superdesk.json.loads(provider) data.setdefault("content_expiry", superdesk.app.config["INGEST_EXPIRY_MINUTES"]) validator = superdesk.app.validator( superdesk.app.config["DOMAIN"]["ingest_providers"]["schema"], "ingest_providers") validation = validator.validate(data) if validation: get_resource_service("ingest_providers").post([data]) return data else: ex = Exception( "Failed to add Provider as the data provided is invalid. Errors: {}" .format(str(validator.errors))) raise ProviderError.providerAddError(exception=ex, provider=data) except Exception as ex: raise ProviderError.providerAddError(ex, data)
def test_raise_providerAddError(self): with assert_raises(ProviderError) as error_context: try: ex = Exception("Testing providerAddError") raise ex except Exception: raise ProviderError.providerAddError(ex, self.provider) exception = error_context.exception self.assertTrue(exception.code == 2001) self.assertTrue(exception.message == "Provider could not be saved") self.assertIsNotNone(exception.system_exception) self.assertEqual(exception.system_exception.args[0], "Testing providerAddError") self.assertEqual(len(self.mock_logger_handler.messages['error']), 1) self.assertEqual(self.mock_logger_handler.messages['error'][0], "ProviderError Error 2001 - Provider could not be saved: " "Testing providerAddError on channel TestProvider")