# coding: utf-8

"""
    Akeyless API

    The purpose of this application is to provide access to Akeyless API.  # noqa: E501

    The version of the OpenAPI document: 0.0.1
    Contact: support@akeyless.io
    Generated by: https://openapi-generator.tech
"""


from __future__ import absolute_import

import unittest
import datetime

import akeyless
from akeyless.models.list_auth_methods_output import ListAuthMethodsOutput  # noqa: E501
from akeyless.rest import ApiException

class TestListAuthMethodsOutput(unittest.TestCase):
    """ListAuthMethodsOutput unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional):
        """Test ListAuthMethodsOutput
            include_option is a boolean, when False only required
            params are included, when True both required and
            optional params are included """
        # model = akeyless.models.list_auth_methods_output.ListAuthMethodsOutput()  # noqa: E501
        if include_optional :
            return ListAuthMethodsOutput(
                auth_methods = [
                    akeyless.models.auth_method_represents_a_single_auth_method/.AuthMethod represents a single Auth method.(
                        access_info = akeyless.models.auth_method_access_info_includes_auth_method_access_information/.AuthMethodAccessInfo includes auth method access information.(
                            access_expires = 56, 
                            api_key_access_rules = akeyless.models.api_key_access_rules_is_a_set_of_rules_for_api_key_access_type/.APIKeyAccessRules is a set of rules for API Key access type.(
                                alg = '0', 
                                key = '0', ), 
                            aws_iam_access_rules = akeyless.models.awsiam_access_rules_contains_access_rules_specific_to_aws_iam/.AWSIAMAccessRules contains access rules specific to AWS IAM.(
                                account_id = [
                                    '0'
                                    ], 
                                arn = [
                                    '0'
                                    ], 
                                resource_id = [
                                    '0'
                                    ], 
                                role_id = [
                                    '0'
                                    ], 
                                role_name = [
                                    '0'
                                    ], 
                                sts_endpoint = '0', 
                                user_id = [
                                    '0'
                                    ], 
                                user_name = [
                                    '0'
                                    ], ), 
                            azure_ad_access_rules = akeyless.models.azure_ad_access_rules.AzureADAccessRules(
                                ad_endpoint = '0', 
                                bound_group_ids = [
                                    '0'
                                    ], 
                                bound_resource_groups = [
                                    '0'
                                    ], 
                                bound_resource_ids = [
                                    '0'
                                    ], 
                                bound_resource_names = [
                                    '0'
                                    ], 
                                bound_resource_providers = [
                                    '0'
                                    ], 
                                bound_resource_types = [
                                    '0'
                                    ], 
                                bound_service_principal_ids = [
                                    '0'
                                    ], 
                                bound_subscription_ids = [
                                    '0'
                                    ], 
                                bound_tenant_id = '0', 
                                issuer = '0', 
                                jwks_uri = '0', ), 
                            cidr_whitelist = '0', 
                            email_pass_access_rules = akeyless.models.email_pass_access_rules_is_a_set_of_rules_for_email_password_access_type/.EmailPassAccessRules is a set of rules for email password access type.(
                                alg = '0', 
                                email = '0', 
                                hash_pass = '0', ), 
                            huawei_access_rules = akeyless.models.huawei_access_rules_defines_access_rules_specific_to_huawei_authentication/.HuaweiAccessRules defines access rules specific to Huawei authentication.(
                                auth_endpoint = '0', 
                                domain_id = [
                                    '0'
                                    ], 
                                domain_name = [
                                    '0'
                                    ], 
                                tenant_id = [
                                    '0'
                                    ], 
                                tenant_name = [
                                    '0'
                                    ], ), 
                            ldap_access_rules = akeyless.models.ldap_access_rules_includes_access_rules_specific_to_ldap_authentication/.LDAPAccessRules includes access rules specific to LDAP authentication.(
                                alg = '0', 
                                key = '0', ), 
                            oauth2_access_rules = akeyless.models.o_auth2_access_rules.OAuth2AccessRules(
                                audience = '0', 
                                bound_claims = [
                                    akeyless.models.o_auth2_custom_claim.OAuth2CustomClaim(
                                        name = '0', 
                                        values = [
                                            '0'
                                            ], )
                                    ], 
                                bound_clients_id = [
                                    '0'
                                    ], 
                                issuer = '0', 
                                jwks_uri = '0', ), 
                            rules_type = '0', 
                            saml_access_rules = akeyless.models.saml_access_rules_defines_access_rules_specific_to_saml_authentication_method/.SAMLAccessRules defines access rules specific to SAML authentication method.(
                                bound_attributes = [
                                    akeyless.models.saml_attribute_defines_an_attribute_of_saml_authentication/.SAMLAttribute defines an attribute of SAML authentication.(
                                        name = '0', )
                                    ], 
                                idp_metadata_url = '0', 
                                idp_metadata_xml = '0', ), 
                            universal_identity_access_rules = akeyless.models.universal_identity_access_rules_contains_access_rules_specific_to_universal_identity/.UniversalIdentityAccessRules contains access rules specific to Universal Identity.(
                                deny_inheritance = True, 
                                deny_rotate = True, 
                                ttl = 56, ), ), 
                        account_id = '0', 
                        auth_method_access_id = '0', 
                        auth_method_name = '0', 
                        auth_method_roles_assoc = [
                            akeyless.models.auth_method_role_association.AuthMethodRoleAssociation(
                                assoc_id = '0', 
                                auth_method_sub_claims = {
                                    'key' : [
                                        '0'
                                        ]
                                    }, 
                                rules = akeyless.models.rules_are_a_part_of_akeyless_rbac/.Rules are a part of AKEYLESS RBAC.(
                                    admin = True, 
                                    path_rules = [
                                        akeyless.models.path_rule_is_a_single_rule_used_in_akeyless_rbac/.PathRule is a single rule used in AKEYLESS RBAC.(
                                            capabilities = [
                                                '0'
                                                ], 
                                            path = '0', 
                                            type = '0', )
                                        ], ), )
                            ], 
                        client_permissions = [
                            '0'
                            ], )
                    ], 
                next_page = '0'
            )
        else :
            return ListAuthMethodsOutput(
        )

    def testListAuthMethodsOutput(self):
        """Test ListAuthMethodsOutput"""
        inst_req_only = self.make_instance(include_optional=False)
        inst_req_and_optional = self.make_instance(include_optional=True)


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