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

class TestListItemsInPathOutput(unittest.TestCase):
    """ListItemsInPathOutput unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional):
        """Test ListItemsInPathOutput
            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_items_in_path_output.ListItemsInPathOutput()  # noqa: E501
        if include_optional :
            return ListItemsInPathOutput(
                folders = [
                    '0'
                    ], 
                items = [
                    akeyless.models.item_describes_any_item_in_akeyless/.Item describes any item in AKEYLESS.(
                        auto_rotate = True, 
                        cert_issuer_signer_key_name = '0', 
                        certificate_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', ), ), 
                        certificates = '0', 
                        client_permissions = [
                            '0'
                            ], 
                        deletion_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                        is_enabled = True, 
                        item_general_info = akeyless.models.item_general_info_defines_item_general_info/.ItemGeneralInfo defines item general info.(
                            cert_issue_details = akeyless.models.certificate_issue_info_defines_certificate_issuer_info/.CertificateIssueInfo defines Certificate Issuer info.(
                                cert_issuer_type = '0', 
                                max_ttl = 56, ), 
                            dynamic_secret_producer_details = akeyless.models.dynamic_secret_producer_info.DynamicSecretProducerInfo(
                                producer_status = '0', 
                                producer_type = '0', ), ), 
                        item_metadata = '0', 
                        item_name = '0', 
                        item_size = 56, 
                        item_state = '0', 
                        item_tags = [
                            '0'
                            ], 
                        item_type = '0', 
                        item_versions = [
                            akeyless.models.item_version_describes_an_item_version_in_akeyless/.ItemVersion describes an item version in AKEYLESS.(
                                creation_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                                deletion_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                                item_version_state = '0', 
                                protection_key_name = '0', 
                                version = 56, 
                                with_customer_fragment = True, )
                            ], 
                        last_version = 56, 
                        next_rotation_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                        producer_status = '0', 
                        protection_key_name = '0', 
                        public_value = '0', 
                        rotation_interval = 56, 
                        with_customer_fragment = True, )
                    ], 
                next_page = '0'
            )
        else :
            return ListItemsInPathOutput(
        )

    def testListItemsInPathOutput(self):
        """Test ListItemsInPathOutput"""
        inst_req_only = self.make_instance(include_optional=False)
        inst_req_and_optional = self.make_instance(include_optional=True)


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