# coding: utf-8

"""
    FreeClimb API

    FreeClimb is a cloud-based application programming interface (API) that puts the power of the Vail platform in your hands. FreeClimb simplifies the process of creating applications that can use a full range of telephony features without requiring specialized or on-site telephony equipment. Using the FreeClimb REST API to write applications is easy! You have the option to use the language of your choice or hit the API directly. Your application can execute a command by issuing a RESTful request to the FreeClimb API. The base URL to send HTTP requests to the FreeClimb REST API is: /apiserver. FreeClimb authenticates and processes your request.

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

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


import unittest
import pydantic_core
from datetime import datetime
import freeclimb
from freeclimb import *
from freeclimb.models.sms_ten_dlc_brand import SMSTenDLCBrand


class TestSMSTenDLCBrand(unittest.TestCase):
    """SMSTenDLCBrand unit test stubs"""

    def setUp(self):
        self.model = SMSTenDLCBrand(
            entity_type=SMSTenDLCBrandEntityType.PRIVATE_PROFIT,
            display_name="TS",
            phone="TS",
            country="TS",
            email="TS",
            brand_relationship=SMSTenDLCBrandRelationship.BASIC_ACCOUNT,
            vertical="TS",
            mock=True,
            identity_status=SMSTenDLCBrandIdentityStatus.SELF_DECLARED,
        )

    def test_account_id(self):
        """Test SMSTenDLCBrand.account_id"""

        self.model.account_id = "TEST_STRING"
        assert self.model.account_id == "TEST_STRING"

    def test_entity_type(self):
        """Test SMSTenDLCBrand.entity_type"""
        self.model.entity_type = SMSTenDLCBrandEntityType.PRIVATE_PROFIT
        assert self.model.entity_type == SMSTenDLCBrandEntityType.PRIVATE_PROFIT
        self.model.entity_type = SMSTenDLCBrandEntityType.PUBLIC_PROFIT
        assert self.model.entity_type == SMSTenDLCBrandEntityType.PUBLIC_PROFIT
        self.model.entity_type = SMSTenDLCBrandEntityType.NON_PROFIT
        assert self.model.entity_type == SMSTenDLCBrandEntityType.NON_PROFIT
        self.model.entity_type = SMSTenDLCBrandEntityType.GOVERNMENT
        assert self.model.entity_type == SMSTenDLCBrandEntityType.GOVERNMENT
        self.model.entity_type = SMSTenDLCBrandEntityType.SOLE_PROPRIETOR
        assert self.model.entity_type == SMSTenDLCBrandEntityType.SOLE_PROPRIETOR

    def test_csp_id(self):
        """Test SMSTenDLCBrand.csp_id"""

        self.model.csp_id = "TEST_STRING"
        assert self.model.csp_id == "TEST_STRING"

    def test_brand_id(self):
        """Test SMSTenDLCBrand.brand_id"""

        self.model.brand_id = "TEST_STRING"
        assert self.model.brand_id == "TEST_STRING"

    def test_first_name(self):
        """Test SMSTenDLCBrand.first_name"""
        self.model.first_name = "T" * 100
        assert self.model.first_name == "T" * 100

        with self.assertRaises(pydantic_core._pydantic_core.ValidationError) as info:
            self.model.first_name = "T" * (100 + 1)

    def test_last_name(self):
        """Test SMSTenDLCBrand.last_name"""
        self.model.last_name = "T" * 100
        assert self.model.last_name == "T" * 100

        with self.assertRaises(pydantic_core._pydantic_core.ValidationError) as info:
            self.model.last_name = "T" * (100 + 1)

    def test_display_name(self):
        """Test SMSTenDLCBrand.display_name"""
        self.model.display_name = "T" * 255
        assert self.model.display_name == "T" * 255

        with self.assertRaises(pydantic_core._pydantic_core.ValidationError) as info:
            self.model.display_name = "T" * (255 + 1)

    def test_company_name(self):
        """Test SMSTenDLCBrand.company_name"""
        self.model.company_name = "T" * 255
        assert self.model.company_name == "T" * 255

        with self.assertRaises(pydantic_core._pydantic_core.ValidationError) as info:
            self.model.company_name = "T" * (255 + 1)

    def test_ein(self):
        """Test SMSTenDLCBrand.ein"""
        self.model.ein = "T" * 21
        assert self.model.ein == "T" * 21

        with self.assertRaises(pydantic_core._pydantic_core.ValidationError) as info:
            self.model.ein = "T" * (21 + 1)

    def test_ein_issuing_country(self):
        """Test SMSTenDLCBrand.ein_issuing_country"""
        self.model.ein_issuing_country = "T" * 2
        assert self.model.ein_issuing_country == "T" * 2

        with self.assertRaises(pydantic_core._pydantic_core.ValidationError) as info:
            self.model.ein_issuing_country = "T" * (2 + 1)

    def test_phone(self):
        """Test SMSTenDLCBrand.phone"""
        self.model.phone = "T" * 20
        assert self.model.phone == "T" * 20

        with self.assertRaises(pydantic_core._pydantic_core.ValidationError) as info:
            self.model.phone = "T" * (20 + 1)

    def test_street(self):
        """Test SMSTenDLCBrand.street"""
        self.model.street = "T" * 100
        assert self.model.street == "T" * 100

        with self.assertRaises(pydantic_core._pydantic_core.ValidationError) as info:
            self.model.street = "T" * (100 + 1)

    def test_city(self):
        """Test SMSTenDLCBrand.city"""
        self.model.city = "T" * 100
        assert self.model.city == "T" * 100

        with self.assertRaises(pydantic_core._pydantic_core.ValidationError) as info:
            self.model.city = "T" * (100 + 1)

    def test_state(self):
        """Test SMSTenDLCBrand.state"""
        self.model.state = "T" * 20
        assert self.model.state == "T" * 20

        with self.assertRaises(pydantic_core._pydantic_core.ValidationError) as info:
            self.model.state = "T" * (20 + 1)

    def test_postal_code(self):
        """Test SMSTenDLCBrand.postal_code"""
        self.model.postal_code = "T" * 10
        assert self.model.postal_code == "T" * 10

        with self.assertRaises(pydantic_core._pydantic_core.ValidationError) as info:
            self.model.postal_code = "T" * (10 + 1)

    def test_country(self):
        """Test SMSTenDLCBrand.country"""
        self.model.country = "T" * 2
        assert self.model.country == "T" * 2

        with self.assertRaises(pydantic_core._pydantic_core.ValidationError) as info:
            self.model.country = "T" * (2 + 1)

    def test_email(self):
        """Test SMSTenDLCBrand.email"""
        self.model.email = "T" * 100
        assert self.model.email == "T" * 100

        with self.assertRaises(pydantic_core._pydantic_core.ValidationError) as info:
            self.model.email = "T" * (100 + 1)

    def test_stock_symbol(self):
        """Test SMSTenDLCBrand.stock_symbol"""
        self.model.stock_symbol = "T" * 10
        assert self.model.stock_symbol == "T" * 10

        with self.assertRaises(pydantic_core._pydantic_core.ValidationError) as info:
            self.model.stock_symbol = "T" * (10 + 1)

    def test_stock_exchange(self):
        """Test SMSTenDLCBrand.stock_exchange"""
        self.model.stock_exchange = SMSTenDLCBrandStockExchange.NONE
        assert self.model.stock_exchange == SMSTenDLCBrandStockExchange.NONE
        self.model.stock_exchange = SMSTenDLCBrandStockExchange.NASDAQ
        assert self.model.stock_exchange == SMSTenDLCBrandStockExchange.NASDAQ
        self.model.stock_exchange = SMSTenDLCBrandStockExchange.NYSE
        assert self.model.stock_exchange == SMSTenDLCBrandStockExchange.NYSE
        self.model.stock_exchange = SMSTenDLCBrandStockExchange.AMEX
        assert self.model.stock_exchange == SMSTenDLCBrandStockExchange.AMEX
        self.model.stock_exchange = SMSTenDLCBrandStockExchange.AMX
        assert self.model.stock_exchange == SMSTenDLCBrandStockExchange.AMX
        self.model.stock_exchange = SMSTenDLCBrandStockExchange.ASX
        assert self.model.stock_exchange == SMSTenDLCBrandStockExchange.ASX
        self.model.stock_exchange = SMSTenDLCBrandStockExchange.B3
        assert self.model.stock_exchange == SMSTenDLCBrandStockExchange.B3
        self.model.stock_exchange = SMSTenDLCBrandStockExchange.BME
        assert self.model.stock_exchange == SMSTenDLCBrandStockExchange.BME
        self.model.stock_exchange = SMSTenDLCBrandStockExchange.BSE
        assert self.model.stock_exchange == SMSTenDLCBrandStockExchange.BSE
        self.model.stock_exchange = SMSTenDLCBrandStockExchange.FRA
        assert self.model.stock_exchange == SMSTenDLCBrandStockExchange.FRA
        self.model.stock_exchange = SMSTenDLCBrandStockExchange.ICEX
        assert self.model.stock_exchange == SMSTenDLCBrandStockExchange.ICEX
        self.model.stock_exchange = SMSTenDLCBrandStockExchange.JPX
        assert self.model.stock_exchange == SMSTenDLCBrandStockExchange.JPX
        self.model.stock_exchange = SMSTenDLCBrandStockExchange.JSE
        assert self.model.stock_exchange == SMSTenDLCBrandStockExchange.JSE
        self.model.stock_exchange = SMSTenDLCBrandStockExchange.KRX
        assert self.model.stock_exchange == SMSTenDLCBrandStockExchange.KRX
        self.model.stock_exchange = SMSTenDLCBrandStockExchange.LON
        assert self.model.stock_exchange == SMSTenDLCBrandStockExchange.LON
        self.model.stock_exchange = SMSTenDLCBrandStockExchange.NSE
        assert self.model.stock_exchange == SMSTenDLCBrandStockExchange.NSE
        self.model.stock_exchange = SMSTenDLCBrandStockExchange.OMX
        assert self.model.stock_exchange == SMSTenDLCBrandStockExchange.OMX
        self.model.stock_exchange = SMSTenDLCBrandStockExchange.SEHK
        assert self.model.stock_exchange == SMSTenDLCBrandStockExchange.SEHK
        self.model.stock_exchange = SMSTenDLCBrandStockExchange.SGX
        assert self.model.stock_exchange == SMSTenDLCBrandStockExchange.SGX
        self.model.stock_exchange = SMSTenDLCBrandStockExchange.SSE
        assert self.model.stock_exchange == SMSTenDLCBrandStockExchange.SSE
        self.model.stock_exchange = SMSTenDLCBrandStockExchange.STO
        assert self.model.stock_exchange == SMSTenDLCBrandStockExchange.STO
        self.model.stock_exchange = SMSTenDLCBrandStockExchange.SWX
        assert self.model.stock_exchange == SMSTenDLCBrandStockExchange.SWX
        self.model.stock_exchange = SMSTenDLCBrandStockExchange.SZSE
        assert self.model.stock_exchange == SMSTenDLCBrandStockExchange.SZSE
        self.model.stock_exchange = SMSTenDLCBrandStockExchange.TSX
        assert self.model.stock_exchange == SMSTenDLCBrandStockExchange.TSX
        self.model.stock_exchange = SMSTenDLCBrandStockExchange.TWSE
        assert self.model.stock_exchange == SMSTenDLCBrandStockExchange.TWSE
        self.model.stock_exchange = SMSTenDLCBrandStockExchange.VSE
        assert self.model.stock_exchange == SMSTenDLCBrandStockExchange.VSE
        self.model.stock_exchange = SMSTenDLCBrandStockExchange.OTHER
        assert self.model.stock_exchange == SMSTenDLCBrandStockExchange.OTHER

    def test_ip_address(self):
        """Test SMSTenDLCBrand.ip_address"""
        self.model.ip_address = "T" * 50
        assert self.model.ip_address == "T" * 50

        with self.assertRaises(pydantic_core._pydantic_core.ValidationError) as info:
            self.model.ip_address = "T" * (50 + 1)

    def test_website(self):
        """Test SMSTenDLCBrand.website"""
        self.model.website = "T" * 100
        assert self.model.website == "T" * 100

        with self.assertRaises(pydantic_core._pydantic_core.ValidationError) as info:
            self.model.website = "T" * (100 + 1)

    def test_brand_relationship(self):
        """Test SMSTenDLCBrand.brand_relationship"""
        self.model.brand_relationship = SMSTenDLCBrandRelationship.BASIC_ACCOUNT
        assert self.model.brand_relationship == SMSTenDLCBrandRelationship.BASIC_ACCOUNT
        self.model.brand_relationship = SMSTenDLCBrandRelationship.SMALL_ACCOUNT
        assert self.model.brand_relationship == SMSTenDLCBrandRelationship.SMALL_ACCOUNT
        self.model.brand_relationship = SMSTenDLCBrandRelationship.MEDIUM_ACCOUNT
        assert (
            self.model.brand_relationship == SMSTenDLCBrandRelationship.MEDIUM_ACCOUNT
        )
        self.model.brand_relationship = SMSTenDLCBrandRelationship.LARGE_ACCOUNT
        assert self.model.brand_relationship == SMSTenDLCBrandRelationship.LARGE_ACCOUNT
        self.model.brand_relationship = SMSTenDLCBrandRelationship.KEY_ACCOUNT
        assert self.model.brand_relationship == SMSTenDLCBrandRelationship.KEY_ACCOUNT

    def test_vertical(self):
        """Test SMSTenDLCBrand.vertical"""
        self.model.vertical = "T" * 50
        assert self.model.vertical == "T" * 50

        with self.assertRaises(pydantic_core._pydantic_core.ValidationError) as info:
            self.model.vertical = "T" * (50 + 1)

    def test_alt_business_id(self):
        """Test SMSTenDLCBrand.alt_business_id"""
        self.model.alt_business_id = "T" * 50
        assert self.model.alt_business_id == "T" * 50

        with self.assertRaises(pydantic_core._pydantic_core.ValidationError) as info:
            self.model.alt_business_id = "T" * (50 + 1)

    def test_alt_business_id_type(self):
        """Test SMSTenDLCBrand.alt_business_id_type"""
        self.model.alt_business_id_type = SMSTenDLCBrandAltBusinessIdType.NONE
        assert self.model.alt_business_id_type == SMSTenDLCBrandAltBusinessIdType.NONE
        self.model.alt_business_id_type = SMSTenDLCBrandAltBusinessIdType.DUNS
        assert self.model.alt_business_id_type == SMSTenDLCBrandAltBusinessIdType.DUNS
        self.model.alt_business_id_type = SMSTenDLCBrandAltBusinessIdType.GIIN
        assert self.model.alt_business_id_type == SMSTenDLCBrandAltBusinessIdType.GIIN
        self.model.alt_business_id_type = SMSTenDLCBrandAltBusinessIdType.LEI
        assert self.model.alt_business_id_type == SMSTenDLCBrandAltBusinessIdType.LEI

    def test_universal_ein(self):
        """Test SMSTenDLCBrand.universal_ein"""

        self.model.universal_ein = "TEST_STRING"
        assert self.model.universal_ein == "TEST_STRING"

    def test_reference_id(self):
        """Test SMSTenDLCBrand.reference_id"""
        self.model.reference_id = "T" * 50
        assert self.model.reference_id == "T" * 50

        with self.assertRaises(pydantic_core._pydantic_core.ValidationError) as info:
            self.model.reference_id = "T" * (50 + 1)

    def test_optional_attributes(self):
        """Test SMSTenDLCBrand.optional_attributes"""
        object = {}
        self.model.optional_attributes = object
        assert self.model.optional_attributes == object

    def test_mock(self):
        """Test SMSTenDLCBrand.mock"""
        self.model.mock = False
        assert self.model.mock == False

    def test_identity_status(self):
        """Test SMSTenDLCBrand.identity_status"""
        self.model.identity_status = SMSTenDLCBrandIdentityStatus.SELF_DECLARED
        assert self.model.identity_status == SMSTenDLCBrandIdentityStatus.SELF_DECLARED
        self.model.identity_status = SMSTenDLCBrandIdentityStatus.UNVERIFIED
        assert self.model.identity_status == SMSTenDLCBrandIdentityStatus.UNVERIFIED
        self.model.identity_status = SMSTenDLCBrandIdentityStatus.VERIFIED
        assert self.model.identity_status == SMSTenDLCBrandIdentityStatus.VERIFIED
        self.model.identity_status = SMSTenDLCBrandIdentityStatus.VETTED_VERIFIED
        assert (
            self.model.identity_status == SMSTenDLCBrandIdentityStatus.VETTED_VERIFIED
        )

    def test_create_date(self):
        """Test SMSTenDLCBrand.create_date"""
        self.model.create_date = datetime.fromtimestamp(1691592436)
        assert self.model.create_date == datetime.fromtimestamp(1691592436)


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