Beispiel #1
0
def convert_to_kilobits(value, base):
    value = value.lower()
    if "bit" in value:
        input_in_bits = True
        value = value.replace("bit", "")
    else:
        input_in_bits = False
        value = value.replace("b", "")
    # if it is now bare number then it is in bits, so we return it simply
    if value.isdigit():
        value = int(value)
        if input_in_bits:
            return utils.bits_to_kilobits(value, base)
        else:
            bits_value = utils.bytes_to_bits(value)
            return utils.bits_to_kilobits(bits_value, base)
    unit = value[-1:]
    if unit not in UNITS.keys():
        raise InvalidUnit(unit=unit)
    val = int(value[:-1])
    if input_in_bits:
        bits_value = val * (base**UNITS[unit])
    else:
        bits_value = utils.bytes_to_bits(val * (base**UNITS[unit]))
    return utils.bits_to_kilobits(bits_value, base)
Beispiel #2
0
def convert_to_kilobits(value, base):
    value = value.lower()
    if "bit" in value:
        input_in_bits = True
        value = value.replace("bit", "")
    else:
        input_in_bits = False
        value = value.replace("b", "")
    # if it is now bare number then it is in bits, so we return it simply
    if value.isdigit():
        value = int(value)
        if input_in_bits:
            return utils.bits_to_kilobits(value, base)
        else:
            bits_value = utils.bytes_to_bits(value)
            return utils.bits_to_kilobits(bits_value, base)
    unit = value[-1:]
    if unit not in UNITS.keys():
        raise InvalidUnit(unit=unit)
    val = int(value[:-1])
    if input_in_bits:
        bits_value = val * (base ** UNITS[unit])
    else:
        bits_value = utils.bytes_to_bits(val * (base ** UNITS[unit]))
    return utils.bits_to_kilobits(bits_value, base)
Beispiel #3
0
 def test_convert_to_kilobits_bits_value(self):
     value = "1000bit"
     expected_value = utils.bits_to_kilobits(1000, self.base_unit)
     self.assertEqual(
         expected_value,
         tc_lib.convert_to_kilobits(value, self.base_unit)
     )
Beispiel #4
0
 def test_convert_to_kilobits_bits_value(self):
     value = "1000bit"
     expected_value = utils.bits_to_kilobits(1000, self.base_unit)
     self.assertEqual(
         expected_value,
         tc_lib.convert_to_kilobits(value, self.base_unit)
     )
Beispiel #5
0
 def get_ingress_bw_limit_for_dpdk_port(self, port_name):
     max_kbps = None
     max_burst_kbit = None
     res = self.find_qos(port_name)
     if res:
         other_config = res['other_config']
         max_bw_in_bytes = other_config.get("cir")
         if max_bw_in_bytes is not None:
             max_kbps = common_utils.bits_to_kilobits(
                 common_utils.bytes_to_bits(int(max_bw_in_bytes)),
                 common_constants.SI_BASE)
         max_burst_in_bytes = other_config.get("cbs")
         if max_burst_in_bytes is not None:
             max_burst_kbit = common_utils.bits_to_kilobits(
                 common_utils.bytes_to_bits(int(max_burst_in_bytes)),
                 common_constants.SI_BASE)
     return max_kbps, max_burst_kbit
Beispiel #6
0
 def test_convert_to_kilobits_megabytes_value(self):
     value = "1m"
     expected_value = utils.bits_to_kilobits(
         self.base_unit ** 2 * 8, self.base_unit)
     self.assertEqual(
         expected_value,
         tc_lib.convert_to_kilobits(value, self.base_unit)
     )
Beispiel #7
0
 def get_ingress_bw_limit_for_dpdk_port(self, port_name):
     max_kbps = None
     max_burst_kbit = None
     res = self.find_qos(port_name)
     if res:
         other_config = res['other_config']
         max_bw_in_bytes = other_config.get("cir")
         if max_bw_in_bytes is not None:
             max_kbps = common_utils.bits_to_kilobits(
                 common_utils.bytes_to_bits(int(float(max_bw_in_bytes))),
                 common_constants.SI_BASE)
         max_burst_in_bytes = other_config.get("cbs")
         if max_burst_in_bytes is not None:
             max_burst_kbit = common_utils.bits_to_kilobits(
                 common_utils.bytes_to_bits(int(float(max_burst_in_bytes))),
                 common_constants.SI_BASE)
     return max_kbps, max_burst_kbit
Beispiel #8
0
 def test_convert_to_kilobits_megabytes_value(self):
     value = "1m"
     expected_value = utils.bits_to_kilobits(
         self.base_unit ** 2 * 8, self.base_unit)
     self.assertEqual(
         expected_value,
         tc_lib.convert_to_kilobits(value, self.base_unit)
     )
Beispiel #9
0
 def test_bits_to_kilobits(self):
     test_values = [
         (0, 0),  # 0 bites should be 0 kilobites
         (1, 1),  # 1 bit should be 1 kilobit
         (1023, 1),  # 1023 bits should be 1 kilobit
         (1024, 1),  # 1024 bits should be 1 kilobit
         (1025, 2)  # 1025 bits should be 2 kilobits
     ]
     for input_bits, expected_kilobits in test_values:
         self.assertEqual(
             expected_kilobits,
             utils.bits_to_kilobits(input_bits, self.base_unit))
Beispiel #10
0
 def test_bits_to_kilobits(self):
     test_values = [
         (0, 0),  # 0 bites should be 0 kilobites
         (1, 1),  # 1 bit should be 1 kilobit
         (1023, 1),  # 1023 bits should be 1 kilobit
         (1024, 1),  # 1024 bits should be 1 kilobit
         (1025, 2)   # 1025 bits should be 2 kilobits
     ]
     for input_bits, expected_kilobits in test_values:
         self.assertEqual(
             expected_kilobits,
             utils.bits_to_kilobits(input_bits, self.base_unit)
         )