# coding: utf-8

"""
    authentik

    Making authentication simple.

    The version of the OpenAPI document: 2024.12.3
    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.token_model import TokenModel

class TestTokenModel(unittest.TestCase):
    """TokenModel unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional) -> TokenModel:
        """Test TokenModel
            include_option 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 `TokenModel`
        """
        model = TokenModel()
        if include_optional:
            return TokenModel(
                pk = 56,
                provider = authentik_client.models.o_auth2_provider.OAuth2Provider(
                    pk = 56, 
                    name = '', 
                    authentication_flow = '', 
                    authorization_flow = '', 
                    invalidation_flow = '', 
                    property_mappings = [
                        ''
                        ], 
                    component = '', 
                    assigned_application_slug = '', 
                    assigned_application_name = '', 
                    assigned_backchannel_application_slug = '', 
                    assigned_backchannel_application_name = '', 
                    verbose_name = '', 
                    verbose_name_plural = '', 
                    meta_model_name = '', 
                    client_type = null, 
                    client_id = '', 
                    client_secret = '', 
                    access_code_validity = '', 
                    access_token_validity = '', 
                    refresh_token_validity = '', 
                    include_claims_in_id_token = True, 
                    signing_key = '', 
                    encryption_key = '', 
                    redirect_uris = [
                        authentik_client.models.redirect_uri.RedirectURI(
                            matching_mode = 'strict', 
                            url = '', )
                        ], 
                    sub_mode = null, 
                    issuer_mode = null, 
                    jwt_federation_sources = [
                        ''
                        ], 
                    jwt_federation_providers = [
                        56
                        ], ),
                user = authentik_client.models.user.User(
                    pk = 56, 
                    username = '', 
                    name = '', 
                    is_active = True, 
                    last_login = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                    is_superuser = True, 
                    groups = [
                        ''
                        ], 
                    groups_obj = [
                        authentik_client.models.user_group.UserGroup(
                            pk = '', 
                            num_pk = 56, 
                            name = '', 
                            is_superuser = True, 
                            parent = '', 
                            parent_name = '', 
                            attributes = {
                                'key' : null
                                }, )
                        ], 
                    email = '', 
                    avatar = '', 
                    attributes = {
                        'key' : null
                        }, 
                    uid = '', 
                    path = '', 
                    type = 'internal', 
                    uuid = '', 
                    password_change_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ),
                is_expired = True,
                expires = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
                scope = [
                    ''
                    ],
                id_token = '',
                revoked = True
            )
        else:
            return TokenModel(
                pk = 56,
                provider = authentik_client.models.o_auth2_provider.OAuth2Provider(
                    pk = 56, 
                    name = '', 
                    authentication_flow = '', 
                    authorization_flow = '', 
                    invalidation_flow = '', 
                    property_mappings = [
                        ''
                        ], 
                    component = '', 
                    assigned_application_slug = '', 
                    assigned_application_name = '', 
                    assigned_backchannel_application_slug = '', 
                    assigned_backchannel_application_name = '', 
                    verbose_name = '', 
                    verbose_name_plural = '', 
                    meta_model_name = '', 
                    client_type = null, 
                    client_id = '', 
                    client_secret = '', 
                    access_code_validity = '', 
                    access_token_validity = '', 
                    refresh_token_validity = '', 
                    include_claims_in_id_token = True, 
                    signing_key = '', 
                    encryption_key = '', 
                    redirect_uris = [
                        authentik_client.models.redirect_uri.RedirectURI(
                            matching_mode = 'strict', 
                            url = '', )
                        ], 
                    sub_mode = null, 
                    issuer_mode = null, 
                    jwt_federation_sources = [
                        ''
                        ], 
                    jwt_federation_providers = [
                        56
                        ], ),
                user = authentik_client.models.user.User(
                    pk = 56, 
                    username = '', 
                    name = '', 
                    is_active = True, 
                    last_login = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                    is_superuser = True, 
                    groups = [
                        ''
                        ], 
                    groups_obj = [
                        authentik_client.models.user_group.UserGroup(
                            pk = '', 
                            num_pk = 56, 
                            name = '', 
                            is_superuser = True, 
                            parent = '', 
                            parent_name = '', 
                            attributes = {
                                'key' : null
                                }, )
                        ], 
                    email = '', 
                    avatar = '', 
                    attributes = {
                        'key' : null
                        }, 
                    uid = '', 
                    path = '', 
                    type = 'internal', 
                    uuid = '', 
                    password_change_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ),
                is_expired = True,
                scope = [
                    ''
                    ],
                id_token = '',
        )
        """

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

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