# coding: utf-8

"""
    Mixpeek API

    This is the Mixpeek API, providing access to various endpoints for data processing and retrieval.

    The version of the OpenAPI document: 0.81.1
    Contact: info@mixpeek.com
    Generated by OpenAPI Generator (https://openapi-generator.tech)

    Do not edit the class manually.
"""  # noqa: E501


import unittest

from mixpeek.models.collection_response import CollectionResponse

class TestCollectionResponse(unittest.TestCase):
    """CollectionResponse unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional) -> CollectionResponse:
        """Test CollectionResponse
            include_optional 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 `CollectionResponse`
        """
        model = CollectionResponse()
        if include_optional:
            return CollectionResponse(
                collection_id = '',
                collection_name = '012',
                description = '',
                input_schema = { },
                output_schema = { },
                feature_extractor = {
                    'key' : null
                    },
                source = mixpeek.models.source_config.SourceConfig(
                    type = 'bucket', 
                    bucket_ids = [
                        ''
                        ], 
                    source_namespace_id = '', 
                    collection_id = '', 
                    collection_ids = [
                        ''
                        ], 
                    inherited_bucket_ids = [
                        ''
                        ], 
                    source_filters = mixpeek.models.source_filters.SourceFilters(
                        filters = { }, ), ),
                source_bucket_schemas = {
                    'key' : { }
                    },
                source_lineage = [
                    mixpeek.models.single_lineage_entry.SingleLineageEntry(
                        source_config = mixpeek.models.source_config.SourceConfig(
                            type = 'bucket', 
                            bucket_ids = [
                                ''
                                ], 
                            source_namespace_id = '', 
                            collection_id = '', 
                            collection_ids = [
                                ''
                                ], 
                            inherited_bucket_ids = [
                                ''
                                ], 
                            source_filters = mixpeek.models.source_filters.SourceFilters(
                                filters = { }, ), ), 
                        feature_extractor = {
                            'key' : null
                            }, 
                        output_schema = { }, )
                    ],
                vector_indexes = [
                    null
                    ],
                payload_indexes = [
                    null
                    ],
                enabled = True,
                metadata = { },
                schedule = mixpeek.models.collection_schedule_config.CollectionScheduleConfig(
                    trigger_type = '', 
                    schedule_config = { }, 
                    description = '', ),
                trigger_id = '',
                created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
                updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
                lifecycle_state = 'active',
                s3_vector_index = '',
                last_lifecycle_transition = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
                tiering_rules = [
                    mixpeek.models.tiering_rule.TieringRule(
                        rule_type = 'auto_evict', 
                        enabled = True, 
                        threshold_days = 56, )
                    ],
                document_count = 56,
                schema_version = 56,
                last_schema_sync = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
                schema_sync_enabled = True,
                taxonomy_applications = [
                    { }
                    ],
                cluster_applications = [
                    mixpeek.models.cluster_application_config.ClusterApplicationConfig(
                        cluster_id = '', 
                        auto_execute_on_batch = True, 
                        min_document_threshold = 56, 
                        cooldown_seconds = 56, 
                        execution_phase = 1, 
                        priority = 0, )
                    ],
                alert_applications = [
                    { }
                    ],
                retriever_enrichments = [
                    mixpeek.models.retriever_enrichment_config.RetrieverEnrichmentConfig(
                        retriever_id = '', 
                        input_mappings = [
                            mixpeek.models.enrichment_input_mapping.EnrichmentInputMapping(
                                input_key = '', 
                                source = mixpeek.models.input_mapping_source.InputMappingSource(
                                    source_type = 'document_field', 
                                    path = '', 
                                    value = null, ), )
                            ], 
                        write_back_fields = [
                            mixpeek.models.write_back_field_mapping.WriteBackFieldMapping(
                                source_field = '', 
                                target_field = '', 
                                mode = 'first', )
                            ], 
                        execution_phase = 1, 
                        priority = 0, 
                        scroll_filters = { }, 
                        enabled = True, )
                    ],
                taxonomy_count = 56,
                retriever_count = 56
            )
        else:
            return CollectionResponse(
                collection_name = '012',
                input_schema = { },
                output_schema = { },
                feature_extractor = {
                    'key' : null
                    },
                source = mixpeek.models.source_config.SourceConfig(
                    type = 'bucket', 
                    bucket_ids = [
                        ''
                        ], 
                    source_namespace_id = '', 
                    collection_id = '', 
                    collection_ids = [
                        ''
                        ], 
                    inherited_bucket_ids = [
                        ''
                        ], 
                    source_filters = mixpeek.models.source_filters.SourceFilters(
                        filters = { }, ), ),
        )
        """

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

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