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

class TestItemGeneralInfo(unittest.TestCase):
    """ItemGeneralInfo unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional):
        """Test ItemGeneralInfo
            include_option is a boolean, when False only required
            params are included, when True both required and
            optional params are included """
        # model = akeyless.models.item_general_info.ItemGeneralInfo()  # noqa: E501
        if include_optional :
            return ItemGeneralInfo(
                cert_issue_details = akeyless.models.certificate_issue_info_defines_certificate_issuer_info/.CertificateIssueInfo defines Certificate Issuer info.(
                    cert_issuer_type = '0', 
                    max_ttl = 56, 
                    pki_cert_issuer_details = akeyless.models.pki_certificate_issue_details_defines_pki_certificate_details/.PKICertificateIssueDetails defines PKI certificate details.(
                        allow_any_name = True, 
                        allow_subdomains = True, 
                        allowed_domains_list = [
                            '0'
                            ], 
                        allowed_uri_sans = [
                            '0'
                            ], 
                        client_flag = True, 
                        code_signing_flag = True, 
                        country = [
                            '0'
                            ], 
                        enforce_hostnames = True, 
                        key_bits = 56, 
                        key_type = '0', 
                        key_usage_list = [
                            '0'
                            ], 
                        locality = [
                            '0'
                            ], 
                        not_before_duration = 56, 
                        organization_list = [
                            '0'
                            ], 
                        organization_unit_list = [
                            '0'
                            ], 
                        postal_code = [
                            '0'
                            ], 
                        province = [
                            '0'
                            ], 
                        require_cn = True, 
                        server_flag = True, 
                        street_address = [
                            '0'
                            ], ), 
                    ssh_cert_issuer_details = akeyless.models.ssh_certificate_issue_details_defines_ssh_certificate_details/.SSHCertificateIssueDetails defines SSH certificate details.(
                        allowed_domains = [
                            '0'
                            ], 
                        allowed_user_key_lengths = {
                            'key' : 56
                            }, 
                        allowed_users = [
                            '0'
                            ], 
                        cert_type = 56, 
                        critical_options = {
                            'key' : '0'
                            }, 
                        extensions = {
                            'key' : '0'
                            }, 
                        principals = [
                            '0'
                            ], 
                        static_key_id = '0', ), ), 
                dynamic_secret_producer_details = akeyless.models.dynamic_secret_producer_info.DynamicSecretProducerInfo(
                    producer_status = '0', 
                    producer_type = '0', )
            )
        else :
            return ItemGeneralInfo(
        )

    def testItemGeneralInfo(self):
        """Test ItemGeneralInfo"""
        inst_req_only = self.make_instance(include_optional=False)
        inst_req_and_optional = self.make_instance(include_optional=True)


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