Exemplo n.º 1
0
def _validate_port_map_list(options_list, id_provider, force_options):
    allowed_options = [
        "id",
        "port",
        "internal-port",
        "range",
    ]
    validators = [
        validate.value_id("id", "port-map id", id_provider),
        validate.depends_on_option("internal-port", "port", "port-map",
                                   "port-map"),
        validate.is_required_some_of(["port", "range"], "port-map"),
        validate.mutually_exclusive(["port", "range"], "port-map"),
        validate.value_port_number("port"),
        validate.value_port_number("internal-port"),
        validate.value_port_range(
            "range",
            code_to_allow_extra_values=report_codes.FORCE_OPTIONS,
            allow_extra_values=force_options),
    ]
    report_list = []
    for options in options_list:
        report_list.extend(
            validate.run_collection_of_option_validators(options, validators) +
            validate.names_in(allowed_options, options.keys(), "port-map",
                              report_codes.FORCE_OPTIONS, force_options))
    return report_list
Exemplo n.º 2
0
 def test_report_bad_end(self):
     assert_report_item_list_equal(
         validate.value_port_range("key")({
             "key": "100-65536"
         }), [
             (severities.ERROR, report_codes.INVALID_OPTION_VALUE, {
                 "option_name": "key",
                 "option_value": "100-65536",
                 "allowed_values": "port-port",
             }, None),
         ])
Exemplo n.º 3
0
 def test_report_bad_end(self):
     assert_report_item_list_equal(
         validate.value_port_range("key")({"key": "100-65536"}),
         [
             (
                 severities.ERROR,
                 report_codes.INVALID_OPTION_VALUE,
                 {
                     "option_name": "key",
                     "option_value": "100-65536",
                     "allowed_values": "port-port",
                 },
                 None
             ),
         ]
     )
Exemplo n.º 4
0
 def test_empty_report_on_valid_option(self):
     assert_report_item_list_equal(
         validate.value_port_range("key")({
             "key": "100-200"
         }), [])
Exemplo n.º 5
0
 def test_empty_report_on_valid_option(self):
     assert_report_item_list_equal(
         validate.value_port_range("key")({"key": "100-200"}),
         []
     )