# coding: utf-8

"""
    Graphiant APIs

    **To use the APIs:**  1) Login using `/api/v1/auth/login`   2) Copy the value of \"token\" in the response   3) Click the \"Authorize\" button   4) In the \"Value\" text field enter: `Bearer <your token>`   5) Click \"Authorize\"   6) All requests are now authorized.  **Token valid for 2 hours. If expired:**   - Login again, click \"Authorize\", paste new token.

    The version of the OpenAPI document: 1.0.0
    Generated by OpenAPI Generator (https://openapi-generator.tech)

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


import unittest

from graphiant_sdk.models.v1_global_config_patch_request_routing_policies_value_policy_statements_value_statement import V1GlobalConfigPatchRequestRoutingPoliciesValuePolicyStatementsValueStatement

class TestV1GlobalConfigPatchRequestRoutingPoliciesValuePolicyStatementsValueStatement(unittest.TestCase):
    """V1GlobalConfigPatchRequestRoutingPoliciesValuePolicyStatementsValueStatement unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional) -> V1GlobalConfigPatchRequestRoutingPoliciesValuePolicyStatementsValueStatement:
        """Test V1GlobalConfigPatchRequestRoutingPoliciesValuePolicyStatementsValueStatement
            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 `V1GlobalConfigPatchRequestRoutingPoliciesValuePolicyStatementsValueStatement`
        """
        model = V1GlobalConfigPatchRequestRoutingPoliciesValuePolicyStatementsValueStatement()
        if include_optional:
            return V1GlobalConfigPatchRequestRoutingPoliciesValuePolicyStatementsValueStatement(
                actions = {
                    'key' : graphiant_sdk.models._v1_global_config_patch_request_routing_policies_value_policy_statements_value_statement_actions_value._v1_global_config_patch_request_routingPolicies_value_policy_statements_value_statement_actions_value(
                        action = graphiant_sdk.models._v1_global_config_patch_request_routing_policies_value_policy_statements_value_statement_actions_value_action._v1_global_config_patch_request_routingPolicies_value_policy_statements_value_statement_actions_value_action(
                            administrative_distance = graphiant_sdk.models._v1_global_config_patch_request_routing_policies_value_policy_statements_value_statement_actions_value_action_administrative_distance._v1_global_config_patch_request_routingPolicies_value_policy_statements_value_statement_actions_value_action_administrativeDistance(
                                distance = 123, ), 
                            aspath_prepend = graphiant_sdk.models._v1_global_config_patch_request_routing_policies_value_policy_statements_value_statement_actions_value_action_aspath_prepend._v1_global_config_patch_request_routingPolicies_value_policy_statements_value_statement_actions_value_action_aspathPrepend(
                                repeat = 123, ), 
                            bgp_set_next_hop = graphiant_sdk.models._v1_global_config_patch_request_routing_policies_value_policy_statements_value_statement_actions_value_action_bgp_set_next_hop._v1_global_config_patch_request_routingPolicies_value_policy_statements_value_statement_actions_value_action_bgpSetNextHop(
                                next_hop = 'example string', ), 
                            call_policy = graphiant_sdk.models._v1_global_config_patch_request_routing_policies_value_policy_statements_value_statement_actions_value_action_call_policy._v1_global_config_patch_request_routingPolicies_value_policy_statements_value_statement_actions_value_action_callPolicy(
                                policy = 'example string', ), 
                            communities = graphiant_sdk.models._v1_global_config_patch_request_routing_policies_value_policy_statements_value_statement_actions_value_action_communities._v1_global_config_patch_request_routingPolicies_value_policy_statements_value_statement_actions_value_action_communities(
                                community = graphiant_sdk.models._v1_global_config_patch_request_routing_policies_value_policy_statements_value_statement_actions_value_action_communities_community._v1_global_config_patch_request_routingPolicies_value_policy_statements_value_statement_actions_value_action_communities_community(
                                    additive = True, 
                                    community_list = [
                                        'example string'
                                        ], ), ), 
                            local_pref = graphiant_sdk.models._v1_global_config_patch_request_routing_policies_value_policy_statements_value_statement_actions_value_action_local_pref._v1_global_config_patch_request_routingPolicies_value_policy_statements_value_statement_actions_value_action_localPref(), 
                            metric = graphiant_sdk.models._v1_global_config_patch_request_routing_policies_value_policy_statements_value_statement_actions_value_action_metric._v1_global_config_patch_request_routingPolicies_value_policy_statements_value_statement_actions_value_action_metric(
                                absolute = 123, 
                                modifier = 123, ), 
                            result = 'ENUM_VALUE', 
                            seq = 123, 
                            weight = graphiant_sdk.models._v1_global_config_patch_request_routing_policies_value_policy_statements_value_statement_actions_value_action_weight._v1_global_config_patch_request_routingPolicies_value_policy_statements_value_statement_actions_value_action_weight(), ), )
                    },
                matches = {
                    'key' : graphiant_sdk.models._v1_global_config_patch_request_routing_policies_value_policy_statements_value_statement_matches_value._v1_global_config_patch_request_routingPolicies_value_policy_statements_value_statement_matches_value(
                        match = graphiant_sdk.models._v1_global_config_patch_request_routing_policies_value_policy_statements_value_statement_matches_value_match._v1_global_config_patch_request_routingPolicies_value_policy_statements_value_statement_matches_value_match(
                            community = graphiant_sdk.models._v1_global_config_patch_request_routing_policies_value_policy_statements_value_statement_matches_value_match_community._v1_global_config_patch_request_routingPolicies_value_policy_statements_value_statement_matches_value_match_community(), 
                            prefix_set = graphiant_sdk.models._v1_global_config_patch_request_routing_policies_value_policy_statements_value_statement_matches_value_match_prefix_set._v1_global_config_patch_request_routingPolicies_value_policy_statements_value_statement_matches_value_match_prefixSet(), 
                            protocol_route_type = graphiant_sdk.models._v1_global_config_patch_request_routing_policies_value_policy_statements_value_statement_matches_value_match_protocol_route_type._v1_global_config_patch_request_routingPolicies_value_policy_statements_value_statement_matches_value_match_protocolRouteType(
                                route_type = 'ENUM_VALUE', ), 
                            route_tag = graphiant_sdk.models._v1_global_config_patch_request_routing_policies_value_policy_statements_value_statement_matches_value_match_route_tag._v1_global_config_patch_request_routingPolicies_value_policy_statements_value_statement_matches_value_match_routeTag(
                                entry = graphiant_sdk.models._v1_global_config_patch_request_routing_policies_value_policy_statements_value_statement_matches_value_match_route_tag_entry._v1_global_config_patch_request_routingPolicies_value_policy_statements_value_statement_matches_value_match_routeTag_entry(
                                    level_one = 'example string', 
                                    level_two = 'example string', 
                                    level_zero = 'example string', ), ), 
                            seq = 123, 
                            source_interface = graphiant_sdk.models._v1_global_config_patch_request_routing_policies_value_policy_statements_value_statement_matches_value_match_source_interface._v1_global_config_patch_request_routingPolicies_value_policy_statements_value_statement_matches_value_match_sourceInterface(
                                interface = 'example string', ), 
                            source_protocol = graphiant_sdk.models._v1_global_config_patch_request_routing_policies_value_policy_statements_value_statement_matches_value_match_source_protocol._v1_global_config_patch_request_routingPolicies_value_policy_statements_value_statement_matches_value_match_sourceProtocol(
                                protocol = 'ENUM_VALUE', ), 
                            stale = graphiant_sdk.models._v1_global_config_patch_request_routing_policies_value_policy_statements_value_statement_matches_value_match_stale._v1_global_config_patch_request_routingPolicies_value_policy_statements_value_statement_matches_value_match_stale(), ), )
                    },
                seq = 123
            )
        else:
            return V1GlobalConfigPatchRequestRoutingPoliciesValuePolicyStatementsValueStatement(
        )
        """

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

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