# coding: utf-8

"""
    Vayu API

    The Vayu API is a RESTful API that allows you to submit events for processing and storage & manage billing related entities.           The API is secured using the Bearer Authentication scheme with JWT tokens.           To obtain a JWT token, please contact Vayu at team@withvayu.com

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

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


import unittest

from openapi.models.get_contract_response_contract import GetContractResponseContract

class TestGetContractResponseContract(unittest.TestCase):
    """GetContractResponseContract unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional) -> GetContractResponseContract:
        """Test GetContractResponseContract
            include_optional 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 `GetContractResponseContract`
        """
        model = GetContractResponseContract()
        if include_optional:
            return GetContractResponseContract(
                start_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
                customer_id = '62ECB020842930cc01FFCCfe',
                name = '',
                sales_force_opportunity_id = '',
                end_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
                signature_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
                products = [
                    openapi.models.product_group_products_inner.ProductGroup_products_inner(
                        display_name = '', 
                        description = '', 
                        scheduling = openapi.models.product_group_products_inner_scheduling.ProductGroup_products_inner_scheduling(
                            billing_day = 1, 
                            duration = openapi.models.product_group_products_inner_scheduling_duration.ProductGroup_products_inner_scheduling_duration(
                                unit = 'MONTH', 
                                value = 0, ), ), 
                        pricing = null, 
                        catalog_product_id = '', 
                        product_erp_id = '', 
                        ns_class = '', 
                        ns_class_id = '', 
                        commitment = openapi.models.product_group_products_inner_commitment.ProductGroup_products_inner_commitment(
                            units = 0, 
                            price = 0, 
                            overage_strategy = 'IGNORE', ), 
                        payment_term = 'Prepayment', 
                        is_calendar_aligned = True, 
                        cloud_provider_settings = openapi.models.product_cloud_provider_settings.ProductCloudProviderSettings(
                            cloud_provider = 'AWS', 
                            cloud_provider_marketplace_id = '', 
                            dimension = '', ), )
                    ],
                product_groups = [
                    openapi.models.product_group.ProductGroup(
                        display_name = '', 
                        description = '', 
                        product_erp_id = '', 
                        ns_class = '', 
                        ns_class_id = '', 
                        products = [
                            openapi.models.product_group_products_inner.ProductGroup_products_inner(
                                display_name = '', 
                                description = '', 
                                scheduling = openapi.models.product_group_products_inner_scheduling.ProductGroup_products_inner_scheduling(
                                    billing_day = 1, 
                                    duration = openapi.models.product_group_products_inner_scheduling_duration.ProductGroup_products_inner_scheduling_duration(
                                        unit = 'MONTH', 
                                        value = 0, ), ), 
                                pricing = null, 
                                catalog_product_id = '', 
                                product_erp_id = '', 
                                ns_class = '', 
                                ns_class_id = '', 
                                commitment = openapi.models.product_group_products_inner_commitment.ProductGroup_products_inner_commitment(
                                    units = 0, 
                                    price = 0, 
                                    overage_strategy = 'IGNORE', ), 
                                payment_term = 'Prepayment', 
                                is_calendar_aligned = True, 
                                cloud_provider_settings = openapi.models.product_cloud_provider_settings.ProductCloudProviderSettings(
                                    cloud_provider = 'AWS', 
                                    cloud_provider_marketplace_id = '', 
                                    dimension = '', ), )
                            ], 
                        base_amount = 1.337, 
                        commitment = openapi.models.product_group_commitment.ProductGroup_commitment(
                            units = 0, 
                            price = 0, ), 
                        is_calendar_aligned = True, )
                    ],
                account_manager = '',
                should_pro_rate_invoices = True,
                auto_renew_contract = True,
                custom_fields = [
                    openapi.models.custom_field.CustomField(
                        integration_source = 'NetSuite', 
                        integration_entity_type = 'Account', 
                        field_path = '', 
                        vayu_custom_field_name = '', 
                        value_type = 'String', 
                        value = null, )
                    ],
                custom_field_values = [
                    openapi.models.custom_field_value.CustomFieldValue(
                        custom_field_definition_id = '', 
                        value = '', 
                        field_name = '', )
                    ],
                status = 'InReview',
                id = '',
                created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
                updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f')
            )
        else:
            return GetContractResponseContract(
                start_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
                customer_id = '62ECB020842930cc01FFCCfe',
                name = '',
                id = '',
                created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
                updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
        )
        """

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

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