# 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.self_service_reservation_response import SelfServiceReservationResponse

class TestSelfServiceReservationResponse(unittest.TestCase):
    """SelfServiceReservationResponse unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional) -> SelfServiceReservationResponse:
        """Test SelfServiceReservationResponse
            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 `SelfServiceReservationResponse`
        """
        model = SelfServiceReservationResponse()
        if include_optional:
            return SelfServiceReservationResponse(
                created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
                href = '',
                item = [
                    equinix.services.metalv1.models.self_service_reservation_item_response.SelfServiceReservationItemResponse(
                        amount = 1.337, 
                        href = '', 
                        id = '', 
                        metro_code = '', 
                        metro_id = '', 
                        metro_name = '', 
                        plan = equinix.services.metalv1.models.plan.Plan(
                            available_in = [
                                equinix.services.metalv1.models.plan_available_in_inner.Plan_available_in_inner(
                                    href = '', 
                                    price = equinix.services.metalv1.models.plan_available_in_inner_price.Plan_available_in_inner_price(
                                        hour = 1.23, 
                                        href = '', ), )
                                ], 
                            available_in_metros = [
                                equinix.services.metalv1.models.plan_available_in_metros_inner.Plan_available_in_metros_inner(
                                    href = '', )
                                ], 
                            categories = [
                                ''
                                ], 
                            class = 'm3.large.x86', 
                            deployment_types = [
                                'on_demand'
                                ], 
                            description = '', 
                            href = '', 
                            id = '', 
                            legacy = True, 
                            line = '', 
                            name = '', 
                            pricing = equinix.services.metalv1.models.pricing.pricing(), 
                            slug = 'm3.large.x86', 
                            specs = equinix.services.metalv1.models.plan_specs.Plan_specs(
                                cpus = [
                                    equinix.services.metalv1.models.plan_specs_cpus_inner.Plan_specs_cpus_inner(
                                        count = 56, 
                                        href = '', 
                                        type = '', )
                                    ], 
                                drives = [
                                    equinix.services.metalv1.models.plan_specs_drives_inner.Plan_specs_drives_inner(
                                        category = '', 
                                        count = 56, 
                                        href = '', 
                                        size = '3.84TB', 
                                        type = '', )
                                    ], 
                                features = equinix.services.metalv1.models.plan_specs_features.Plan_specs_features(
                                    href = '', 
                                    raid = True, 
                                    txt = True, 
                                    uefi = True, ), 
                                href = '', 
                                memory = equinix.services.metalv1.models.plan_specs_memory.Plan_specs_memory(
                                    href = '', 
                                    total = '', ), 
                                nics = [
                                    equinix.services.metalv1.models.plan_specs_nics_inner.Plan_specs_nics_inner(
                                        count = 2, 
                                        href = '', 
                                        type = '', )
                                    ], ), 
                            type = 'standard', ), 
                        plan_categories = [
                            ''
                            ], 
                        plan_id = '', 
                        plan_name = '', 
                        plan_slug = '', 
                        quantity = 56, 
                        term = '', )
                    ],
                notes = '',
                organization = '',
                organization_id = '',
                period = equinix.services.metalv1.models.create_self_service_reservation_request_period.CreateSelfServiceReservationRequest_period(
                    count = 12, 
                    href = '', 
                    unit = 'monthly', ),
                project = '',
                project_id = '',
                start_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
                status = '',
                total_cost = 56
            )
        else:
            return SelfServiceReservationResponse(
        )
        """

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

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