# 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.migration_config import MigrationConfig

class TestMigrationConfig(unittest.TestCase):
    """MigrationConfig unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional) -> MigrationConfig:
        """Test MigrationConfig
            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 `MigrationConfig`
        """
        model = MigrationConfig()
        if include_optional:
            return MigrationConfig(
                migration_type = 're_extract',
                source_namespace_id = '',
                target_namespace_id = '',
                target_namespace_name = '',
                feature_extractors = [
                    mixpeek.models.feature_extractor_config.FeatureExtractorConfig(
                        feature_extractor_name = '', 
                        version = '', 
                        parameters = mixpeek.models.parameters.Parameters(), )
                    ],
                filters = mixpeek.models.resource_filter.ResourceFilter(
                    collection_ids = [
                        ''
                        ], 
                    taxonomy_ids = [
                        ''
                        ], 
                    cluster_ids = [
                        ''
                        ], 
                    retriever_ids = [
                        ''
                        ], 
                    date_range = {
                        'key' : ''
                        }, 
                    auto_include_dependencies = True, ),
                batch_options = mixpeek.models.batch_options.BatchOptions(
                    batch_size = 1.0, 
                    max_workers = 1.0, 
                    retry_failed = True, ),
                taxonomy_options = mixpeek.models.taxonomy_options.TaxonomyOptions(
                    preserve_taxonomy_ids = True, 
                    preserve_enrichment_fields = True, 
                    re_run_enrichment = True, 
                    migrate_reference_collections = True, ),
                cluster_options = mixpeek.models.cluster_options.ClusterOptions(
                    preserve_cluster_ids = True, 
                    preserve_assignments = True, 
                    migrate_artifacts = True, 
                    preserve_centroids = True, 
                    recompute_clusters = True, ),
                retriever_options = mixpeek.models.retriever_options.RetrieverOptions(
                    preserve_retriever_ids = True, 
                    migrate_interactions = True, 
                    migrate_execution_history = True, 
                    validate_references = True, ),
                preserve_resource_ids = True,
                dry_run = True,
                webhook_url = ''
            )
        else:
            return MigrationConfig(
                migration_type = 're_extract',
                source_namespace_id = '',
        )
        """

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

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