# coding: utf-8

"""
    BeeKeeperAI EscrowAI Enclave API

    Described below is the EscrowAI Enclave API that provides functionality inside a BeeKeeperAI environment. Included are data engineering endpoints and reporting endpoints.

    The version of the OpenAPI document: 1.5.1
    Contact: engineering@beekeeperai.com
    Generated by OpenAPI Generator (https://openapi-generator.tech)

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


import unittest
from unittest.mock import MagicMock
import datetime
import json

import BeeKeeperRuntimeSDK
from BeeKeeperRuntimeSDK.models.report import Report  # noqa: E501
from BeeKeeperRuntimeSDK.rest import ApiException
from BeeKeeperRuntimeSDK.api_client import ApiClient

class TestReport(unittest.TestCase):
    """Report unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional):
        """Test Report
            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 `Report`
        """
        model = BeeKeeperRuntimeSDK.models.report.Report()  # noqa: E501
        if include_optional :
            return Report(
                name = '', 
                status = 'In Progress', 
                json_data = None, 
                upload_location = '', 
                project = '', 
                run_configuration = '', 
                run = ''
            )
        else :
            return Report(
                name = '',
                status = 'In Progress',
                json_data = None,
                upload_location = '',
                project = '',
                run_configuration = '',
                run = '',
        )
        """

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

        report_json = {name=f47ac10b-58cc-4372-a567-0e02b2c3d479, status=Completed, json_data=eyJrZXkiOiAiVmFsdWUifQ==}

        if report_json is None:
            return

        response_mock = MagicMock()
        response_mock.data = json.dumps(report_json)

        deserialized = ApiClient().deserialize(response_mock, Report)

        assert deserialized is not None
        assert deserialized.name == report_json.get("name")
        assert deserialized.status == report_json.get("status")
        assert deserialized.json_data == report_json.get("json_data")

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