# coding: utf-8

"""
    MailSlurp API

    MailSlurp is an API for sending and receiving emails and SMS from dynamically allocated email addresses and phone numbers. It's designed for developers and QA teams to test applications, process inbound emails, send templated notifications, attachments, and more.  ## Resources  - [Homepage](https://www.mailslurp.com) - Get an [API KEY](https://app.mailslurp.com/sign-up/) - Generated [SDK Clients](https://docs.mailslurp.com/) - [Examples](https://github.com/mailslurp/examples) repository  # noqa: E501

    The version of the OpenAPI document: 6.5.2
    Contact: contact@mailslurp.dev
    Generated by: https://openapi-generator.tech
"""


from __future__ import absolute_import

import unittest
import datetime

import mailslurp_client
from mailslurp_client.models.email_audit_comparison_dto import EmailAuditComparisonDto  # noqa: E501
from mailslurp_client.rest import ApiException

class TestEmailAuditComparisonDto(unittest.TestCase):
    """EmailAuditComparisonDto unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional):
        """Test EmailAuditComparisonDto
            include_option is a boolean, when False only required
            params are included, when True both required and
            optional params are included """
        # model = mailslurp_client.models.email_audit_comparison_dto.EmailAuditComparisonDto()  # noqa: E501
        if include_optional :
            return EmailAuditComparisonDto(
                baseline = mailslurp_client.models.email_audit_dto.EmailAuditDto(
                    id = '0', 
                    user_id = '0', 
                    email_id = '0', 
                    from_address = '0', 
                    recipient = '0', 
                    subject = '0', 
                    analysis = mailslurp_client.models.email_audit_analysis_result.EmailAuditAnalysisResult(
                        status = 'HEALTHY', 
                        health_score = 56, 
                        total_checks = 56, 
                        passing_checks = 56, 
                        failing_checks = 56, 
                        detected_links = 56, 
                        checked_links = 56, 
                        detected_images = 56, 
                        checked_images = 56, 
                        link_issue_count = 56, 
                        image_issue_count = 56, 
                        spelling_issue_count = 56, 
                        broken_links = [
                            mailslurp_client.models.email_audit_url_issue.EmailAuditUrlIssue(
                                url = '0', 
                                status_code = 56, 
                                message = '0', )
                            ], 
                        broken_images = [
                            mailslurp_client.models.email_audit_url_issue.EmailAuditUrlIssue(
                                url = '0', 
                                status_code = 56, 
                                message = '0', )
                            ], 
                        spelling_issues = [
                            mailslurp_client.models.email_audit_spelling_issue.EmailAuditSpellingIssue(
                                group = '0', 
                                suggestion = '0', 
                                severity = 'Warning', 
                                message = '0', )
                            ], 
                        compatibility_warning_count = 56, 
                        compatibility_not_supported_count = 56, 
                        compatibility_unknown_count = 56, 
                        feature_support = mailslurp_client.models.email_feature_support_result.EmailFeatureSupportResult(
                            names = mailslurp_client.models.email_feature_names.EmailFeatureNames(
                                family = [
                                    mailslurp_client.models.email_feature_family_name.EmailFeatureFamilyName(
                                        slug = 'aol', 
                                        name = '0', )
                                    ], 
                                platform = [
                                    mailslurp_client.models.email_feature_platform_name.EmailFeaturePlatformName(
                                        slug = 'android', 
                                        name = '0', )
                                    ], 
                                category = [
                                    mailslurp_client.models.email_feature_category_name.EmailFeatureCategoryName(
                                        slug = 'css', 
                                        name = '0', )
                                    ], ), 
                            detected_features = [
                                'amp'
                                ], 
                            feature_overviews = [
                                mailslurp_client.models.email_feature_overview.EmailFeatureOverview(
                                    feature = 'amp', 
                                    title = '0', 
                                    description = '0', 
                                    notes = '0', 
                                    notes_numbers = {
                                        'key' : '0'
                                        }, 
                                    feature_statistics = [
                                        mailslurp_client.models.email_feature_family_statistics.EmailFeatureFamilyStatistics(
                                            feature = 'amp', 
                                            family = 'aol', 
                                            platforms = [
                                                mailslurp_client.models.email_feature_platform_statistics.EmailFeaturePlatformStatistics(
                                                    platform = 'android', 
                                                    versions = [
                                                        mailslurp_client.models.email_feature_version_statistics.EmailFeatureVersionStatistics(
                                                            version = '0', 
                                                            support_flags = mailslurp_client.models.email_feature_support_flags.EmailFeatureSupportFlags(
                                                                status = 'SUPPORTED', 
                                                                notes = [
                                                                    '0'
                                                                    ], ), )
                                                        ], )
                                                ], )
                                        ], 
                                    statuses = [
                                        'SUPPORTED'
                                        ], )
                                ], 
                            feature_percentages = [
                                mailslurp_client.models.email_feature_support_status_percentage.EmailFeatureSupportStatusPercentage(
                                    status = 'SUPPORTED', 
                                    percentage = 1.337, )
                                ], ), 
                        html_error_count = 56, 
                        html_warning_count = 56, 
                        html_info_count = 56, 
                        html_validation = mailslurp_client.models.html_validation_result.HTMLValidationResult(
                            is_valid = True, 
                            infos = [
                                mailslurp_client.models.validation_message.ValidationMessage(
                                    line_number = 56, 
                                    message = '0', )
                                ], 
                            errors = [
                                mailslurp_client.models.validation_message.ValidationMessage(
                                    line_number = 56, 
                                    message = '0', )
                                ], 
                            warnings = [
                                mailslurp_client.models.validation_message.ValidationMessage(
                                    line_number = 56, 
                                    message = '0', )
                                ], ), 
                        reputation_failure_count = 56, 
                        attachment_mention_issue_count = 56, 
                        external_check_skipped_count = 56, 
                        insights = [
                            '0'
                            ], 
                        error_message = '0', ), 
                    created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                    updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ), 
                current = mailslurp_client.models.email_audit_dto.EmailAuditDto(
                    id = '0', 
                    user_id = '0', 
                    email_id = '0', 
                    from_address = '0', 
                    recipient = '0', 
                    subject = '0', 
                    analysis = mailslurp_client.models.email_audit_analysis_result.EmailAuditAnalysisResult(
                        status = 'HEALTHY', 
                        health_score = 56, 
                        total_checks = 56, 
                        passing_checks = 56, 
                        failing_checks = 56, 
                        detected_links = 56, 
                        checked_links = 56, 
                        detected_images = 56, 
                        checked_images = 56, 
                        link_issue_count = 56, 
                        image_issue_count = 56, 
                        spelling_issue_count = 56, 
                        broken_links = [
                            mailslurp_client.models.email_audit_url_issue.EmailAuditUrlIssue(
                                url = '0', 
                                status_code = 56, 
                                message = '0', )
                            ], 
                        broken_images = [
                            mailslurp_client.models.email_audit_url_issue.EmailAuditUrlIssue(
                                url = '0', 
                                status_code = 56, 
                                message = '0', )
                            ], 
                        spelling_issues = [
                            mailslurp_client.models.email_audit_spelling_issue.EmailAuditSpellingIssue(
                                group = '0', 
                                suggestion = '0', 
                                severity = 'Warning', 
                                message = '0', )
                            ], 
                        compatibility_warning_count = 56, 
                        compatibility_not_supported_count = 56, 
                        compatibility_unknown_count = 56, 
                        feature_support = mailslurp_client.models.email_feature_support_result.EmailFeatureSupportResult(
                            names = mailslurp_client.models.email_feature_names.EmailFeatureNames(
                                family = [
                                    mailslurp_client.models.email_feature_family_name.EmailFeatureFamilyName(
                                        slug = 'aol', 
                                        name = '0', )
                                    ], 
                                platform = [
                                    mailslurp_client.models.email_feature_platform_name.EmailFeaturePlatformName(
                                        slug = 'android', 
                                        name = '0', )
                                    ], 
                                category = [
                                    mailslurp_client.models.email_feature_category_name.EmailFeatureCategoryName(
                                        slug = 'css', 
                                        name = '0', )
                                    ], ), 
                            detected_features = [
                                'amp'
                                ], 
                            feature_overviews = [
                                mailslurp_client.models.email_feature_overview.EmailFeatureOverview(
                                    feature = 'amp', 
                                    title = '0', 
                                    description = '0', 
                                    notes = '0', 
                                    notes_numbers = {
                                        'key' : '0'
                                        }, 
                                    feature_statistics = [
                                        mailslurp_client.models.email_feature_family_statistics.EmailFeatureFamilyStatistics(
                                            feature = 'amp', 
                                            family = 'aol', 
                                            platforms = [
                                                mailslurp_client.models.email_feature_platform_statistics.EmailFeaturePlatformStatistics(
                                                    platform = 'android', 
                                                    versions = [
                                                        mailslurp_client.models.email_feature_version_statistics.EmailFeatureVersionStatistics(
                                                            version = '0', 
                                                            support_flags = mailslurp_client.models.email_feature_support_flags.EmailFeatureSupportFlags(
                                                                status = 'SUPPORTED', 
                                                                notes = [
                                                                    '0'
                                                                    ], ), )
                                                        ], )
                                                ], )
                                        ], 
                                    statuses = [
                                        'SUPPORTED'
                                        ], )
                                ], 
                            feature_percentages = [
                                mailslurp_client.models.email_feature_support_status_percentage.EmailFeatureSupportStatusPercentage(
                                    status = 'SUPPORTED', 
                                    percentage = 1.337, )
                                ], ), 
                        html_error_count = 56, 
                        html_warning_count = 56, 
                        html_info_count = 56, 
                        html_validation = mailslurp_client.models.html_validation_result.HTMLValidationResult(
                            is_valid = True, 
                            infos = [
                                mailslurp_client.models.validation_message.ValidationMessage(
                                    line_number = 56, 
                                    message = '0', )
                                ], 
                            errors = [
                                mailslurp_client.models.validation_message.ValidationMessage(
                                    line_number = 56, 
                                    message = '0', )
                                ], 
                            warnings = [
                                mailslurp_client.models.validation_message.ValidationMessage(
                                    line_number = 56, 
                                    message = '0', )
                                ], ), 
                        reputation_failure_count = 56, 
                        attachment_mention_issue_count = 56, 
                        external_check_skipped_count = 56, 
                        insights = [
                            '0'
                            ], 
                        error_message = '0', ), 
                    created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                    updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ), 
                health_score_delta = 56, 
                status_changed = True, 
                broken_link_delta = 56, 
                broken_image_delta = 56, 
                spelling_issue_delta = 56, 
                html_error_delta = 56, 
                html_warning_delta = 56, 
                compatibility_warning_delta = 56, 
                compatibility_not_supported_delta = 56, 
                reputation_failure_delta = 56, 
                attachment_mention_issue_delta = 56, 
                added_insights = [
                    '0'
                    ], 
                removed_insights = [
                    '0'
                    ]
            )
        else :
            return EmailAuditComparisonDto(
                baseline = mailslurp_client.models.email_audit_dto.EmailAuditDto(
                    id = '0', 
                    user_id = '0', 
                    email_id = '0', 
                    from_address = '0', 
                    recipient = '0', 
                    subject = '0', 
                    analysis = mailslurp_client.models.email_audit_analysis_result.EmailAuditAnalysisResult(
                        status = 'HEALTHY', 
                        health_score = 56, 
                        total_checks = 56, 
                        passing_checks = 56, 
                        failing_checks = 56, 
                        detected_links = 56, 
                        checked_links = 56, 
                        detected_images = 56, 
                        checked_images = 56, 
                        link_issue_count = 56, 
                        image_issue_count = 56, 
                        spelling_issue_count = 56, 
                        broken_links = [
                            mailslurp_client.models.email_audit_url_issue.EmailAuditUrlIssue(
                                url = '0', 
                                status_code = 56, 
                                message = '0', )
                            ], 
                        broken_images = [
                            mailslurp_client.models.email_audit_url_issue.EmailAuditUrlIssue(
                                url = '0', 
                                status_code = 56, 
                                message = '0', )
                            ], 
                        spelling_issues = [
                            mailslurp_client.models.email_audit_spelling_issue.EmailAuditSpellingIssue(
                                group = '0', 
                                suggestion = '0', 
                                severity = 'Warning', 
                                message = '0', )
                            ], 
                        compatibility_warning_count = 56, 
                        compatibility_not_supported_count = 56, 
                        compatibility_unknown_count = 56, 
                        feature_support = mailslurp_client.models.email_feature_support_result.EmailFeatureSupportResult(
                            names = mailslurp_client.models.email_feature_names.EmailFeatureNames(
                                family = [
                                    mailslurp_client.models.email_feature_family_name.EmailFeatureFamilyName(
                                        slug = 'aol', 
                                        name = '0', )
                                    ], 
                                platform = [
                                    mailslurp_client.models.email_feature_platform_name.EmailFeaturePlatformName(
                                        slug = 'android', 
                                        name = '0', )
                                    ], 
                                category = [
                                    mailslurp_client.models.email_feature_category_name.EmailFeatureCategoryName(
                                        slug = 'css', 
                                        name = '0', )
                                    ], ), 
                            detected_features = [
                                'amp'
                                ], 
                            feature_overviews = [
                                mailslurp_client.models.email_feature_overview.EmailFeatureOverview(
                                    feature = 'amp', 
                                    title = '0', 
                                    description = '0', 
                                    notes = '0', 
                                    notes_numbers = {
                                        'key' : '0'
                                        }, 
                                    feature_statistics = [
                                        mailslurp_client.models.email_feature_family_statistics.EmailFeatureFamilyStatistics(
                                            feature = 'amp', 
                                            family = 'aol', 
                                            platforms = [
                                                mailslurp_client.models.email_feature_platform_statistics.EmailFeaturePlatformStatistics(
                                                    platform = 'android', 
                                                    versions = [
                                                        mailslurp_client.models.email_feature_version_statistics.EmailFeatureVersionStatistics(
                                                            version = '0', 
                                                            support_flags = mailslurp_client.models.email_feature_support_flags.EmailFeatureSupportFlags(
                                                                status = 'SUPPORTED', 
                                                                notes = [
                                                                    '0'
                                                                    ], ), )
                                                        ], )
                                                ], )
                                        ], 
                                    statuses = [
                                        'SUPPORTED'
                                        ], )
                                ], 
                            feature_percentages = [
                                mailslurp_client.models.email_feature_support_status_percentage.EmailFeatureSupportStatusPercentage(
                                    status = 'SUPPORTED', 
                                    percentage = 1.337, )
                                ], ), 
                        html_error_count = 56, 
                        html_warning_count = 56, 
                        html_info_count = 56, 
                        html_validation = mailslurp_client.models.html_validation_result.HTMLValidationResult(
                            is_valid = True, 
                            infos = [
                                mailslurp_client.models.validation_message.ValidationMessage(
                                    line_number = 56, 
                                    message = '0', )
                                ], 
                            errors = [
                                mailslurp_client.models.validation_message.ValidationMessage(
                                    line_number = 56, 
                                    message = '0', )
                                ], 
                            warnings = [
                                mailslurp_client.models.validation_message.ValidationMessage(
                                    line_number = 56, 
                                    message = '0', )
                                ], ), 
                        reputation_failure_count = 56, 
                        attachment_mention_issue_count = 56, 
                        external_check_skipped_count = 56, 
                        insights = [
                            '0'
                            ], 
                        error_message = '0', ), 
                    created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                    updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ),
                current = mailslurp_client.models.email_audit_dto.EmailAuditDto(
                    id = '0', 
                    user_id = '0', 
                    email_id = '0', 
                    from_address = '0', 
                    recipient = '0', 
                    subject = '0', 
                    analysis = mailslurp_client.models.email_audit_analysis_result.EmailAuditAnalysisResult(
                        status = 'HEALTHY', 
                        health_score = 56, 
                        total_checks = 56, 
                        passing_checks = 56, 
                        failing_checks = 56, 
                        detected_links = 56, 
                        checked_links = 56, 
                        detected_images = 56, 
                        checked_images = 56, 
                        link_issue_count = 56, 
                        image_issue_count = 56, 
                        spelling_issue_count = 56, 
                        broken_links = [
                            mailslurp_client.models.email_audit_url_issue.EmailAuditUrlIssue(
                                url = '0', 
                                status_code = 56, 
                                message = '0', )
                            ], 
                        broken_images = [
                            mailslurp_client.models.email_audit_url_issue.EmailAuditUrlIssue(
                                url = '0', 
                                status_code = 56, 
                                message = '0', )
                            ], 
                        spelling_issues = [
                            mailslurp_client.models.email_audit_spelling_issue.EmailAuditSpellingIssue(
                                group = '0', 
                                suggestion = '0', 
                                severity = 'Warning', 
                                message = '0', )
                            ], 
                        compatibility_warning_count = 56, 
                        compatibility_not_supported_count = 56, 
                        compatibility_unknown_count = 56, 
                        feature_support = mailslurp_client.models.email_feature_support_result.EmailFeatureSupportResult(
                            names = mailslurp_client.models.email_feature_names.EmailFeatureNames(
                                family = [
                                    mailslurp_client.models.email_feature_family_name.EmailFeatureFamilyName(
                                        slug = 'aol', 
                                        name = '0', )
                                    ], 
                                platform = [
                                    mailslurp_client.models.email_feature_platform_name.EmailFeaturePlatformName(
                                        slug = 'android', 
                                        name = '0', )
                                    ], 
                                category = [
                                    mailslurp_client.models.email_feature_category_name.EmailFeatureCategoryName(
                                        slug = 'css', 
                                        name = '0', )
                                    ], ), 
                            detected_features = [
                                'amp'
                                ], 
                            feature_overviews = [
                                mailslurp_client.models.email_feature_overview.EmailFeatureOverview(
                                    feature = 'amp', 
                                    title = '0', 
                                    description = '0', 
                                    notes = '0', 
                                    notes_numbers = {
                                        'key' : '0'
                                        }, 
                                    feature_statistics = [
                                        mailslurp_client.models.email_feature_family_statistics.EmailFeatureFamilyStatistics(
                                            feature = 'amp', 
                                            family = 'aol', 
                                            platforms = [
                                                mailslurp_client.models.email_feature_platform_statistics.EmailFeaturePlatformStatistics(
                                                    platform = 'android', 
                                                    versions = [
                                                        mailslurp_client.models.email_feature_version_statistics.EmailFeatureVersionStatistics(
                                                            version = '0', 
                                                            support_flags = mailslurp_client.models.email_feature_support_flags.EmailFeatureSupportFlags(
                                                                status = 'SUPPORTED', 
                                                                notes = [
                                                                    '0'
                                                                    ], ), )
                                                        ], )
                                                ], )
                                        ], 
                                    statuses = [
                                        'SUPPORTED'
                                        ], )
                                ], 
                            feature_percentages = [
                                mailslurp_client.models.email_feature_support_status_percentage.EmailFeatureSupportStatusPercentage(
                                    status = 'SUPPORTED', 
                                    percentage = 1.337, )
                                ], ), 
                        html_error_count = 56, 
                        html_warning_count = 56, 
                        html_info_count = 56, 
                        html_validation = mailslurp_client.models.html_validation_result.HTMLValidationResult(
                            is_valid = True, 
                            infos = [
                                mailslurp_client.models.validation_message.ValidationMessage(
                                    line_number = 56, 
                                    message = '0', )
                                ], 
                            errors = [
                                mailslurp_client.models.validation_message.ValidationMessage(
                                    line_number = 56, 
                                    message = '0', )
                                ], 
                            warnings = [
                                mailslurp_client.models.validation_message.ValidationMessage(
                                    line_number = 56, 
                                    message = '0', )
                                ], ), 
                        reputation_failure_count = 56, 
                        attachment_mention_issue_count = 56, 
                        external_check_skipped_count = 56, 
                        insights = [
                            '0'
                            ], 
                        error_message = '0', ), 
                    created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                    updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ),
                health_score_delta = 56,
                status_changed = True,
                broken_link_delta = 56,
                broken_image_delta = 56,
                spelling_issue_delta = 56,
                html_error_delta = 56,
                html_warning_delta = 56,
                compatibility_warning_delta = 56,
                compatibility_not_supported_delta = 56,
                reputation_failure_delta = 56,
                attachment_mention_issue_delta = 56,
                added_insights = [
                    '0'
                    ],
                removed_insights = [
                    '0'
                    ],
        )

    def testEmailAuditComparisonDto(self):
        """Test EmailAuditComparisonDto"""
        inst_req_only = self.make_instance(include_optional=False)
        inst_req_and_optional = self.make_instance(include_optional=True)


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