# coding: utf-8

"""
    ibl-data-manager

    API for iblai

    The version of the OpenAPI document: 4.202.1-ai-plus
    Generated by OpenAPI Generator (https://openapi-generator.tech)

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


import unittest

from iblai.models.periodic_agent import PeriodicAgent

class TestPeriodicAgent(unittest.TestCase):
    """PeriodicAgent unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional) -> PeriodicAgent:
        """Test PeriodicAgent
            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 `PeriodicAgent`
        """
        model = PeriodicAgent()
        if include_optional:
            return PeriodicAgent(
                id = 56,
                mentor = iblai.models.mentor.Mentor(
                    id = 56, 
                    name = '', 
                    unique_id = '', 
                    flow = null, 
                    slug = 'z', 
                    platform = '', 
                    allow_anonymous = True, 
                    enable_offline_mode = True, 
                    metadata = null, 
                    enable_moderation = True, 
                    enable_multi_query_rag = True, 
                    enable_prompt_caching = True, 
                    enable_post_processing_system = True, 
                    enable_openai_assistant = True, 
                    enable_total_grounding = True, 
                    enable_suggested_prompts = True, 
                    enable_guided_prompts = True, 
                    save_flagged_prompts = True, 
                    guided_prompt_instructions = '', 
                    google_voice = 56, 
                    openai_voice = 56, 
                    categories = [
                        iblai.models.mentor_category.MentorCategory(
                            id = 56, 
                            name = '', 
                            description = '', 
                            category_group = 56, 
                            audience = iblai.models.mentor_audience.MentorAudience(
                                id = 56, 
                                name = '', 
                                description = '', ), 
                            audiences = [
                                iblai.models.mentor_audience.MentorAudience(
                                    id = 56, 
                                    name = '', 
                                    description = '', )
                                ], )
                        ], 
                    types = [
                        iblai.models.mentor_type.MentorType(
                            id = 56, 
                            name = '', 
                            description = '', )
                        ], 
                    is_featured = True, 
                    subjects = [
                        iblai.models.subject.Subject(
                            id = 56, 
                            name = '', 
                            description = '', )
                        ], 
                    proactive_prompt = '', 
                    study_mode_prompt = '', 
                    disclaimer = '', 
                    enable_disclaimer = True, 
                    show_attachment = True, 
                    show_voice_call = True, 
                    show_voice_record = True, 
                    show_rag_images = True, 
                    starter_prompts = null, 
                    embed_is_context_aware = True, 
                    embed_open_by_default = True, 
                    embed_show_attachment = True, 
                    embed_show_voice_call = True, 
                    embed_show_voice_record = True, 
                    show_explore_mentors = True, 
                    embed_icon_selection_data = null, 
                    placeholder_prompt = '', 
                    moderation_system_prompt = '', 
                    post_processing_prompt = '', 
                    moderation_response = '', 
                    safety_system_prompt = '', 
                    safety_response = '', 
                    enable_safety_system = True, 
                    proactive_response = '', 
                    greeting_method = null, 
                    call_configuration = iblai.models.call_configuration.CallConfiguration(
                        id = 56, 
                        mentor = '', 
                        mode = 'realtime', 
                        tts_provider = 'openai', 
                        stt_provider = 'openai', 
                        llm_provider = 'openai', 
                        language = '', 
                        use_function_calling_for_rag = True, 
                        google_voice = iblai.models.voice.Voice(
                            id = 56, 
                            name = '', 
                            provider = 'openai', 
                            language = '', 
                            description = '', 
                            audio_url = '', ), 
                        openai_voice = iblai.models.voice.Voice(
                            id = 56, 
                            name = '', 
                            provider = 'openai', 
                            language = '', 
                            description = '', 
                            audio_url = '', ), 
                        openai_voice_id = 56, 
                        google_voice_id = 56, 
                        enable_video = True, 
                        screensharing_system_prompt = '', 
                        screensharing_proactive_prompt = '', 
                        platform_key = '', ), 
                    mcp_servers = [
                        iblai.models.mcp_server.MCPServer(
                            id = 56, 
                            platform = 56, 
                            owner = '', 
                            name = '', 
                            description = '', 
                            url = '', 
                            image = '', 
                            transport = 'sse', 
                            credentials = '', 
                            extra_headers = null, 
                            platform_key = '', 
                            is_featured = True, 
                            auth_type = null, 
                            auth_scope = null, 
                            oauth_service = 56, 
                            oauth_service_data = null, 
                            mcp_server_connections = '', 
                            is_enabled = True, 
                            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_accessed_by = 56, 
                    recently_accessed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                    created_by = '', 
                    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'), ),
                title = '',
                username = '',
                description = '',
                prompt = '',
                task = iblai.models.periodic_task.PeriodicTask(
                    id = 56, 
                    name = '', 
                    crontab = iblai.models.crontab_schedule.CrontabSchedule(
                        minute = '', 
                        hour = '', 
                        day_of_week = '', 
                        day_of_month = '', 
                        month_of_year = '', ), 
                    one_off = True, 
                    start_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                    enabled = True, ),
                created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
                modified_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
                enabled = True,
                one_off = True,
                platform_key = '',
                pathway = '',
                callback_url = '',
                callback_secret = '',
                parent_session_id = '',
                parent_mentor_id = 56,
                previous_agent = 56,
                previous_agent_status = 'success',
                previous_agent_output = ''
            )
        else:
            return PeriodicAgent(
                id = 56,
                mentor = iblai.models.mentor.Mentor(
                    id = 56, 
                    name = '', 
                    unique_id = '', 
                    flow = null, 
                    slug = 'z', 
                    platform = '', 
                    allow_anonymous = True, 
                    enable_offline_mode = True, 
                    metadata = null, 
                    enable_moderation = True, 
                    enable_multi_query_rag = True, 
                    enable_prompt_caching = True, 
                    enable_post_processing_system = True, 
                    enable_openai_assistant = True, 
                    enable_total_grounding = True, 
                    enable_suggested_prompts = True, 
                    enable_guided_prompts = True, 
                    save_flagged_prompts = True, 
                    guided_prompt_instructions = '', 
                    google_voice = 56, 
                    openai_voice = 56, 
                    categories = [
                        iblai.models.mentor_category.MentorCategory(
                            id = 56, 
                            name = '', 
                            description = '', 
                            category_group = 56, 
                            audience = iblai.models.mentor_audience.MentorAudience(
                                id = 56, 
                                name = '', 
                                description = '', ), 
                            audiences = [
                                iblai.models.mentor_audience.MentorAudience(
                                    id = 56, 
                                    name = '', 
                                    description = '', )
                                ], )
                        ], 
                    types = [
                        iblai.models.mentor_type.MentorType(
                            id = 56, 
                            name = '', 
                            description = '', )
                        ], 
                    is_featured = True, 
                    subjects = [
                        iblai.models.subject.Subject(
                            id = 56, 
                            name = '', 
                            description = '', )
                        ], 
                    proactive_prompt = '', 
                    study_mode_prompt = '', 
                    disclaimer = '', 
                    enable_disclaimer = True, 
                    show_attachment = True, 
                    show_voice_call = True, 
                    show_voice_record = True, 
                    show_rag_images = True, 
                    starter_prompts = null, 
                    embed_is_context_aware = True, 
                    embed_open_by_default = True, 
                    embed_show_attachment = True, 
                    embed_show_voice_call = True, 
                    embed_show_voice_record = True, 
                    show_explore_mentors = True, 
                    embed_icon_selection_data = null, 
                    placeholder_prompt = '', 
                    moderation_system_prompt = '', 
                    post_processing_prompt = '', 
                    moderation_response = '', 
                    safety_system_prompt = '', 
                    safety_response = '', 
                    enable_safety_system = True, 
                    proactive_response = '', 
                    greeting_method = null, 
                    call_configuration = iblai.models.call_configuration.CallConfiguration(
                        id = 56, 
                        mentor = '', 
                        mode = 'realtime', 
                        tts_provider = 'openai', 
                        stt_provider = 'openai', 
                        llm_provider = 'openai', 
                        language = '', 
                        use_function_calling_for_rag = True, 
                        google_voice = iblai.models.voice.Voice(
                            id = 56, 
                            name = '', 
                            provider = 'openai', 
                            language = '', 
                            description = '', 
                            audio_url = '', ), 
                        openai_voice = iblai.models.voice.Voice(
                            id = 56, 
                            name = '', 
                            provider = 'openai', 
                            language = '', 
                            description = '', 
                            audio_url = '', ), 
                        openai_voice_id = 56, 
                        google_voice_id = 56, 
                        enable_video = True, 
                        screensharing_system_prompt = '', 
                        screensharing_proactive_prompt = '', 
                        platform_key = '', ), 
                    mcp_servers = [
                        iblai.models.mcp_server.MCPServer(
                            id = 56, 
                            platform = 56, 
                            owner = '', 
                            name = '', 
                            description = '', 
                            url = '', 
                            image = '', 
                            transport = 'sse', 
                            credentials = '', 
                            extra_headers = null, 
                            platform_key = '', 
                            is_featured = True, 
                            auth_type = null, 
                            auth_scope = null, 
                            oauth_service = 56, 
                            oauth_service_data = null, 
                            mcp_server_connections = '', 
                            is_enabled = True, 
                            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_accessed_by = 56, 
                    recently_accessed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                    created_by = '', 
                    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'), ),
                title = '',
                username = '',
                task = iblai.models.periodic_task.PeriodicTask(
                    id = 56, 
                    name = '', 
                    crontab = iblai.models.crontab_schedule.CrontabSchedule(
                        minute = '', 
                        hour = '', 
                        day_of_week = '', 
                        day_of_month = '', 
                        month_of_year = '', ), 
                    one_off = True, 
                    start_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                    enabled = True, ),
                created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
                modified_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
                enabled = True,
                one_off = True,
                platform_key = '',
                previous_agent_output = '',
        )
        """

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

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