# 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 import V1GlobalConfigPatchRequestRoutingPoliciesValuePolicy

class TestV1GlobalConfigPatchRequestRoutingPoliciesValuePolicy(unittest.TestCase):
    """V1GlobalConfigPatchRequestRoutingPoliciesValuePolicy unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional) -> V1GlobalConfigPatchRequestRoutingPoliciesValuePolicy:
        """Test V1GlobalConfigPatchRequestRoutingPoliciesValuePolicy
            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 `V1GlobalConfigPatchRequestRoutingPoliciesValuePolicy`
        """
        model = V1GlobalConfigPatchRequestRoutingPoliciesValuePolicy()
        if include_optional:
            return V1GlobalConfigPatchRequestRoutingPoliciesValuePolicy(
                attach_point = 'ENUM_VALUE',
                default_action = 'ENUM_VALUE',
                description = 'example string',
                global_id = 1234567891011,
                is_global_sync = True,
                name = 'example string',
                statements = {
                    'key' : graphiant_sdk.models._v1_global_config_patch_request_routing_policies_value_policy_statements_value._v1_global_config_patch_request_routingPolicies_value_policy_statements_value(
                        statement = graphiant_sdk.models._v1_global_config_patch_request_routing_policies_value_policy_statements_value_statement._v1_global_config_patch_request_routingPolicies_value_policy_statements_value_statement(
                            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(
                                        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 V1GlobalConfigPatchRequestRoutingPoliciesValuePolicy(
        )
        """

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

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