# 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.device_fact_snapshot import DeviceFactSnapshot

class TestDeviceFactSnapshot(unittest.TestCase):
    """DeviceFactSnapshot unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional) -> DeviceFactSnapshot:
        """Test DeviceFactSnapshot
            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 `DeviceFactSnapshot`
        """
        model = DeviceFactSnapshot()
        if include_optional:
            return 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 = 'goauthentik.io/@merged'
            )
        else:
            return 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 = 'goauthentik.io/@merged',
        )
        """

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

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