# coding: utf-8

"""
    Lance Namespace Specification

    This OpenAPI specification is a part of the Lance namespace specification. It contains 2 parts:  The `components/schemas`, `components/responses`, `components/examples`, `tags` sections define the request and response shape for each operation in a Lance Namespace across all implementations. See https://lance.org/format/namespace/operations for more details.  The `servers`, `security`, `paths`, `components/parameters` sections are for the Lance REST Namespace implementation, which defines a complete REST server that can work with Lance datasets. See https://lance.org/format/namespace/rest for more details. 

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

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


import unittest

from lance_namespace_urllib3_client.models.batch_commit_tables_request import BatchCommitTablesRequest

class TestBatchCommitTablesRequest(unittest.TestCase):
    """BatchCommitTablesRequest unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional) -> BatchCommitTablesRequest:
        """Test BatchCommitTablesRequest
            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 `BatchCommitTablesRequest`
        """
        model = BatchCommitTablesRequest()
        if include_optional:
            return BatchCommitTablesRequest(
                identity = lance_namespace_urllib3_client.models.identity.Identity(
                    api_key = '', 
                    auth_token = '', ),
                context = {
                    'key' : ''
                    },
                operations = [
                    lance_namespace_urllib3_client.models.commit_table_operation.CommitTableOperation(
                        declare_table = lance_namespace_urllib3_client.models.declare_table_request.DeclareTableRequest(
                            identity = lance_namespace_urllib3_client.models.identity.Identity(
                                api_key = '', 
                                auth_token = '', ), 
                            context = {
                                'key' : ''
                                }, 
                            id = [
                                ''
                                ], 
                            location = '', 
                            vend_credentials = True, 
                            properties = {
                                'key' : ''
                                }, ), 
                        create_table_version = lance_namespace_urllib3_client.models.create_table_version_request.CreateTableVersionRequest(
                            version = 0, 
                            manifest_path = '', 
                            manifest_size = 0, 
                            e_tag = '', 
                            metadata = {
                                'key' : ''
                                }, 
                            naming_scheme = 'V2', ), 
                        delete_table_versions = lance_namespace_urllib3_client.models.batch_delete_table_versions_request.BatchDeleteTableVersionsRequest(
                            ranges = [
                                lance_namespace_urllib3_client.models.version_range.VersionRange(
                                    start_version = 56, 
                                    end_version = 56, )
                                ], ), 
                        deregister_table = lance_namespace_urllib3_client.models.deregister_table_request.DeregisterTableRequest(), )
                    ]
            )
        else:
            return BatchCommitTablesRequest(
                operations = [
                    lance_namespace_urllib3_client.models.commit_table_operation.CommitTableOperation(
                        declare_table = lance_namespace_urllib3_client.models.declare_table_request.DeclareTableRequest(
                            identity = lance_namespace_urllib3_client.models.identity.Identity(
                                api_key = '', 
                                auth_token = '', ), 
                            context = {
                                'key' : ''
                                }, 
                            id = [
                                ''
                                ], 
                            location = '', 
                            vend_credentials = True, 
                            properties = {
                                'key' : ''
                                }, ), 
                        create_table_version = lance_namespace_urllib3_client.models.create_table_version_request.CreateTableVersionRequest(
                            version = 0, 
                            manifest_path = '', 
                            manifest_size = 0, 
                            e_tag = '', 
                            metadata = {
                                'key' : ''
                                }, 
                            naming_scheme = 'V2', ), 
                        delete_table_versions = lance_namespace_urllib3_client.models.batch_delete_table_versions_request.BatchDeleteTableVersionsRequest(
                            ranges = [
                                lance_namespace_urllib3_client.models.version_range.VersionRange(
                                    start_version = 56, 
                                    end_version = 56, )
                                ], ), 
                        deregister_table = lance_namespace_urllib3_client.models.deregister_table_request.DeregisterTableRequest(), )
                    ],
        )
        """

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

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