# coding: utf-8

"""
    Yahoo!広告 検索広告 API リファレンス / Yahoo! JAPAN Ads Search Ads API Reference

    <div lang=\"ja\">Yahoo!広告 検索広告 APIのWebサービスについて説明します。</div> <div lang=\"en\">Search Ads API Web Services supported in Yahoo! JAPAN Ads API.</div> <div><a target=\"_blank\" href=\"https://github.com/yahoojp-marketing/ads-search-api-documents/blob/master/design/v6/Route.yaml\">OpenAPI Specification</a></div> <div lang=\"ja\"><a target=\"_blank\" href=\"https://github.com/yahoojp-marketing/ads-search-api-documents/blob/master/bestpractice/ja\">Best Practice</a></div> <div lang=\"en\"><a target=\"_blank\" href=\"https://github.com/yahoojp-marketing/ads-search-api-documents/blob/master/bestpractice/en\">Best Practice</a></div>   # noqa: E501

    The version of the OpenAPI document: v6
    Generated by: https://openapi-generator.tech
"""


from __future__ import absolute_import

import unittest
import datetime

import yahoo_search_api
from yahoo_search_api.models.report_definition import ReportDefinition  # noqa: E501
from yahoo_search_api.rest import ApiException

class TestReportDefinition(unittest.TestCase):
    """ReportDefinition unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional):
        """Test ReportDefinition
            include_option is a boolean, when False only required
            params are included, when True both required and
            optional params are included """
        # model = yahoo_search_api.models.report_definition.ReportDefinition()  # noqa: E501
        if include_optional :
            return ReportDefinition(
                account_id = 56, 
                complete_time = '0', 
                date_range = yahoo_search_api.models.report_definition_service_report_date_range.ReportDefinitionServiceReportDateRange(
                    end_date = '0', 
                    start_date = '0', ), 
                fields = [
                    '0'
                    ], 
                filters = [
                    yahoo_search_api.models.report_definition_service_report_filter.ReportDefinitionServiceReportFilter(
                        field = '0', 
                        filter_operator = 'EQUALS', 
                        values = [
                            '0'
                            ], )
                    ], 
                report_compress_type = 'NONE', 
                report_date_range_type = 'TODAY', 
                report_decimal_part_display_type = 'FULL_DISPLAY', 
                report_download_encode = 'UTF8', 
                report_download_format = 'CSV', 
                report_include_deleted = 'TRUE', 
                report_job_error_detail = '0', 
                report_job_id = 56, 
                report_job_status = 'WAIT', 
                report_language = 'JA', 
                report_name = '0', 
                report_skip_column_header = 'TRUE', 
                report_skip_report_summary = 'TRUE', 
                report_type = 'ACCOUNT', 
                request_time = '0', 
                sort_fields = [
                    yahoo_search_api.models.report_definition_service_report_sort_field.ReportDefinitionServiceReportSortField(
                        field = '0', 
                        report_sort_type = 'ASC', )
                    ]
            )
        else :
            return ReportDefinition(
        )

    def testReportDefinition(self):
        """Test ReportDefinition"""
        inst_req_only = self.make_instance(include_optional=False)
        inst_req_and_optional = self.make_instance(include_optional=True)


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