# coding: utf-8

"""
    Metal API

    The version of the OpenAPI document: 1.0.0
    Contact: support@equinixmetal.com
    Generated by OpenAPI Generator (https://openapi-generator.tech)

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


import unittest

from equinix.services.metalv1.models.interconnection import Interconnection

class TestInterconnection(unittest.TestCase):
    """Interconnection unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional) -> Interconnection:
        """Test Interconnection
            include_option 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 `Interconnection`
        """
        model = Interconnection()
        if include_optional:
            return Interconnection(
                authorization_code = '',
                contact_email = '',
                created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
                description = '',
                fabric_provider = None,
                facility = equinix.services.metalv1.models.facility.Facility(
                    address = equinix.services.metalv1.models.address.Address(
                        address2 = '', 
                        city = '', 
                        coordinates = equinix.services.metalv1.models.coordinates.Coordinates(
                            href = '', 
                            latitude = '', 
                            longitude = '', ), 
                        country = '', 
                        href = '', 
                        state = '', 
                        zip_code = '', ), 
                    code = '', 
                    features = ["baremetal","backend_transfer","global_ipv4"], 
                    href = '', 
                    id = '', 
                    ip_ranges = ["2604:1380::/36","147.75.192.0/21"], 
                    metro = null, 
                    name = '', ),
                href = '',
                id = '',
                metro = equinix.services.metalv1.models.metro.Metro(
                    code = '', 
                    country = '', 
                    href = '', 
                    id = '', 
                    name = '', ),
                mode = 'standard',
                name = '',
                organization = equinix.services.metalv1.models.organization.Organization(
                    address = equinix.services.metalv1.models.address.Address(
                        address2 = '', 
                        city = '', 
                        coordinates = equinix.services.metalv1.models.coordinates.Coordinates(
                            href = '', 
                            latitude = '', 
                            longitude = '', ), 
                        country = '', 
                        href = '', 
                        state = '', 
                        zip_code = '', ), 
                    billing_address = equinix.services.metalv1.models.address.Address(
                        address2 = '', 
                        city = '', 
                        country = '', 
                        href = '', 
                        state = '', 
                        zip_code = '', ), 
                    created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                    credit_amount = 1.337, 
                    customdata = equinix.services.metalv1.models.customdata.customdata(), 
                    description = '', 
                    enforce_2fa_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                    href = '', 
                    id = '', 
                    logo = '', 
                    members = [
                        equinix.services.metalv1.models.href.Href(
                            href = '', )
                        ], 
                    memberships = [
                        equinix.services.metalv1.models.href.Href(
                            href = '', )
                        ], 
                    name = '', 
                    projects = [
                        
                        ], 
                    terms = 56, 
                    twitter = '', 
                    updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                    website = '', ),
                ports = [
                    equinix.services.metalv1.models.interconnection_port.InterconnectionPort(
                        href = '', 
                        id = '', 
                        link_status = '', 
                        name = '', 
                        organization = equinix.services.metalv1.models.href.Href(
                            href = '', ), 
                        role = 'primary', 
                        speed = 56, 
                        status = 'requested', 
                        switch_id = '', 
                        virtual_circuits = [
                            null
                            ], )
                    ],
                project = equinix.services.metalv1.models.project.Project(
                    backend_transfer_enabled = True, 
                    bgp_config = equinix.services.metalv1.models.href.Href(
                        href = '', ), 
                    created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                    customdata = equinix.services.metalv1.models.customdata.customdata(), 
                    devices = [
                        equinix.services.metalv1.models.href.Href(
                            href = '', )
                        ], 
                    href = '', 
                    id = '', 
                    invitations = [
                        
                        ], 
                    max_devices = equinix.services.metalv1.models.max_devices.max_devices(), 
                    members = [
                        
                        ], 
                    memberships = [
                        
                        ], 
                    name = '0', 
                    network_status = equinix.services.metalv1.models.network_status.network_status(), 
                    organization = , 
                    payment_method = , 
                    ssh_keys = [
                        
                        ], 
                    tags = [
                        ''
                        ], 
                    type = 'default', 
                    updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                    url = '', 
                    volumes = [
                        
                        ], ),
                redundancy = 'primary',
                requested_by = equinix.services.metalv1.models.href.Href(
                    href = '', ),
                service_tokens = [
                    equinix.services.metalv1.models.fabric_service_token.FabricServiceToken(
                        expires_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                        href = '', 
                        id = '', 
                        max_allowed_speed = 10000000000, 
                        role = 'primary', 
                        service_token_type = 'a_side', 
                        state = 'inactive', )
                    ],
                speed = 10000000000,
                status = '',
                tags = [
                    ''
                    ],
                token = '',
                type = 'shared',
                updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f')
            )
        else:
            return Interconnection(
        )
        """

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

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