# 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.create_contract_response import CreateContractResponse

class TestCreateContractResponse(unittest.TestCase):
    """CreateContractResponse unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional) -> CreateContractResponse:
        """Test CreateContractResponse
            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 `CreateContractResponse`
        """
        model = CreateContractResponse()
        if include_optional:
            return CreateContractResponse(
                contract = openapi.models.get_contract_response_contract.GetContractResponse_contract(
                    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 = '', 
                                    is_calendar_aligned = True, )
                                ], 
                            base_amount = 1.337, 
                            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 CreateContractResponse(
                contract = openapi.models.get_contract_response_contract.GetContractResponse_contract(
                    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 = '', 
                                    is_calendar_aligned = True, )
                                ], 
                            base_amount = 1.337, 
                            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'), ),
        )
        """

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

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