# coding: utf-8

"""
    authentik

    Making authentication simple.

    The version of the OpenAPI document: 2025.10.0-rc1
    Contact: hello@goauthentik.io
    Generated by OpenAPI Generator (https://openapi-generator.tech)

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


import unittest

from authentik_client.models.flow_inspector_plan import FlowInspectorPlan

class TestFlowInspectorPlan(unittest.TestCase):
    """FlowInspectorPlan unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional) -> FlowInspectorPlan:
        """Test FlowInspectorPlan
            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 `FlowInspectorPlan`
        """
        model = FlowInspectorPlan()
        if include_optional:
            return FlowInspectorPlan(
                current_stage = authentik_client.models.flow_stage_binding.FlowStageBinding(
                    pk = '', 
                    policybindingmodel_ptr_id = '', 
                    target = '', 
                    stage = '', 
                    stage_obj = null, 
                    evaluate_on_plan = True, 
                    re_evaluate_policies = True, 
                    order = -2147483648, 
                    policy_engine_mode = 'all', 
                    invalid_response_action = null, ),
                next_planned_stage = authentik_client.models.flow_stage_binding.FlowStageBinding(
                    pk = '', 
                    policybindingmodel_ptr_id = '', 
                    target = '', 
                    stage = '', 
                    stage_obj = null, 
                    evaluate_on_plan = True, 
                    re_evaluate_policies = True, 
                    order = -2147483648, 
                    policy_engine_mode = 'all', 
                    invalid_response_action = null, ),
                plan_context = {
                    'key' : null
                    },
                session_id = ''
            )
        else:
            return FlowInspectorPlan(
                current_stage = authentik_client.models.flow_stage_binding.FlowStageBinding(
                    pk = '', 
                    policybindingmodel_ptr_id = '', 
                    target = '', 
                    stage = '', 
                    stage_obj = null, 
                    evaluate_on_plan = True, 
                    re_evaluate_policies = True, 
                    order = -2147483648, 
                    policy_engine_mode = 'all', 
                    invalid_response_action = null, ),
                next_planned_stage = authentik_client.models.flow_stage_binding.FlowStageBinding(
                    pk = '', 
                    policybindingmodel_ptr_id = '', 
                    target = '', 
                    stage = '', 
                    stage_obj = null, 
                    evaluate_on_plan = True, 
                    re_evaluate_policies = True, 
                    order = -2147483648, 
                    policy_engine_mode = 'all', 
                    invalid_response_action = null, ),
                plan_context = {
                    'key' : null
                    },
                session_id = '',
        )
        """

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

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