# coding: utf-8

"""
    Instana REST API documentation

    Documentation for INSTANA REST API

    The version of the OpenAPI document: 1.306.1368
    Contact: support@instana.com
    Generated by OpenAPI Generator (https://openapi-generator.tech)

    Do not edit the class manually.
"""  # noqa: E501


import unittest

from instana_client.models.application_alert_config import ApplicationAlertConfig

class TestApplicationAlertConfig(unittest.TestCase):
    """ApplicationAlertConfig unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional) -> ApplicationAlertConfig:
        """Test ApplicationAlertConfig
            include_optional is a boolean, when False only required
            params are included, when True both required and
            optional params are included """
        # uncomment below to create an instance of `ApplicationAlertConfig`
        """
        model = ApplicationAlertConfig()
        if include_optional:
            return ApplicationAlertConfig(
                alert_channel_ids = [
                    ''
                    ],
                alert_channels = {
                    'key' : [
                        ''
                        ]
                    },
                application_id = '',
                applications = {
                    'key' : instana_client.models.application_node.ApplicationNode(
                        application_id = '', 
                        inclusive = True, 
                        services = {
                            'key' : instana_client.models.service_node.ServiceNode(
                                endpoints = {
                                    'key' : instana_client.models.endpoint_node.EndpointNode(
                                        endpoint_id = '', 
                                        inclusive = True, )
                                    }, 
                                inclusive = True, 
                                service_id = '', )
                            }, )
                    },
                boundary_scope = 'ALL',
                custom_payload_fields = [
                    instana_client.models.custom_payload_field.CustomPayloadField(
                        key = '', 
                        type = '', )
                    ],
                description = '',
                evaluation_type = 'PER_AP',
                grace_period = 56,
                granularity = 60000,
                include_internal = True,
                include_synthetic = True,
                name = '',
                rule = instana_client.models.application_alert_rule.ApplicationAlertRule(
                    aggregation = 'SUM', 
                    alert_type = '', 
                    metric_name = '', ),
                rules = [
                    instana_client.models.rule_with_threshold_application_alert_rule.RuleWithThresholdApplicationAlertRule(
                        rule = instana_client.models.application_alert_rule.ApplicationAlertRule(
                            aggregation = 'SUM', 
                            alert_type = '', 
                            metric_name = '', ), 
                        threshold_operator = '>', 
                        thresholds = {
                            'key' : instana_client.models.threshold_config_rule.ThresholdConfigRule(
                                type = '', )
                            }, )
                    ],
                severity = 5,
                tag_filter_expression = instana_client.models.tag_filter_expression_element.TagFilterExpressionElement(
                    type = '', ),
                tag_filters = [
                    instana_client.models.tag_filter.TagFilter()
                    ],
                threshold = instana_client.models.threshold.Threshold(
                    operator = '>', 
                    type = '', ),
                time_threshold = instana_client.models.application_time_threshold.ApplicationTimeThreshold(
                    time_window = 56, 
                    type = '', ),
                triggering = True
            )
        else:
            return ApplicationAlertConfig(
                alert_channel_ids = [
                    ''
                    ],
                applications = {
                    'key' : instana_client.models.application_node.ApplicationNode(
                        application_id = '', 
                        inclusive = True, 
                        services = {
                            'key' : instana_client.models.service_node.ServiceNode(
                                endpoints = {
                                    'key' : instana_client.models.endpoint_node.EndpointNode(
                                        endpoint_id = '', 
                                        inclusive = True, )
                                    }, 
                                inclusive = True, 
                                service_id = '', )
                            }, )
                    },
                boundary_scope = 'ALL',
                custom_payload_fields = [
                    instana_client.models.custom_payload_field.CustomPayloadField(
                        key = '', 
                        type = '', )
                    ],
                description = '',
                evaluation_type = 'PER_AP',
                granularity = 60000,
                name = '',
                tag_filter_expression = instana_client.models.tag_filter_expression_element.TagFilterExpressionElement(
                    type = '', ),
                time_threshold = instana_client.models.application_time_threshold.ApplicationTimeThreshold(
                    time_window = 56, 
                    type = '', ),
        )
        """

    def testApplicationAlertConfig(self):
        """Test ApplicationAlertConfig"""
        # inst_req_only = self.make_instance(include_optional=False)
        # inst_req_and_optional = self.make_instance(include_optional=True)

if __name__ == '__main__':
    unittest.main()
