# coding: utf-8

"""
    authentik

    Making authentication simple.

    The version of the OpenAPI document: 2025.12.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 import EndpointDevice

class TestEndpointDevice(unittest.TestCase):
    """EndpointDevice unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional) -> EndpointDevice:
        """Test EndpointDevice
            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 `EndpointDevice`
        """
        model = EndpointDevice()
        if include_optional:
            return EndpointDevice(
                device_uuid = '',
                pbm_uuid = '',
                name = '',
                access_group = '',
                access_group_obj = authentik_client.models.device_access_group.DeviceAccessGroup(
                    pbm_uuid = '', 
                    name = '', ),
                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'), ),
                attributes = {
                    'key' : null
                    }
            )
        else:
            return EndpointDevice(
                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'), ),
        )
        """

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

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