# coding: utf-8

"""
    GoodMem API

    API for interacting with the GoodMem service, providing vector-based memory storage and retrieval with multiple embedder support. The service enables creation of memory spaces, storing memories with vector representations, and efficient similarity-based retrieval.

    The version of the OpenAPI document: v1
    Contact: support@goodmem.io
    Generated by OpenAPI Generator (https://openapi-generator.tech)

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


import unittest

from goodmem_client.models.batch_memory_response import BatchMemoryResponse

class TestBatchMemoryResponse(unittest.TestCase):
    """BatchMemoryResponse unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional) -> BatchMemoryResponse:
        """Test BatchMemoryResponse
            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 `BatchMemoryResponse`
        """
        model = BatchMemoryResponse()
        if include_optional:
            return BatchMemoryResponse(
                results = [
                    goodmem_client.models.batch_memory_result.BatchMemoryResult(
                        success = True, 
                        memory_id = '550e8400-e29b-41d4-a716-446655440000', 
                        memory = goodmem_client.models.memory.Memory(
                            memory_id = '550e8400-e29b-41d4-a716-446655440000', 
                            space_id = '550e8400-e29b-41d4-a716-446655440001', 
                            original_content = '[B@3b582111', 
                            original_content_length = 56, 
                            original_content_sha256 = '9f2c8c5a9d740eb56d...', 
                            original_content_ref = 's3://my-bucket/document.pdf', 
                            content_type = 'text/plain', 
                            processing_status = 'COMPLETED', 
                            metadata = {"source": "document", "author": "John Doe"}, 
                            created_at = 1672531200000, 
                            updated_at = 1672531200000, 
                            created_by_id = '550e8400-e29b-41d4-a716-446655440002', 
                            updated_by_id = '550e8400-e29b-41d4-a716-446655440002', 
                            chunking_config = goodmem_client.models.chunking_configuration.ChunkingConfiguration(
                                none = goodmem_client.models.no_chunking_configuration.NoChunkingConfiguration(), 
                                recursive = goodmem_client.models.recursive_chunking_configuration.RecursiveChunkingConfiguration(
                                    chunk_size = 1000, 
                                    chunk_overlap = 200, 
                                    separators = ["\n\n", "\n", ".", " "], 
                                    keep_strategy = 'KEEP_NONE', 
                                    separator_is_regex = False, 
                                    length_measurement = 'CHARACTER_COUNT', ), 
                                sentence = goodmem_client.models.sentence_chunking_configuration.SentenceChunkingConfiguration(
                                    max_chunk_size = 1000, 
                                    min_chunk_size = 100, 
                                    enable_language_detection = True, 
                                    length_measurement = 'CHARACTER_COUNT', ), ), 
                            processing_history = goodmem_client.models.processing_history.ProcessingHistory(
                                latest_job = goodmem_client.models.background_job_summary.BackgroundJobSummary(
                                    job_id = 42, 
                                    job_type = 'document_processor', 
                                    status = 'BACKGROUND_JOB_RUNNING', 
                                    attempts = 1, 
                                    max_attempts = 5, 
                                    run_at = 1714713600000, 
                                    lease_until = 1714713660000, 
                                    locked_by = 'worker-1', 
                                    last_error = 'Transient network failure', 
                                    updated_at = 1714713615000, ), 
                                attempts = [
                                    goodmem_client.models.background_job_attempt.BackgroundJobAttempt(
                                        attempt_id = 101, 
                                        job_id = 42, 
                                        started_at = 1714713605000, 
                                        finished_at = 1714713612000, 
                                        ok = True, 
                                        worker_id = 'worker-1', 
                                        status_message = 'Uploading chunk 3/10', 
                                        progress_current = 3, 
                                        progress_total = 10, 
                                        progress_unit = 'chunks', 
                                        progress_updated_at = 1714713609000, 
                                        error_message = 'S3 upload timed out', 
                                        error_stacktrace = '', )
                                    ], ), ), 
                        error = goodmem_client.models.error_detail.ErrorDetail(
                            code = 403, 
                            message = 'Forbidden - insufficient permissions', ), )
                    ]
            )
        else:
            return BatchMemoryResponse(
                results = [
                    goodmem_client.models.batch_memory_result.BatchMemoryResult(
                        success = True, 
                        memory_id = '550e8400-e29b-41d4-a716-446655440000', 
                        memory = goodmem_client.models.memory.Memory(
                            memory_id = '550e8400-e29b-41d4-a716-446655440000', 
                            space_id = '550e8400-e29b-41d4-a716-446655440001', 
                            original_content = '[B@3b582111', 
                            original_content_length = 56, 
                            original_content_sha256 = '9f2c8c5a9d740eb56d...', 
                            original_content_ref = 's3://my-bucket/document.pdf', 
                            content_type = 'text/plain', 
                            processing_status = 'COMPLETED', 
                            metadata = {"source": "document", "author": "John Doe"}, 
                            created_at = 1672531200000, 
                            updated_at = 1672531200000, 
                            created_by_id = '550e8400-e29b-41d4-a716-446655440002', 
                            updated_by_id = '550e8400-e29b-41d4-a716-446655440002', 
                            chunking_config = goodmem_client.models.chunking_configuration.ChunkingConfiguration(
                                none = goodmem_client.models.no_chunking_configuration.NoChunkingConfiguration(), 
                                recursive = goodmem_client.models.recursive_chunking_configuration.RecursiveChunkingConfiguration(
                                    chunk_size = 1000, 
                                    chunk_overlap = 200, 
                                    separators = ["\n\n", "\n", ".", " "], 
                                    keep_strategy = 'KEEP_NONE', 
                                    separator_is_regex = False, 
                                    length_measurement = 'CHARACTER_COUNT', ), 
                                sentence = goodmem_client.models.sentence_chunking_configuration.SentenceChunkingConfiguration(
                                    max_chunk_size = 1000, 
                                    min_chunk_size = 100, 
                                    enable_language_detection = True, 
                                    length_measurement = 'CHARACTER_COUNT', ), ), 
                            processing_history = goodmem_client.models.processing_history.ProcessingHistory(
                                latest_job = goodmem_client.models.background_job_summary.BackgroundJobSummary(
                                    job_id = 42, 
                                    job_type = 'document_processor', 
                                    status = 'BACKGROUND_JOB_RUNNING', 
                                    attempts = 1, 
                                    max_attempts = 5, 
                                    run_at = 1714713600000, 
                                    lease_until = 1714713660000, 
                                    locked_by = 'worker-1', 
                                    last_error = 'Transient network failure', 
                                    updated_at = 1714713615000, ), 
                                attempts = [
                                    goodmem_client.models.background_job_attempt.BackgroundJobAttempt(
                                        attempt_id = 101, 
                                        job_id = 42, 
                                        started_at = 1714713605000, 
                                        finished_at = 1714713612000, 
                                        ok = True, 
                                        worker_id = 'worker-1', 
                                        status_message = 'Uploading chunk 3/10', 
                                        progress_current = 3, 
                                        progress_total = 10, 
                                        progress_unit = 'chunks', 
                                        progress_updated_at = 1714713609000, 
                                        error_message = 'S3 upload timed out', 
                                        error_stacktrace = '', )
                                    ], ), ), 
                        error = goodmem_client.models.error_detail.ErrorDetail(
                            code = 403, 
                            message = 'Forbidden - insufficient permissions', ), )
                    ],
        )
        """

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

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