# coding: utf-8

"""
    authentik

    Making authentication simple.

    The version of the OpenAPI document: 2026.5.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.device_facts_request import DeviceFactsRequest

class TestDeviceFactsRequest(unittest.TestCase):
    """DeviceFactsRequest unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional) -> DeviceFactsRequest:
        """Test DeviceFactsRequest
            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 `DeviceFactsRequest`
        """
        model = DeviceFactsRequest()
        if include_optional:
            return DeviceFactsRequest(
                os = authentik_client.models.operating_system_request.OperatingSystemRequest(
                    family = 'linux', 
                    name = '0', 
                    version = '0', 
                    arch = '0', ),
                disks = [
                    authentik_client.models.disk_request.DiskRequest(
                        name = '0', 
                        mountpoint = '0', 
                        label = '', 
                        capacity_total_bytes = 56, 
                        capacity_used_bytes = 56, 
                        encryption_enabled = True, )
                    ],
                network = authentik_client.models.network_request.NetworkRequest(
                    hostname = '0', 
                    firewall_enabled = True, 
                    interfaces = [
                        authentik_client.models.network_interface_request.NetworkInterfaceRequest(
                            name = '0', 
                            hardware_address = '0', 
                            ip_addresses = [
                                '0'
                                ], 
                            dns_servers = [
                                '0'
                                ], )
                        ], 
                    gateway = '0', ),
                hardware = authentik_client.models.hardware_request.HardwareRequest(
                    model = '0', 
                    manufacturer = '0', 
                    serial = '0', 
                    cpu_name = '0', 
                    cpu_count = 56, 
                    memory_bytes = 56, ),
                software = [
                    authentik_client.models.software_request.SoftwareRequest(
                        name = '0', 
                        version = '', 
                        source = '0', 
                        path = '0', )
                    ],
                processes = [
                    authentik_client.models.process_request.ProcessRequest(
                        id = 56, 
                        name = '0', 
                        user = '0', )
                    ],
                users = [
                    authentik_client.models.device_user_request.DeviceUserRequest(
                        id = '0', 
                        username = '0', 
                        name = '0', 
                        home = '0', )
                    ],
                groups = [
                    authentik_client.models.device_group_request.DeviceGroupRequest(
                        id = '0', 
                        name = '0', )
                    ],
                vendor = {
                    'key' : null
                    }
            )
        else:
            return DeviceFactsRequest(
        )
        """

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

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