# coding: utf-8

"""
    Collibra Data Governance Center Core API

    <p>The Core REST API allows you to create your own integrations with Collibra Data Governance Center.</p><p><i>Create custom applications to help users get access to the right data.</i></p>  # noqa: E501

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


from __future__ import absolute_import

import unittest
import datetime

import collibra_core
from collibra_core.models.assignment_impl import AssignmentImpl  # noqa: E501
from collibra_core.rest import ApiException

class TestAssignmentImpl(unittest.TestCase):
    """AssignmentImpl unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional):
        """Test AssignmentImpl
            include_option is a boolean, when False only required
            params are included, when True both required and
            optional params are included """
        # model = collibra_core.models.assignment_impl.AssignmentImpl()  # noqa: E501
        if include_optional :
            return AssignmentImpl(
                id = '0', 
                created_by = '4d250cc5-e583-4640-9874-b93d82c7a6cb', 
                created_on = 1475503010320, 
                last_modified_by = 'a073ff90-e7bc-4b35-ba90-c4d475f642fe', 
                last_modified_on = 1476703764163, 
                system = True, 
                resource_type = 'View', 
                asset_type = collibra_core.models.named_resource_reference_impl.NamedResourceReferenceImpl(
                    id = '2b7f3a1a-4e50-4077-96f0-a58a395c860d', 
                    resource_type = 'Community', 
                    name = '0', ), 
                statuses = [
                    collibra_core.models.named_described_resource_reference.NamedDescribedResourceReference(
                        id = '2b7f3a1a-4e50-4077-96f0-a58a395c860d', 
                        resource_type = 'Community', 
                        name = '0', 
                        description = 'This is the description of the resource', )
                    ], 
                default_status_id = '00000000-0000-0000-0000-000000005009', 
                characteristic_types = [
                    collibra_core.models.assigned_characteristic_type.AssignedCharacteristicType(
                        minimum_occurrences = 56, 
                        maximum_occurrences = 56, 
                        assigned_resource_id = '0', 
                        assigned_resource_type = 'View', 
                        read_only = True, 
                        system = True, 
                        id = '0', )
                    ], 
                articulation_rules = [
                    collibra_core.models.articulation_rule_impl.ArticulationRuleImpl(
                        id = '0', 
                        created_by = '4d250cc5-e583-4640-9874-b93d82c7a6cb', 
                        created_on = 1475503010320, 
                        last_modified_by = 'a073ff90-e7bc-4b35-ba90-c4d475f642fe', 
                        last_modified_on = 1476703764163, 
                        system = True, 
                        resource_type = 'View', 
                        score = 1.337, 
                        operation = 'ADD', 
                        status = collibra_core.models.named_resource_reference_impl.NamedResourceReferenceImpl(
                            id = '2b7f3a1a-4e50-4077-96f0-a58a395c860d', 
                            resource_type = 'Community', 
                            name = '0', ), 
                        attribute_type = collibra_core.models.named_resource_reference_impl.NamedResourceReferenceImpl(
                            id = '2b7f3a1a-4e50-4077-96f0-a58a395c860d', 
                            resource_type = 'Community', 
                            name = '0', ), )
                    ], 
                validation_rules = [
                    collibra_core.models.named_resource_reference_impl.NamedResourceReferenceImpl(
                        id = '2b7f3a1a-4e50-4077-96f0-a58a395c860d', 
                        resource_type = 'Community', 
                        name = '0', )
                    ], 
                data_quality_rules = [
                    collibra_core.models.named_described_resource_reference.NamedDescribedResourceReference(
                        id = '2b7f3a1a-4e50-4077-96f0-a58a395c860d', 
                        resource_type = 'Community', 
                        name = '0', 
                        description = 'This is the description of the resource', )
                    ], 
                domain_types = [
                    collibra_core.models.named_described_resource_reference.NamedDescribedResourceReference(
                        id = '2b7f3a1a-4e50-4077-96f0-a58a395c860d', 
                        resource_type = 'Community', 
                        name = '0', 
                        description = 'This is the description of the resource', )
                    ], 
                scope = collibra_core.models.scope_impl.ScopeImpl(
                    id = '0', 
                    created_by = '4d250cc5-e583-4640-9874-b93d82c7a6cb', 
                    created_on = 1475503010320, 
                    last_modified_by = 'a073ff90-e7bc-4b35-ba90-c4d475f642fe', 
                    last_modified_on = 1476703764163, 
                    system = True, 
                    resource_type = 'View', 
                    name = 'Test name', 
                    description = 'Sample descripion of the resource.', 
                    domains = [
                        collibra_core.models.named_resource_reference_impl.NamedResourceReferenceImpl(
                            id = '2b7f3a1a-4e50-4077-96f0-a58a395c860d', 
                            resource_type = 'Community', 
                            name = '0', )
                        ], 
                    communities = [
                        collibra_core.models.named_resource_reference_impl.NamedResourceReferenceImpl(
                            id = '2b7f3a1a-4e50-4077-96f0-a58a395c860d', 
                            resource_type = 'Community', 
                            name = '0', )
                        ], )
            )
        else :
            return AssignmentImpl(
                id = '0',
                resource_type = 'View',
        )

    def testAssignmentImpl(self):
        """Test AssignmentImpl"""
        inst_req_only = self.make_instance(include_optional=False)
        inst_req_and_optional = self.make_instance(include_optional=True)


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