Пример #1
0
 def test_remove_bom(self):
     #Test bom could be removed
     data = ustr(b'\xef\xbb\xbfhehe', encoding='utf-8')
     data = textutil.remove_bom(data)
     self.assertNotEquals(0xbb, data[0])
     
     #Test string without BOM is not affected
     data = u"hehe"
     data = textutil.remove_bom(data)
     self.assertEquals(u"h", data[0])
Пример #2
0
    def test_remove_bom(self):
        #Test bom could be removed
        data = ustr(b'\xef\xbb\xbfhehe', encoding='utf-8')
        data = textutil.remove_bom(data)
        self.assertNotEquals(0xbb, data[0])

        #Test string without BOM is not affected
        data = u"hehe"
        data = textutil.remove_bom(data)
        self.assertEquals(u"h", data[0])
Пример #3
0
    def get_api_versions(self):
        url = URI_FORMAT_GET_API_VERSIONS.format(self.endpoint,
                                                 HOST_PLUGIN_PORT)
        logger.verbose(
            "HostGAPlugin: Getting API versions at [{0}]".format(url))
        return_val = []
        error_response = ''
        is_healthy = False
        try:
            headers = {HEADER_CONTAINER_ID: self.container_id}
            response = restutil.http_get(url, headers)
            if restutil.request_failed(response):
                error_response = restutil.read_response_error(response)
                logger.error(
                    "HostGAPlugin: Failed Get API versions: {0}".format(
                        error_response))
            else:
                return_val = ustr(remove_bom(response.read()),
                                  encoding='utf-8')
                is_healthy = True
        except HttpError as e:
            logger.error(
                "HostGAPlugin: Exception Get API versions: {0}".format(e))

        self.health_service.report_host_plugin_versions(
            is_healthy=is_healthy, response=error_response)

        return return_val
Пример #4
0
 def read_response_error(response):
     if response is None:
         return ''
     body = remove_bom(response.read())
     if PY_VERSION_MAJOR < 3 and body is not None:
         body = ustr(body, encoding='utf-8')
     return "{0}, {1}, {2}".format(response.status, response.reason, body)
Пример #5
0
 def test_get_password_hash(self):
     with open(os.path.join(os.path.dirname(os.path.realpath(__file__)), "test_passwords.txt"), "rb") as in_file:
         for data in in_file:
             # Remove bom on bytes data before it is converted into string.
             data = textutil.remove_bom(data)
             data = ustr(data, encoding="utf-8")
             password_hash = textutil.gen_password_hash(data, 6, 10)
             self.assertNotEquals(None, password_hash)
 def test_get_password_hash(self):
     with open(os.path.join(os.path.dirname(os.path.realpath(__file__)), 'test_passwords.txt'), 'rb') as in_file:
         for data in in_file:
             # Remove bom on bytes data before it is converted into string.
             data = textutil.remove_bom(data)
             data = ustr(data, encoding='utf-8')
             password_hash = textutil.gen_password_hash(data, 6, 10)
             self.assertNotEquals(None, password_hash)
Пример #7
0
 def read_response_error(response):
     if response is None:
         return ''
     body = remove_bom(response.read())
     if PY_VERSION_MAJOR < 3 and body is not None:
         body = ustr(body, encoding='utf-8')
     return "{0}, {1}, {2}".format(
         response.status,
         response.reason,
         body)
    def test_remove_bom(self):
        #Test bom could be removed
        data = ustr(b'\xef\xbb\xbfhehe', encoding='utf-8')
        data = textutil.remove_bom(data)
        self.assertNotEquals(0xbb, data[0])

        #bom is comprised of a sequence of three bytes and ff length of the input is shorter
        # than three bytes, remove_bom should not do anything
        data = u"\xa7"
        data = textutil.remove_bom(data)
        self.assertEquals(data, data[0])

        data = u"\xa7\xef"
        data = textutil.remove_bom(data)
        self.assertEquals(u"\xa7", data[0])
        self.assertEquals(u"\xef", data[1])

        #Test string without BOM is not affected
        data = u"hehe"
        data = textutil.remove_bom(data)
        self.assertEquals(u"h", data[0])

        data = u""
        data = textutil.remove_bom(data)
        self.assertEquals(u"", data)

        data = u"  "
        data = textutil.remove_bom(data)
        self.assertEquals(u"  ", data)
Пример #9
0
    def test_remove_bom(self):
        # Test bom could be removed
        data = ustr(b"\xef\xbb\xbfhehe", encoding="utf-8")
        data = textutil.remove_bom(data)
        self.assertNotEquals(0xBB, data[0])

        # bom is comprised of a sequence of three bytes and ff length of the input is shorter
        # than three bytes, remove_bom should not do anything
        data = u"\xa7"
        data = textutil.remove_bom(data)
        self.assertEquals(data, data[0])

        data = u"\xa7\xef"
        data = textutil.remove_bom(data)
        self.assertEquals(u"\xa7", data[0])
        self.assertEquals(u"\xef", data[1])

        # Test string without BOM is not affected
        data = u"hehe"
        data = textutil.remove_bom(data)
        self.assertEquals(u"h", data[0])

        data = u""
        data = textutil.remove_bom(data)
        self.assertEquals(u"", data)

        data = u"  "
        data = textutil.remove_bom(data)
        self.assertEquals(u"  ", data)
Пример #10
0
def read_file(filepath, asbin=False, remove_bom=False, encoding='utf-8'):
    """
    Read and return contents of 'filepath'.
    """
    mode = 'rb'
    with open(filepath, mode) as in_file:
        data = in_file.read()
        if data is None:
            return None

        if asbin:
            return data

        if remove_bom:
            #Remove bom on bytes data before it is converted into string.
            data = textutil.remove_bom(data)
        data = ustr(data, encoding=encoding)
        return data
Пример #11
0
def read_file(filepath, asbin=False, remove_bom=False, encoding='utf-8'):
    """
    Read and return contents of 'filepath'.
    """
    mode = 'rb'
    with open(filepath, mode) as in_file:
        data = in_file.read()
        if data is None:
            return None

        if asbin:
            return data

        if remove_bom:
            #Remove bom on bytes data before it is converted into string.
            data = textutil.remove_bom(data)
        data = ustr(data, encoding=encoding)
        return data
Пример #12
0
    def read_response_error(response):
        result = ''
        if response is not None:
            try:
                body = remove_bom(response.read())
                result = "[{0}: {1}] {2}".format(response.status,
                                                 response.reason, body)

                # this result string is passed upstream to several methods
                # which do a raise HttpError() or a format() of some kind;
                # as a result it cannot have any unicode characters
                if PY_VERSION_MAJOR < 3:
                    result = ustr(result, encoding='ascii', errors='ignore')
                else:
                    result = result\
                        .encode(encoding='ascii', errors='ignore')\
                        .decode(encoding='ascii', errors='ignore')
            except Exception:
                logger.warn(traceback.format_exc())
        return result
Пример #13
0
    def get_api_versions(self):
        url = URI_FORMAT_GET_API_VERSIONS.format(self.endpoint,
                                                 HOST_PLUGIN_PORT)
        logger.verbose("HostGAPlugin: Getting API versions at [{0}]".format(
            url))
        return_val = []
        try:
            headers = {HEADER_CONTAINER_ID: self.container_id}
            response = restutil.http_get(url, headers)
            if response.status != httpclient.OK:
                logger.error(
                    "HostGAPlugin: Failed Get API versions: {0}".format(
                        self.read_response_error(response)))
            else:
                return_val = ustr(remove_bom(response.read()), encoding='utf-8')

        except HttpError as e:
            logger.error("HostGAPlugin: Exception Get API versions: {0}".format(e))

        return return_val
Пример #14
0
    def get_api_versions(self):
        url = URI_FORMAT_GET_API_VERSIONS.format(self.endpoint,
                                                 HOST_PLUGIN_PORT)
        logger.verbose(
            "HostGAPlugin: Getting API versions at [{0}]".format(url))
        return_val = []
        try:
            headers = {HEADER_CONTAINER_ID: self.container_id}
            response = restutil.http_get(url, headers)
            if response.status != httpclient.OK:
                logger.error(
                    "HostGAPlugin: Failed Get API versions: {0}".format(
                        self.read_response_error(response)))
            else:
                return_val = ustr(remove_bom(response.read()),
                                  encoding='utf-8')

        except HttpError as e:
            logger.error(
                "HostGAPlugin: Exception Get API versions: {0}".format(e))

        return return_val
Пример #15
0
    def get_api_versions(self):
        url = URI_FORMAT_GET_API_VERSIONS.format(self.endpoint,
                                                 HOST_PLUGIN_PORT)
        logger.verbose("HostGAPlugin: Getting API versions at [{0}]"
                       .format(url))
        return_val = []
        error_response = ''
        is_healthy = False
        try:
            headers = {HEADER_CONTAINER_ID: self.container_id}
            response = restutil.http_get(url, headers)
            if restutil.request_failed(response):
                error_response = restutil.read_response_error(response)
                logger.error("HostGAPlugin: Failed Get API versions: {0}".format(error_response))
                is_healthy = not restutil.request_failed_at_hostplugin(response)
            else:
                return_val = ustr(remove_bom(response.read()), encoding='utf-8')
                is_healthy = True
        except HttpError as e:
            logger.error("HostGAPlugin: Exception Get API versions: {0}".format(e))

        self.health_service.report_host_plugin_versions(is_healthy=is_healthy, response=error_response)

        return return_val
Пример #16
0
 def decode_config(self, data):
     if data is None:
         return None
     data = remove_bom(data)
     xml_text = ustr(data, encoding='utf-8')
     return xml_text
Пример #17
0
 def decode_config(self, data):
     if data is None:
         return None
     data = remove_bom(data)
     xml_text = ustr(data, encoding='utf-8')
     return xml_text