Example #1
0
def _get_valid_service(task_id, service_name, payload, proxy_service_config):
    service_data = payload.get('data', None)
    service_request = service_data.keys()[0] if isinstance(service_data, dict) and \
        len(service_data.keys()) == 1 else None
    service = proxy_service_config['services'].get(service_name, None)

    if service and service_request in service['requests']:
        service_validator = ServiceValidators(service)
        if service_validator.run_validators(service_request, payload):
            return service

    current_app.logger.info(
        'Task {} loaded for user {} failed calling {} service with payload {}'.
        format(task_id, current_user.id, service_name, payload))

    return abort(403, 'The request data failed validation')
 def test_is_valid_context_with_invalid_context(self):
     service_validator = ServiceValidators(self.get_service())
     assert not service_validator.is_valid_context(
         'queryTest', self.get_invalid_payload())
 def test_run_validators_with_invalid_payload(self):
     service_validator = ServiceValidators(self.get_service())
     assert not service_validator.run_validators('queryTest',
                                                 self.get_invalid_payload())
 def test_is_valid_query(self):
     service_validator = ServiceValidators(self.get_service())
     assert service_validator.is_valid_query('queryTest',
                                             self.get_valid_payload())