# coding: utf-8

"""
    Identity Security Cloud V2025 API

    Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs.

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

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


import unittest

from sailpoint.v2025.models.access_request_admin_item_status import AccessRequestAdminItemStatus

class TestAccessRequestAdminItemStatus(unittest.TestCase):
    """AccessRequestAdminItemStatus unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional) -> AccessRequestAdminItemStatus:
        """Test AccessRequestAdminItemStatus
            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 `AccessRequestAdminItemStatus`
        """
        model = AccessRequestAdminItemStatus()
        if include_optional:
            return AccessRequestAdminItemStatus(
                id = '2c9180926cbfbddd016cbfc7c3b10010',
                name = 'AccessProfile1',
                type = 'ACCESS_PROFILE',
                cancelled_request_details = None,
                error_messages = [
                    {locale=en-US, localeOrigin=DEFAULT, text=Error Message}
                    ],
                state = 'EXECUTING',
                approval_details = [
                    sailpoint.v2025.models.approval_status_dto.ApprovalStatusDto(
                        forwarded = False, 
                        original_owner = sailpoint.v2025.models.approval_status_dto_original_owner.ApprovalStatusDto_originalOwner(
                            type = 'IDENTITY', 
                            id = '2c7180a46faadee4016fb4e018c20642', 
                            name = 'Michael Michaels', ), 
                        current_owner = null, 
                        modified = '2019-08-23T18:52:57.398Z', 
                        status = 'PENDING', 
                        scheme = 'MANAGER', 
                        error_messages = [
                            sailpoint.v2025.models.error_message_dto.ErrorMessageDto(
                                locale = 'en-US', 
                                locale_origin = 'DEFAULT', 
                                text = 'The request was syntactically correct but its content is semantically invalid.', )
                            ], 
                        comment = 'I approve this request', 
                        remove_date = '2020-07-11T00:00Z', )
                    ],
                manual_work_item_details = [
                    sailpoint.v2025.models.manual_work_item_details.ManualWorkItemDetails(
                        forwarded = True, 
                        original_owner = sailpoint.v2025.models.manual_work_item_details_original_owner.ManualWorkItemDetails_originalOwner(
                            type = 'IDENTITY', 
                            id = '2c7180a46faadee4016fb4e018c20642', 
                            name = 'Michael Michaels', ), 
                        current_owner = sailpoint.v2025.models.manual_work_item_details_current_owner.ManualWorkItemDetails_currentOwner(
                            type = 'IDENTITY', 
                            id = '2c3780a46faadee4016fb4e018c20652', 
                            name = 'Allen Albertson', ), 
                        modified = '2019-08-23T18:52:57.398Z', 
                        status = 'PENDING', 
                        forward_history = [
                            sailpoint.v2025.models.approval_forward_history.ApprovalForwardHistory(
                                old_approver_name = 'Frank Mir', 
                                new_approver_name = 'Al Volta', 
                                comment = 'Forwarding from Frank to Al', 
                                modified = '2019-08-23T18:52:57.398Z', 
                                forwarder_name = 'William Wilson', 
                                reassignment_type = 'AUTOMATIC_REASSIGNMENT', )
                            ], )
                    ],
                account_activity_item_id = '2c9180926cbfbddd016cbfc7c3b10010',
                request_type = 'GRANT_ACCESS',
                modified = '2019-08-23T18:52:59.162Z',
                created = '2019-08-23T18:40:35.772Z',
                requester = sailpoint.v2025.models.access_item_requester.AccessItemRequester(
                    type = 'IDENTITY', 
                    id = '2c7180a46faadee4016fb4e018c20648', 
                    name = 'William Wilson', ),
                requested_for = sailpoint.v2025.models.requested_item_status_requested_for.RequestedItemStatus_requestedFor(
                    type = 'IDENTITY', 
                    id = '2c9180835d191a86015d28455b4b232a', 
                    name = 'William Wilson', ),
                requester_comment = None,
                sod_violation_context = None,
                provisioning_details = None,
                pre_approval_trigger_details = None,
                access_request_phases = [
                    sailpoint.v2025.models.access_request_phases.AccessRequestPhases(
                        started = '2020-07-11T00:00Z', 
                        finished = '2020-07-12T00:00Z', 
                        name = 'APPROVAL_PHASE', 
                        state = 'COMPLETED', 
                        result = 'SUCCESSFUL', 
                        phase_reference = 'approvalDetails', )
                    ],
                description = 'This is the Engineering role that engineers are granted.',
                remove_date = '2019-10-23T00:00Z',
                cancelable = True,
                reauthorization_required = True,
                access_request_id = '2b838de9-db9b-abcf-e646-d4f274ad4238',
                client_metadata = {key1=value1, key2=value2}
            )
        else:
            return AccessRequestAdminItemStatus(
        )
        """

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

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