# coding: utf-8

"""
    authentik

    Making authentication simple.

    The version of the OpenAPI document: 2026.2.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.endpoint_device_details import EndpointDeviceDetails

class TestEndpointDeviceDetails(unittest.TestCase):
    """EndpointDeviceDetails unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional) -> EndpointDeviceDetails:
        """Test EndpointDeviceDetails
            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 `EndpointDeviceDetails`
        """
        model = EndpointDeviceDetails()
        if include_optional:
            return EndpointDeviceDetails(
                device_uuid = '',
                pbm_uuid = '',
                name = '',
                access_group = '',
                access_group_obj = authentik_client.models.device_access_group.DeviceAccessGroup(
                    pbm_uuid = '', 
                    name = '', 
                    attributes = {
                        'key' : null
                        }, ),
                expiring = True,
                expires = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
                facts = authentik_client.models.device_fact_snapshot.DeviceFactSnapshot(
                    data = authentik_client.models.device_facts.DeviceFacts(
                        os = null, 
                        disks = [
                            authentik_client.models.disk.Disk(
                                name = '', 
                                mountpoint = '', 
                                label = '', 
                                capacity_total_bytes = 56, 
                                capacity_used_bytes = 56, 
                                encryption_enabled = True, )
                            ], 
                        network = null, 
                        hardware = null, 
                        software = [
                            authentik_client.models.software.Software(
                                name = '', 
                                version = '', 
                                source = '', 
                                path = '', )
                            ], 
                        processes = [
                            authentik_client.models.process.Process(
                                id = 56, 
                                name = '', 
                                user = '', )
                            ], 
                        users = [
                            authentik_client.models.device_user.DeviceUser(
                                id = '', 
                                username = '', 
                                name = '', 
                                home = '', )
                            ], 
                        groups = [
                            authentik_client.models.device_group.DeviceGroup(
                                id = '', 
                                name = '', )
                            ], 
                        vendor = {
                            'key' : null
                            }, ), 
                    connection = '', 
                    created = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                    expires = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                    vendor = null, ),
                attributes = {
                    'key' : null
                    },
                connections_obj = [
                    authentik_client.models.device_connection.DeviceConnection(
                        device = '', 
                        connector = '', 
                        connector_obj = null, 
                        latest_snapshot = null, )
                    ],
                policies = [
                    ''
                    ],
                connections = [
                    ''
                    ]
            )
        else:
            return EndpointDeviceDetails(
                pbm_uuid = '',
                name = '',
                facts = authentik_client.models.device_fact_snapshot.DeviceFactSnapshot(
                    data = authentik_client.models.device_facts.DeviceFacts(
                        os = null, 
                        disks = [
                            authentik_client.models.disk.Disk(
                                name = '', 
                                mountpoint = '', 
                                label = '', 
                                capacity_total_bytes = 56, 
                                capacity_used_bytes = 56, 
                                encryption_enabled = True, )
                            ], 
                        network = null, 
                        hardware = null, 
                        software = [
                            authentik_client.models.software.Software(
                                name = '', 
                                version = '', 
                                source = '', 
                                path = '', )
                            ], 
                        processes = [
                            authentik_client.models.process.Process(
                                id = 56, 
                                name = '', 
                                user = '', )
                            ], 
                        users = [
                            authentik_client.models.device_user.DeviceUser(
                                id = '', 
                                username = '', 
                                name = '', 
                                home = '', )
                            ], 
                        groups = [
                            authentik_client.models.device_group.DeviceGroup(
                                id = '', 
                                name = '', )
                            ], 
                        vendor = {
                            'key' : null
                            }, ), 
                    connection = '', 
                    created = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                    expires = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                    vendor = null, ),
                connections_obj = [
                    authentik_client.models.device_connection.DeviceConnection(
                        device = '', 
                        connector = '', 
                        connector_obj = null, 
                        latest_snapshot = null, )
                    ],
                policies = [
                    ''
                    ],
                connections = [
                    ''
                    ],
        )
        """

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

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