# coding: utf-8

"""
    Mixpeek API

    This is the Mixpeek API, providing access to various endpoints for data processing and retrieval.

    The version of the OpenAPI document: 1.3.0
    Contact: info@mixpeek.com
    Generated by OpenAPI Generator (https://openapi-generator.tech)

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


import unittest

from mixpeek.models.document_aggregation_request import DocumentAggregationRequest

class TestDocumentAggregationRequest(unittest.TestCase):
    """DocumentAggregationRequest unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional) -> DocumentAggregationRequest:
        """Test DocumentAggregationRequest
            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 `DocumentAggregationRequest`
        """
        model = DocumentAggregationRequest()
        if include_optional:
            return DocumentAggregationRequest(
                group_by = [
                    mixpeek.models.group_by_field.GroupByField(
                        field = '', 
                        alias = '', 
                        date_trunc = 'year', 
                        date_part = 'year', )
                    ],
                aggregations = [
                    mixpeek.models.aggregation_operation.AggregationOperation(
                        function = null, 
                        field = '', 
                        alias = '', 
                        distinct_field = '', )
                    ],
                filters = mixpeek.models.filters.Filters(),
                having = [
                    mixpeek.models.having_condition.HavingCondition(
                        field = '', 
                        operator = '', 
                        value = null, )
                    ],
                unwind = '',
                range_buckets = [
                    mixpeek.models.range_bucket.RangeBucket(
                        field = '', 
                        boundaries = [
                            null
                            ], 
                        default_bucket = '', )
                    ],
                sort_by = '',
                sort_direction = 'desc',
                limit = 56
            )
        else:
            return DocumentAggregationRequest(
                group_by = [
                    mixpeek.models.group_by_field.GroupByField(
                        field = '', 
                        alias = '', 
                        date_trunc = 'year', 
                        date_part = 'year', )
                    ],
                aggregations = [
                    mixpeek.models.aggregation_operation.AggregationOperation(
                        function = null, 
                        field = '', 
                        alias = '', 
                        distinct_field = '', )
                    ],
        )
        """

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

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