Beispiel #1
0
 def get_status(self, search_id):
     # It is a synchronous connector.
     # return {"code": 200, "status": "COMPLETED"}
     respObj = Response()
     respObj.code = "200"
     respObj.error_type = ""
     respObj.status_code = 200
     content = '{"search_id": "' + search_id + \
         '", "progress":"Completed", "status":"COMPLETED", "data": {"message":"Completed for the search id provided."}}'
     respObj._content = bytes(content, 'utf-8')
     return ResponseWrapper(respObj)
Beispiel #2
0
    def createResponse(self, resp, newContent):
        pp = pprint.PrettyPrinter(indent=1)
        respObj = Response()
        if (resp.code == 200):
            respObj.code = "200"
            respObj.status_code = 200
            content = json.dumps(newContent)  #put new content in response
            respObj._content = bytes(content, 'utf-8')
        elif (resp.code == 400):
            respObj.code = "400"
            respObj.error_type = "Bad Request"
            respObj.status_code = 400
            respObj.message = "Could not generate response."
        elif (resp.code == 500):
            respObj.code = "500"
            respObj.error_type = "Internal Server Error"
            respObj.status_code = 400
            respObj.message = "An internal server error occured. "

        return ResponseWrapper(respObj)
Beispiel #3
0
def download_page(pURL, max_retry=3, attempt=0):
    try:
        r = requests.get(pURL)
        return r
    except requests.ConnectionError:
        logging.warning("Connection Error for URL: {}".format(pURL))
        response = Response()
        response.code = "Connection Error"
        response.error_type = "Connection"
        response.status_code = 451
        response._content = b'{"error":"Connection Error"}'
        return response
    except requests.Timeout:
        if attempt < max_retry:
            download_page(pURL, max_retry, attemp + 1)
        else:
            logging.warning("Connection Timeout for URL: {}".format(pURL))
            response = Response()
            response.code = "Timeout"
            response.error_type = "Connection"
            response.status_code = 400
            response._content = b'{"error":"Timeout"}'
            return response
    except requests.TooManyRedirects:
        logging.warning("Too Many Redirects for URL: {}".format(pURL))
        response = Response()
        response.code = "Too many redirects"
        response.error_type = "Redirects"
        response.status_code = 309
        response._content = b'{"error":"Too many redirects"}'
        return response
    except requests.RequestException as e:
        logging.warning("Generic Request Exception for URL: {}".format(pURL))
        response = Response()
        response.code = "Unknown error"
        response.error_type = "Generic"
        response.status_code = 450
        response._content = b'{"error":"Unknown error"}'
        return response
Beispiel #4
0
def proto_sources_response(service):
    from requests.models import Response

    with open("tests/api_responses/proto_sources_{}.json".format(
            service)) as file:
        content = file.read()

        response = Response()
        response.code = "OK"
        response.status_code = 200
        response.headers = {"content-type": "application/json; charset=utf8"}
        response._content = bytes(content, "utf-8")

        return response
Beispiel #5
0
    def test_result_fail(self):
        # generate intended response object
        expected_response = Response()
        expected_response.code = "expired"
        expected_response.error_type = "expired"
        expected_response.status_code = 400
        expected_response._content = b'{ "error" : "Can not connect to API" }'

        objectified_response = ApiResult(expected_response)

        # check values of objects are equal
        self.assertEqual(ApiCall().get_result("").error_message,
                         objectified_response.error_message)
        self.assertEqual(ApiCall().get_result("").result,
                         objectified_response.result)
        self.assertEqual(ApiCall().get_result("").is_success,
                         objectified_response.is_success)
Beispiel #6
0
from requests.models import Response

resp = Response()
resp.code = "expired"
resp.error_type = "expired"
resp.status_code = 200
resp._content = b'["Under-Review","IGO-Complete","Passed","Failed","Resequence-Pool","Repool-Sample","Recapture-Sample","New-Library-Needed","Required-Additional-Reads"]'
Beispiel #7
0
 def test_raised_error_for_response_error(self):
     badResponse = Response()
     badResponse.code = "bad request"
     badResponse.reason = "bad request"
     badResponse.status_code = 400
     self.assertRaises(ValueError, lambda: _handle_response(badResponse))
def get_temporary_objectstore_credentials_response(project, apikey):
    response = Response()
    response.code = 'error'
    response.status_code = 400

    raise ServiceError('Create rest client failed', response)
def create_rest_client_response(server, retry_multiplier, retry_max_exp, retry_stop, verbose):
    response = Response()
    response.code = 'error'
    response.status_code = 400

    raise ServiceError('Create rest client failed', response)