# coding: utf-8

"""
    Sonatype Lifecycle Public REST API

    No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)

    The version of the OpenAPI document: 1.196.0-01
    Contact: community@sonatype.com
    Generated by OpenAPI Generator (https://openapi-generator.tech)

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


import unittest

from sonatype_iq_api_client.models.api_component_details_result_dtov2 import ApiComponentDetailsResultDTOV2

class TestApiComponentDetailsResultDTOV2(unittest.TestCase):
    """ApiComponentDetailsResultDTOV2 unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional) -> ApiComponentDetailsResultDTOV2:
        """Test ApiComponentDetailsResultDTOV2
            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 `ApiComponentDetailsResultDTOV2`
        """
        model = ApiComponentDetailsResultDTOV2()
        if include_optional:
            return ApiComponentDetailsResultDTOV2(
                component_details = [
                    sonatype_iq_api_client.models.api_component_details_dtov2.ApiComponentDetailsDTOV2(
                        catalog_date = '', 
                        component = sonatype_iq_api_client.models.api_component_dtov2.ApiComponentDTOV2(
                            component_identifier = sonatype_iq_api_client.models.api_component_identifier_dtov2.ApiComponentIdentifierDTOV2(
                                coordinates = {
                                    'key' : ''
                                    }, 
                                format = '', ), 
                            display_name = '', 
                            hash = '', 
                            package_url = '', 
                            proprietary = True, 
                            sha256 = '', 
                            third_party = True, ), 
                        hygiene_rating = '', 
                        integrity_rating = '', 
                        license_data = sonatype_iq_api_client.models.api_license_data_dto.ApiLicenseDataDTO(
                            declared_licenses = [
                                sonatype_iq_api_client.models.api_license_dto.ApiLicenseDTO(
                                    license_id = '', 
                                    license_name = '', )
                                ], 
                            effective_licenses = [
                                sonatype_iq_api_client.models.api_license_dto.ApiLicenseDTO(
                                    license_id = '', 
                                    license_name = '', )
                                ], 
                            observed_licenses = [
                                
                                ], 
                            overridden_licenses = [
                                
                                ], 
                            status = '', ), 
                        match_state = '', 
                        policy_data = sonatype_iq_api_client.models.api_component_policy_violation_list_dtov2.ApiComponentPolicyViolationListDTOV2(
                            policy_violations = [
                                sonatype_iq_api_client.models.api_policy_violation_dtov2.ApiPolicyViolationDTOV2(
                                    constraint_violations = [
                                        sonatype_iq_api_client.models.api_constraint_violation_dto.ApiConstraintViolationDTO(
                                            constraint_id = '', 
                                            constraint_name = '', 
                                            reasons = [
                                                sonatype_iq_api_client.models.api_constraint_violation_reason_dto.ApiConstraintViolationReasonDTO(
                                                    reason = '', 
                                                    reference = sonatype_iq_api_client.models.trigger_reference.TriggerReference(
                                                        type = 'SECURITY_VULNERABILITY_REFID', 
                                                        value = '', ), )
                                                ], )
                                        ], 
                                    fix_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                                    legacy_violation_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                                    open_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                                    policy_id = '', 
                                    policy_name = '', 
                                    policy_violation_id = '', 
                                    threat_level = 56, 
                                    waive_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), )
                                ], ), 
                        project_data = sonatype_iq_api_client.models.api_component_project_data_dto.ApiComponentProjectDataDTO(
                            first_release_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                            last_release_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                            project_metadata = sonatype_iq_api_client.models.api_component_project_metadata_dto.ApiComponentProjectMetadataDTO(
                                description = '', 
                                organization = '', ), 
                            source_control_management = sonatype_iq_api_client.models.api_component_project_scm_dto.ApiComponentProjectScmDTO(
                                scm_details = sonatype_iq_api_client.models.api_component_project_scm_details_dto.ApiComponentProjectScmDetailsDTO(
                                    commits_per_month = 56, 
                                    unique_devs_per_month = 56, ), 
                                scm_metadata = sonatype_iq_api_client.models.api_component_project_scm_metadata_dto.ApiComponentProjectScmMetadataDTO(
                                    forks = 56, 
                                    stars = 56, ), 
                                scm_url = '', ), ), 
                        relative_popularity = 56, 
                        security_data = sonatype_iq_api_client.models.api_security_data_dto.ApiSecurityDataDTO(
                            security_issues = [
                                sonatype_iq_api_client.models.api_security_issue_dto.ApiSecurityIssueDTO(
                                    analysis = sonatype_iq_api_client.models.api_security_issue_analysis_dto.ApiSecurityIssueAnalysisDTO(
                                        detail = '', 
                                        justification = '', 
                                        response = '', 
                                        state = '', ), 
                                    cvss_vector = '', 
                                    cvss_vector_source = '', 
                                    cwe = '', 
                                    severity = 1.337, 
                                    source = '', 
                                    status = '', 
                                    threat_category = '', 
                                    url = '', )
                                ], ), )
                    ]
            )
        else:
            return ApiComponentDetailsResultDTOV2(
        )
        """

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

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