#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# Copyright (C) 2019 tribe29 GmbH - License: GNU General Public License v2
# This file is part of Checkmk (https://checkmk.com). It is subject to the terms and
# conditions defined in the file COPYING, which is part of this source code package.


def check_form_submit_arguments(params):
    _description, settings = params
    args = [*settings.get("hosts", ["$HOSTADDRESS$"])]

    if "port" in settings:
        args += ["--port", settings["port"]]

    if "uri" in settings:
        args += ["--uri", settings["uri"]]

    if "tls_configuration" in settings:
        args += ["--tls_configuration", settings["tls_configuration"]]

    if "timeout" in settings:
        args += ["--timeout", settings["timeout"]]

    if "expect_regex" in settings:
        args += ["--expected_regex", settings["expect_regex"]]

    if "form_name" in settings:
        args += ["--form_name", settings["form_name"]]

    if "query" in settings:
        args += ["--query_params", settings["query"]]

    if levels := settings.get("num_succeeded"):
        args += ["--levels", *levels]

    return args


active_check_info["form_submit"] = {
    "command_line": "check_form_submit $ARG1$",
    "argument_function": check_form_submit_arguments,
    "service_description": lambda params: "FORM %s" % params[0],
}
