# 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.ipsec_connector_spec import IpsecConnectorSpec  # noqa: E501
from agilicus_api.rest import ApiException

class TestIpsecConnectorSpec(unittest.TestCase):
    """IpsecConnectorSpec unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional):
        """Test IpsecConnectorSpec
            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.ipsec_connector_spec.IpsecConnectorSpec()  # noqa: E501
        if include_optional :
            return IpsecConnectorSpec(
                name = 'ipsec1', 
                name_slug = 'a', 
                org_id = '123', 
                ipsec_gateway_id = '1234', 
                connections = [
                    agilicus_api.models.ipsec_connection.IpsecConnection(
                        name = '0', 
                        inherit_from = '0', 
                        gateway_interface = agilicus_api.models.ipsec_gateway_interface.IpsecGatewayInterface(
                            name = 'a', 
                            hostname = 'vpn-1', 
                            certificate_dn = 'C=US, O=LetsEncrypt, CN=R3', ), 
                        spec = agilicus_api.models.ipsec_connection_spec.IpsecConnectionSpec(
                            ike_version = 'ikev1', 
                            remote_ipv4_address = '0', 
                            remote_dns_ipv4_address = '0', 
                            remote_healthcheck_ipv4_address = '0', 
                            ike_cipher_encryption_algorithm = 'aes128', 
                            ike_cipher_integrity_algorithm = 'sha256', 
                            ike_cipher_diffie_hellman_group = 'ecp256', 
                            esp_cipher_encryption_algorithm = 'aes128', 
                            esp_cipher_integrity_algorithm = 'sha256', 
                            esp_cipher_diffie_hellman_group = 'ecp256', 
                            esp_lifetime = 56, 
                            ike_lifetime = 56, 
                            ike_rekey = True, 
                            ike_reauth = True, 
                            ike_authentication_type = 'ike_preshared_key', 
                            ike_preshared_key = '0', 
                            ike_chain_of_trust_certificates = '0', 
                            ike_certificate_dn = '0', 
                            local_ipv4_block = '192.168.3.0/30', 
                            remote_ipv4_ranges = [
                                agilicus_api.models.ipsec_connection_ipv4_block.IpsecConnectionIpv4Block(
                                    ipv4_address_block = '192.168.2.1/30', )
                                ], ), )
                    ]
            )
        else :
            return IpsecConnectorSpec(
                name = 'ipsec1',
                org_id = '123',
        )

    def testIpsecConnectorSpec(self):
        """Test IpsecConnectorSpec"""
        inst_req_only = self.make_instance(include_optional=False)
        inst_req_and_optional = self.make_instance(include_optional=True)


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