# 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.type_configuration import TypeConfiguration

class TestTypeConfiguration(unittest.TestCase):
    """TypeConfiguration unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional) -> TypeConfiguration:
        """Test TypeConfiguration
            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 `TypeConfiguration`
        """
        model = TypeConfiguration()
        if include_optional:
            return TypeConfiguration(
                condition = instana_client.models.condition.Condition(
                    query = '', ),
                name = 'automatic',
                runnable = instana_client.models.policy_runnable.PolicyRunnable(
                    id = '', 
                    run_configuration = instana_client.models.run_configuration.RunConfiguration(
                        actions = [
                            instana_client.models.action_configuration.ActionConfiguration(
                                action = instana_client.models.action.Action(
                                    created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                                    description = '', 
                                    fields = [
                                        instana_client.models.field.Field(
                                            description = '', 
                                            encoding = '', 
                                            name = '', 
                                            secured = True, 
                                            value = '', )
                                        ], 
                                    id = '0', 
                                    input_parameters = [
                                        instana_client.models.parameter.Parameter(
                                            description = '', 
                                            hidden = True, 
                                            label = '', 
                                            name = '', 
                                            required = True, 
                                            secured = True, 
                                            type = '', 
                                            value = '', )
                                        ], 
                                    metadata = instana_client.models.meta_data.MetaData(
                                        ai = [
                                            {
                                                'key' : None
                                                }
                                            ], 
                                        ai_originated = True, 
                                        built_in = True, 
                                        read_only = True, 
                                        sensor_imported = True, ), 
                                    modified_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                                    name = '0', 
                                    tags = [
                                        ''
                                        ], 
                                    type = 'SCRIPT', ), 
                                agent_id = '', 
                                input_parameter_values = [
                                    instana_client.models.parameter_value.ParameterValue(
                                        name = '', 
                                        value = '', )
                                    ], )
                            ], ), 
                    type = 'action', )
            )
        else:
            return TypeConfiguration(
                name = 'automatic',
                runnable = instana_client.models.policy_runnable.PolicyRunnable(
                    id = '', 
                    run_configuration = instana_client.models.run_configuration.RunConfiguration(
                        actions = [
                            instana_client.models.action_configuration.ActionConfiguration(
                                action = instana_client.models.action.Action(
                                    created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                                    description = '', 
                                    fields = [
                                        instana_client.models.field.Field(
                                            description = '', 
                                            encoding = '', 
                                            name = '', 
                                            secured = True, 
                                            value = '', )
                                        ], 
                                    id = '0', 
                                    input_parameters = [
                                        instana_client.models.parameter.Parameter(
                                            description = '', 
                                            hidden = True, 
                                            label = '', 
                                            name = '', 
                                            required = True, 
                                            secured = True, 
                                            type = '', 
                                            value = '', )
                                        ], 
                                    metadata = instana_client.models.meta_data.MetaData(
                                        ai = [
                                            {
                                                'key' : None
                                                }
                                            ], 
                                        ai_originated = True, 
                                        built_in = True, 
                                        read_only = True, 
                                        sensor_imported = True, ), 
                                    modified_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                                    name = '0', 
                                    tags = [
                                        ''
                                        ], 
                                    type = 'SCRIPT', ), 
                                agent_id = '', 
                                input_parameter_values = [
                                    instana_client.models.parameter_value.ParameterValue(
                                        name = '', 
                                        value = '', )
                                    ], )
                            ], ), 
                    type = 'action', ),
        )
        """

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

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