# 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.cluster_model import ClusterModel

class TestClusterModel(unittest.TestCase):
    """ClusterModel unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional) -> ClusterModel:
        """Test ClusterModel
            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 `ClusterModel`
        """
        model = ClusterModel()
        if include_optional:
            return ClusterModel(
                collection_ids = [
                    ''
                    ],
                cluster_name = '',
                cluster_type = 'vector',
                vector_config = mixpeek.models.vector_based_config.VectorBasedConfig(
                    feature_uri = '', 
                    feature_uris = [
                        ''
                        ], 
                    clustering_method = null, 
                    sample_size = 56, 
                    kmeans_parameters = null, 
                    dbscan_parameters = null, 
                    hdbscan_parameters = null, 
                    algorithm_params = null, 
                    multi_feature_strategy = 'concatenate', 
                    normalize_features = True, 
                    feature_weights = {
                        'key' : 1.337
                        }, 
                    weight_learning_config = mixpeek.models.weight_learning_config.WeightLearningConfig(
                        method = 'bayesian', 
                        max_iterations = 5.0, 
                        metric = 'silhouette', 
                        sample_size = 100.0, 
                        random_state = 56, ), 
                    output_strategy = 'single', 
                    effective_feature_method = 'mean', 
                    enrich_source = True, ),
                attribute_config = mixpeek.models.attribute_based_config.AttributeBasedConfig(
                    attributes = [
                        ''
                        ], 
                    hierarchical_grouping = True, 
                    aggregation_method = '', ),
                filters = {
                    'key' : null
                    },
                llm_labeling = mixpeek.models.llm_labeling.LLMLabeling(
                    enabled = True, 
                    labeling_inputs = mixpeek.models.llm_labeling_input.LLMLabelingInput(
                        input_mappings = [
                            mixpeek.models.input_mapping.InputMapping(
                                input_key = '', 
                                source_type = 'payload', 
                                path = '', 
                                override = null, )
                            ], ), 
                    provider = 'openai', 
                    model_name = null, 
                    include_summary = True, 
                    include_keywords = True, 
                    max_samples_per_cluster = 1.0, 
                    sample_text_max_length = 50.0, 
                    use_embedding_dedup = True, 
                    embedding_similarity_threshold = 0.5, 
                    cache_ttl_seconds = 0.0, 
                    custom_prompt = '', 
                    response_shape = null, 
                    parameters = mixpeek.models.parameters.Parameters(), ),
                enrich_source_collection = True,
                source_enrichment_config = mixpeek.models.source_enrichment_config.SourceEnrichmentConfig(
                    field_mappings = [
                        mixpeek.models.enrichment_field_mapping.EnrichmentFieldMapping(
                            source_field = '', 
                            target_field = '', )
                        ], ),
                cluster_id = '',
                parquet_path = '',
                members_key = '',
                num_clusters = 56,
                cluster_stats = mixpeek.models.cluster_stats.ClusterStats(
                    num_clusters = 56, 
                    noise_points = 56, 
                    silhouette_score = 1.337, 
                    extra = mixpeek.models.extra.Extra(), ),
                status = 'PENDING',
                task_id = '',
                last_run_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'),
                metadata = mixpeek.models.metadata.Metadata()
            )
        else:
            return ClusterModel(
        )
        """

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

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