# coding: utf-8

"""
    Agilicus API

    Agilicus API endpoints  # noqa: E501

    The version of the OpenAPI document: 2021.02.26
    Contact: dev@agilicus.com
    Generated by: https://openapi-generator.tech
"""


from __future__ import absolute_import

import unittest
import datetime

import agilicus_api
from agilicus_api.models.agent_connector import AgentConnector  # noqa: E501
from agilicus_api.rest import ApiException

class TestAgentConnector(unittest.TestCase):
    """AgentConnector unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional):
        """Test AgentConnector
            include_option is a boolean, when False only required
            params are included, when True both required and
            optional params are included """
        # model = agilicus_api.models.agent_connector.AgentConnector()  # noqa: E501
        if include_optional :
            return AgentConnector(
                metadata = {"id":"ac233asaksjfF","created":"2017-07-07T15:49:51.230+00:00","updated":"2020-01-27T12:19:46.430+00:00"}, 
                spec = agilicus_api.models.agent_connector_spec.AgentConnectorSpec(
                    name = '0', 
                    name_slug = 'a', 
                    org_id = '123', 
                    max_number_connections = 0, 
                    connection_uri = '0', 
                    service_account_required = True, ), 
                status = agilicus_api.models.agent_connector_status.AgentConnectorStatus(
                    application_services = [
                        agilicus_api.models.application_service.ApplicationService(
                            created = '2015-07-07T15:49:51.230+02:00', 
                            id = '123', 
                            name = '0', 
                            org_id = '0', 
                            hostname = 'db.example.com', 
                            ipv4_addresses = [
                                '192.0.2.1'
                                ], 
                            name_resolution = 'static', 
                            port = 56, 
                            protocol = 'tcp', 
                            assignments = [
                                agilicus_api.models.application_service_assignment.ApplicationServiceAssignment(
                                    app_id = '0', 
                                    environment_name = '0', 
                                    org_id = '0', )
                                ], 
                            updated = '2015-07-07T15:49:51.230+02:00', 
                            service_type = 'vpn', 
                            service_protocol_type = 'ip', 
                            connector_id = '123', )
                        ], 
                    service_account_id = '0', 
                    info = agilicus_api.models.agent_connector_info.AgentConnectorInfo(
                        connections_info = [
                            agilicus_api.models.agent_connector_connection_info.AgentConnectorConnectionInfo(
                                connection_uri = 'wss://my-app.example.com/.agilcus-agent', 
                                connection_location = 'my-app.example.com', 
                                connection_path = '/.agilicus-agent', 
                                connection_org_id = 'asda93oidl2xZ6', 
                                connection_app_name = 'my-app', 
                                end_to_end_tls = True, 
                                max_number_connections = 0, 
                                ip_services = [
                                    agilicus_api.models.application_service.ApplicationService(
                                        created = '2015-07-07T15:49:51.230+02:00', 
                                        id = '123', 
                                        name = '0', 
                                        org_id = '0', 
                                        hostname = 'db.example.com', 
                                        name_resolution = 'static', 
                                        port = 56, 
                                        protocol = 'tcp', 
                                        updated = '2015-07-07T15:49:51.230+02:00', 
                                        service_type = 'vpn', 
                                        service_protocol_type = 'ip', 
                                        connector_id = '123', )
                                    ], 
                                file_share_services = [
                                    agilicus_api.models.file_share_service.FileShareService(
                                        metadata = {"id":"ac233asaksjfF","created":"2017-07-07T15:49:51.230+00:00","updated":"2020-01-27T12:19:46.430+00:00"}, 
                                        spec = agilicus_api.models.file_share_service_spec.FileShareServiceSpec(
                                            name = 'share1', 
                                            share_name = 'share1', 
                                            org_id = '123', 
                                            local_path = '/home/agilicus/public/share1', 
                                            connector_id = '123', ), 
                                        status = agilicus_api.models.file_share_service_status.FileShareServiceStatus(
                                            share_base_app_name = '0', 
                                            instance_id = 'asdas9Gk4asdaTH', 
                                            instance_org_id = '39ddfGAaslts8qX', ), )
                                    ], )
                            ], ), 
                    stats = {"metadata":{"creation_time":"2020-07-07T15:40:46.010Z","collection_time":"2020-07-07T15:40:44.020Z","receipt_time":"2020-07-07T15:40:46.020Z"},"overall_status":"good","system":{"os_version":"5.4.0","os_uptime":15623,"agent_uptime":15000,"agent_version":"v0.29.5 8e4fe7281219aa02dcc088154b7e7e3fc279f259","agent_connector_id":"as3asldlt3a","agent_connector_org_id":"dO04ldlfwe9a3l"},"transport":{"active_connections":5,"target_number_connections":5,"connection_start_count":10,"connection_stop_count":5}}, )
            )
        else :
            return AgentConnector(
                spec = agilicus_api.models.agent_connector_spec.AgentConnectorSpec(
                    name = '0', 
                    name_slug = 'a', 
                    org_id = '123', 
                    max_number_connections = 0, 
                    connection_uri = '0', 
                    service_account_required = True, ),
        )

    def testAgentConnector(self):
        """Test AgentConnector"""
        inst_req_only = self.make_instance(include_optional=False)
        inst_req_and_optional = self.make_instance(include_optional=True)


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