# 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.auth_method_access_info import AuthMethodAccessInfo  # noqa: E501
from akeyless.rest import ApiException

class TestAuthMethodAccessInfo(unittest.TestCase):
    """AuthMethodAccessInfo unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional):
        """Test AuthMethodAccessInfo
            include_option is a boolean, when False only required
            params are included, when True both required and
            optional params are included """
        # model = akeyless.models.auth_method_access_info.AuthMethodAccessInfo()  # noqa: E501
        if include_optional :
            return AuthMethodAccessInfo(
                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'
                        ], 
                    user_id = [
                        '0'
                        ], 
                    user_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', 
                            values = [
                                '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, )
            )
        else :
            return AuthMethodAccessInfo(
        )

    def testAuthMethodAccessInfo(self):
        """Test AuthMethodAccessInfo"""
        inst_req_only = self.make_instance(include_optional=False)
        inst_req_and_optional = self.make_instance(include_optional=True)


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