# coding: utf-8

"""
    Pinterest REST API

    Pinterest's REST API

    The version of the OpenAPI document: 5.23.0
    Contact: blah+oapicf@cliffano.com
    Generated by OpenAPI Generator (https://openapi-generator.tech)

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


import unittest

from pinterestsdk.models.ads_analytics_create_async_request import AdsAnalyticsCreateAsyncRequest

class TestAdsAnalyticsCreateAsyncRequest(unittest.TestCase):
    """AdsAnalyticsCreateAsyncRequest unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional) -> AdsAnalyticsCreateAsyncRequest:
        """Test AdsAnalyticsCreateAsyncRequest
            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 `AdsAnalyticsCreateAsyncRequest`
        """
        model = AdsAnalyticsCreateAsyncRequest()
        if include_optional:
            return AdsAnalyticsCreateAsyncRequest(
                attribution_types = [
                    'INDIVIDUAL'
                    ],
                click_window_days = 0,
                conversion_report_time = 'TIME_OF_AD_ACTION',
                end_date = '2020-12-20',
                engagement_window_days = 0,
                granularity = 'TOTAL',
                start_date = '2020-12-20',
                view_window_days = 0,
                campaign_ids = ["12345678"],
                campaign_statuses = ["RUNNING","PAUSED"],
                campaign_objective_types = ["AWARENESS"],
                campaign_brand_label = 'Brand',
                ad_group_ids = ["12345678"],
                ad_group_statuses = ["RUNNING","PAUSED"],
                ad_ids = ["12345678"],
                ad_statuses = ["APPROVED","PAUSED"],
                product_group_ids = ["12345678"],
                product_group_statuses = ["RUNNING","PAUSED"],
                product_item_ids = ["12345678"],
                targeting_types = [
                    'APPTYPE'
                    ],
                metrics_filters = [
                    pinterestsdk.models.ads_analytics_metrics_filter.AdsAnalyticsMetricsFilter(
                        field = 'SPEND_IN_DOLLAR', 
                        operator = 'LESS_THAN', 
                        values = [
                            1.337
                            ], )
                    ],
                columns = [
                    'SPEND_IN_MICRO_DOLLAR'
                    ],
                combine_targeting_types = False,
                custom_conversion_event_metrics = [
                    pinterestsdk.models.ads_analytics_create_async_request_all_of_custom_conversion_event_metrics.AdsAnalyticsCreateAsyncRequest_allOf_custom_conversion_event_metrics(
                        custom_event_metrics_type = 'ADE_COST_PER_ACTION', 
                        custom_event_name = '', )
                    ],
                end_hour = 0,
                level = 'CAMPAIGN',
                primary_sort = 'BY_ID',
                report_format = 'JSON',
                reporting_timezone = 'PINTEREST_TIME_ZONE',
                start_hour = 0
            )
        else:
            return AdsAnalyticsCreateAsyncRequest(
                end_date = '2020-12-20',
                granularity = 'TOTAL',
                start_date = '2020-12-20',
                columns = [
                    'SPEND_IN_MICRO_DOLLAR'
                    ],
                level = 'CAMPAIGN',
        )
        """

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

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