Пример #1
0
  def __check_pxf_hdfs_write(self):
    """
    Writes some test HDFS data through PXF
    """
    Logger.info("Testing PXF HDFS write")
    headers = self.commonPXFHeaders.copy()
    headers.update({
      "X-GP-Profile" : "HdfsTextSimple",
      "Content-Type":"application/octet-stream",
      "Expect": "100-continue",
      "X-GP-ALIGNMENT": "4",
      "X-GP-SEGMENT-ID": "0",
      "X-GP-SEGMENT-COUNT": "3",
      "X-GP-URI": "pxf://" + pxf_constants.service_check_hostname + ":" + str(pxf_constants.PXF_PORT) + pxf_constants.pxf_hdfs_test_dir + "/?Profile=HdfsTextSimple",
      "X-GP-DATA-DIR": pxf_constants.pxf_hdfs_test_dir + "/" 
    })

    body = {"Sample" : " text"}
    url = self.base_url + self.pxf_version + "/Writable/stream?path=" + pxf_constants.pxf_hdfs_write_test_file
    try:
      response = makeHTTPCall(url, headers, body)
      if not "wrote" in response:
        error_msg = "PXF HDFS data write: Could not find write in response : \nurl = {0} \nresponse = {1}".format(url, response)
        raise Fail(error_msg)
    except:
      error_msg = "PXF HDFS data write test failed with url= {0}".format(url)
      raise Fail(error_msg)
Пример #2
0
 def __check_pxf_read(self, headers):
   """
   Performs a generic PXF read
   """
   url = self.base_url + self.pxf_version + "/Fragmenter/getFragments?path="
   try:
     response = makeHTTPCall(url, headers)
     if not "PXFFragments" in response:
       Logger.error("Unable to find PXFFragments in the response. Response received from the server:\n{0}".format(response))
       raise
   except Exception, ex:
     raise Fail("PXF data read failed: {0}".format(ex))
Пример #3
0
 def __check_pxf_read(self, headers):
     """
 Performs a generic PXF read
 """
     url = self.base_url + self.pxf_version + "/Fragmenter/getFragments?path="
     try:
         response = makeHTTPCall(url, headers)
         if not "PXFFragments" in response:
             Logger.error("Unable to find PXFFragments in the response")
             raise
     except:
         msg = "PXF data read failed"
         Logger.error(msg)
         raise Fail(msg)
Пример #4
0
    def __get_pxf_protocol_version(self):
        """
    Gets the pxf protocol version number
    """
        Logger.info("Fetching PXF protocol version")
        url = self.base_url + "ProtocolVersion"
        response = makeHTTPCall(url)
        Logger.info(response)
        # Sample response: 'PXF protocol version v14'
        if response:
            import re
            # Extract the v14 from the output
            match = re.search('.*(v\d*).*', response)
            if match:
                return match.group(1)

        msg = "Unable to determine PXF version"
        Logger.error(msg)
        raise Fail(msg)
Пример #5
0
  def __get_pxf_protocol_version(self):
    """
    Gets the pxf protocol version number
    """
    Logger.info("Fetching PXF protocol version")
    url = self.base_url + "ProtocolVersion"
    response = makeHTTPCall(url)
    Logger.info(response)
    # Sample response: 'PXF protocol version v14'
    if not response:
      error_msg = "Fetch PXF version: Could not get response from \nurl = {0}".format(url)
      Logger.error(error_msg)

    import re
    # Extract the v14 from the output
    match =  re.search('.*(v\d*).*', response)
    if match:
      return match.group(1)

    error_msg = "Fetch PXF Version: Could not find version in \nresponse ={0} \nurl = {1}".format(response, url)
    Logger.error(error_msg)