def send_response(request_msg, data=None, error=None): """ Send response message to S3 url :param request: :param data: :param error: :return: """ response = ResponseMessage(request_msg) if data: response.data = data if error: response.error = error try: # PUT the response file to the S3 pre-signed URL requests.put(url=request_msg.response_url, data=response.to_json(), headers={"Content-Type": ""}, verify=True ).raise_for_status() log.debug((response.to_json())) log.info("Successfully send response %s for RequestID:%s"% (request_msg.response_url, request_msg.request_id)) except Exception, e: print("Got Error! - %s"% e.message) log.exception("Failed sending response %s for RequestID:%s"% (request_msg.response_url, request_msg.request_id)) log.exception("Error: %s"% e.message) raise AWSError("Unable to send response!")
def test_to_json_LogicalResourceId_same_as_request(self): resp = ResponseMessage(self.request) resp_json = resp.to_json() resp_dict = json.loads(resp_json) assert resp_dict['LogicalResourceId'] == self.request.logical_resource_id
def test_to_json_RequestId_same_as_request(self): resp = ResponseMessage(self.request) resp_json = resp.to_json() resp_dict = json.loads(resp_json) assert resp_dict['RequestId'] == self.request.request_id
def test_status_is_FAILED_if_error(self): resp = ResponseMessage(self.request) resp.error = True assert resp.status == "FAILED"
def test_to_dict_LogicalResourceId_same_as_request(self): resp = ResponseMessage(self.request) resp_dict = resp.to_dict() assert resp_dict['LogicalResourceId'] == self.request.logical_resource_id
def test_to_dict_RequestId_same_as_request(self): resp = ResponseMessage(self.request) resp_dict = resp.to_dict() assert resp_dict['RequestId'] == self.request.request_id
def test_to_dict_StackId_same_as_request(self): resp = ResponseMessage(self.request) resp_dict = resp.to_dict() assert resp_dict['StackId'] == self.request.stack_id
def test_to_dict_has_key_PhysicalResourceId(self): resp = ResponseMessage(self.request) resp_dict = resp.to_dict() assert 'PhysicalResourceId' in resp_dict.keys()
def test_to_dict_has_key_RequestId(self): resp = ResponseMessage(self.request) resp_dict = resp.to_dict() assert 'RequestId' in resp_dict.keys()
def test_to_dict_has_key_Status(self): resp = ResponseMessage(self.request) resp_dict = resp.to_dict() assert 'Status' in resp_dict.keys()