# 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: 1.3.0
    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.payload import Payload

class TestPayload(unittest.TestCase):
    """Payload unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional) -> Payload:
        """Test Payload
            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 `Payload`
        """
        model = Payload()
        if include_optional:
            return Payload(
                taxonomy = mixpeek.models.taxonomy_model.TaxonomyModel(
                    taxonomy_id = '', 
                    version = 1.0, 
                    taxonomy_name = '', 
                    description = '', 
                    retriever_id = '', 
                    input_mappings = [
                        mixpeek.models.input_mapping.InputMapping(
                            input_key = '', 
                            source_type = 'payload', 
                            path = '', 
                            override = null, )
                        ], 
                    config = null, 
                    ready = True, 
                    created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                    metadata = mixpeek.models.metadata.Metadata(), ),
                retriever = mixpeek.models.retriever_model.RetrieverModel(
                    retriever_id = '', 
                    retriever_name = '', 
                    description = '', 
                    input_schema = null, 
                    collection_ids = [
                        ''
                        ], 
                    stages = [
                        mixpeek.models.stage_instance_config.StageInstanceConfig(
                            stage_name = '', 
                            stage_id = '', 
                            parameters = mixpeek.models.parameters.Parameters(), 
                            pre_filters = {
                                'key' : null
                                }, 
                            post_filters = {
                                'key' : null
                                }, 
                            stats = mixpeek.models.stage_performance.StagePerformance(
                                avg_execution_ms = 1.337, 
                                execution_count = 56, 
                                error_count = 56, 
                                last_executed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ), )
                        ], 
                    cache_config = mixpeek.models.cache_config.CacheConfig(
                        enabled = True, 
                        ttl_seconds = 0.0, 
                        cache_stage_names = [
                            ''
                            ], 
                        exclude_fields = [
                            ''
                            ], ), 
                    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'), 
                    last_executed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                    enabled = True, 
                    status = null, 
                    usage_stats = mixpeek.models.usage_statistics.UsageStatistics(
                        total_queries = 56, 
                        queries_last_24h = 56, 
                        avg_latency_ms = 1.337, 
                        error_rate = 0.0, 
                        last_error = '', 
                        cache_hit_rate = 0.0, ), 
                    collections = [
                        mixpeek.models.collection_detail.CollectionDetail(
                            collection_id = '', 
                            collection_name = '', 
                            document_count = 56, 
                            enabled = True, 
                            last_indexed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), )
                        ], 
                    metadata = mixpeek.models.metadata.Metadata(), 
                    tags = [
                        ''
                        ], 
                    created_by = mixpeek.models.creator_info.CreatorInfo(
                        user_id = '', 
                        email = '', 
                        name = '', ), 
                    updated_by = mixpeek.models.creator_info.CreatorInfo(
                        user_id = '', 
                        email = '', 
                        name = '', ), 
                    version = 56, 
                    revision_history = [
                        mixpeek.models.revision_history_entry.RevisionHistoryEntry(
                            version = 56, 
                            updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                            changes = '', )
                        ], 
                    health = mixpeek.models.health_check.HealthCheck(
                        status = null, 
                        last_check = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                        issues = [
                            ''
                            ], ), ),
                source_documents = [
                    None
                    ],
                source_collection_id = '',
                target_collection_id = '',
                join_mode = 'on_demand',
                batch_size = 1.0,
                scroll_filters = {
                    'key' : null
                    }
            )
        else:
            return Payload(
                taxonomy = mixpeek.models.taxonomy_model.TaxonomyModel(
                    taxonomy_id = '', 
                    version = 1.0, 
                    taxonomy_name = '', 
                    description = '', 
                    retriever_id = '', 
                    input_mappings = [
                        mixpeek.models.input_mapping.InputMapping(
                            input_key = '', 
                            source_type = 'payload', 
                            path = '', 
                            override = null, )
                        ], 
                    config = null, 
                    ready = True, 
                    created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                    metadata = mixpeek.models.metadata.Metadata(), ),
        )
        """

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

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