# coding: utf-8

"""
    Agilicus API

    Agilicus API endpoints  # noqa: E501

    The version of the OpenAPI document: 2021.02.12
    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_status import AgentConnectorStatus  # noqa: E501
from agilicus_api.rest import ApiException

class TestAgentConnectorStatus(unittest.TestCase):
    """AgentConnectorStatus unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional):
        """Test AgentConnectorStatus
            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_status.AgentConnectorStatus()  # noqa: E501
        if include_optional :
            return 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', 
                            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', 
                                    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', )
                                ], 
                            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 = agilicus_api.models.agent_connector_stats.AgentConnectorStats(
                    system = agilicus_api.models.agent_connector_system_stats.AgentConnectorSystemStats(
                        os_version = 'Linux 5.4.0-45-generic #49-Ubuntu SMP Wed Aug 26 13:38:52 UTC 2020 x86_64 GNU/Linux', 
                        os_uptime = 45232, 
                        agent_uptime = 45000, 
                        agent_version = 'v0.29.5 8e4fe7281219aa02dcc088154b7e7e3fc279f259', 
                        agent_release_train = 'stable', 
                        agent_connector_id = 'SdaAs93adflq3a', 
                        agent_connector_org_id = 'd0d4laSDr4ws9', ), 
                    metadata = agilicus_api.models.agent_connector_stats_metadata.AgentConnectorStatsMetadata(
                        creation_time = '2020-07-07T15:40:46.010Z', 
                        collection_time = '2020-07-07T15:49:51.230Z', 
                        receipt_time = '2020-07-07T15:49:51.530Z', ), 
                    transport = agilicus_api.models.agent_connector_transport_stats.AgentConnectorTransportStats(
                        active_connections = 32, 
                        target_number_connections = 32, 
                        connection_start_count = 64, 
                        connection_stop_count = 32, ), 
                    shares = agilicus_api.models.agent_connector_share_stats.AgentConnectorShareStats(
                        exposed_shares_count = 2, 
                        server_running = True, 
                        server_start_time = '2020-07-07T15:55:51.230Z', 
                        server_stop_time = '2020-07-07T15:55:51.230Z', 
                        server_start_count = 2, 
                        server_stop_count = 1, 
                        per_share_info = [
                            agilicus_api.models.agent_connector_per_share_stats.AgentConnectorPerShareStats(
                                share_prefix = '/public', 
                                share_id = '5s930sdfsdlA', 
                                local_path = '/home/user/shared', 
                                total_requests = 5132, 
                                successful_requests = 5102, 
                                failed_requests = 30, 
                                bytes_sent = 30458101, 
                                bytes_received = 9574339, 
                                share_start_time = '2020-07-07T15:55:52.230Z', )
                            ], ), 
                    overall_status = 'good', )
            )
        else :
            return AgentConnectorStatus(
        )

    def testAgentConnectorStatus(self):
        """Test AgentConnectorStatus"""
        inst_req_only = self.make_instance(include_optional=False)
        inst_req_and_optional = self.make_instance(include_optional=True)


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