# 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.export_result import ExportResult


class TestExportResult(unittest.TestCase):
    """ExportResult unit test stubs"""

    def setUp(self):
        self.model = ExportResult(
            account_id="TS",
            uri="TS",
            date_created="TS",
            date_updated="TS",
            revision=0,
            export_id="TS",
            status=ExportStatus.INTAKING,
            size=1,
            resource_type=ExportResourceType.MESSAGES,
            query={},
            format=[],
            output=freeclimb.models.export_result_output.ExportResultOutput(
                type="csv",
            ),
        )

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

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

    def test_uri(self):
        """Test ExportResult.uri"""

        self.model.uri = "TEST_STRING"
        assert self.model.uri == "TEST_STRING"

    def test_date_created(self):
        """Test ExportResult.date_created"""

        self.model.date_created = "TEST_STRING"
        assert self.model.date_created == "TEST_STRING"

    def test_date_updated(self):
        """Test ExportResult.date_updated"""

        self.model.date_updated = "TEST_STRING"
        assert self.model.date_updated == "TEST_STRING"

    def test_revision(self):
        """Test ExportResult.revision"""
        self.model.revision = 1
        assert self.model.revision == 1

    def test_export_id(self):
        """Test ExportResult.export_id"""

        self.model.export_id = "TEST_STRING"
        assert self.model.export_id == "TEST_STRING"

    def test_status(self):
        """Test ExportResult.status"""
        self.model.status = ExportStatus.INTAKING
        assert self.model.status == ExportStatus.INTAKING
        self.model.status = ExportStatus.QUEUED
        assert self.model.status == ExportStatus.QUEUED
        self.model.status = ExportStatus.IN_PROGRESS
        assert self.model.status == ExportStatus.IN_PROGRESS
        self.model.status = ExportStatus.COMPLETED
        assert self.model.status == ExportStatus.COMPLETED
        self.model.status = ExportStatus.FAILED
        assert self.model.status == ExportStatus.FAILED
        self.model.status = ExportStatus.DELETED
        assert self.model.status == ExportStatus.DELETED

    def test_size(self):
        """Test ExportResult.size"""
        self.model.size = 1
        assert self.model.size == 1

    def test_resource_type(self):
        """Test ExportResult.resource_type"""
        self.model.resource_type = ExportResourceType.MESSAGES
        assert self.model.resource_type == ExportResourceType.MESSAGES
        self.model.resource_type = ExportResourceType.CALLS
        assert self.model.resource_type == ExportResourceType.CALLS

    def test_query(self):
        """Test ExportResult.query"""
        object = {}
        self.model.query = object
        assert self.model.query == object

    def test_format(self):
        """Test ExportResult.format"""
        testList = []
        self.model.format = testList
        assert self.model.format == testList

    def test_output(self):
        """Test ExportResult.output"""
        object = freeclimb.models.export_result_output.ExportResultOutput(
            type="csv",
        )
        self.model.output = object
        assert self.model.output == object


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