# coding: utf-8

"""
    fluid

    client for fluid  # noqa: E501

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


from __future__ import absolute_import

import unittest
import datetime

import fluid
from fluid.models.data_migrate_spec import DataMigrateSpec  # noqa: E501
from fluid.rest import ApiException

class TestDataMigrateSpec(unittest.TestCase):
    """DataMigrateSpec unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional):
        """Test DataMigrateSpec
            include_option is a boolean, when False only required
            params are included, when True both required and
            optional params are included """
        # model = fluid.models.data_migrate_spec.DataMigrateSpec()  # noqa: E501
        if include_optional :
            return DataMigrateSpec(
                affinity = None, 
                block = True, 
                _from = fluid.models./data_to_migrate..DataToMigrate(
                    dataset = fluid.models./dataset_to_migrate..DatasetToMigrate(
                        name = '0', 
                        namespace = '0', 
                        path = '0', ), 
                    external_storage = fluid.models./external_storage..ExternalStorage(
                        encrypt_options = [
                            fluid.models./encrypt_option..EncryptOption(
                                name = '0', 
                                value_from = fluid.models./encrypt_option_source..EncryptOptionSource(
                                    secret_key_ref = fluid.models./secret_key_selector..SecretKeySelector(
                                        key = '0', 
                                        name = '0', ), ), )
                            ], 
                        uri = '0', ), ), 
                image = '0', 
                image_pull_policy = '0', 
                image_tag = '0', 
                node_selector = {
                    'key' : '0'
                    }, 
                options = {
                    'key' : '0'
                    }, 
                pod_metadata = fluid.models./pod_metadata..PodMetadata(
                    annotations = {
                        'key' : '0'
                        }, 
                    labels = {
                        'key' : '0'
                        }, ), 
                policy = '0', 
                resources = None, 
                run_after = fluid.models./operation_ref..OperationRef(
                    api_version = '0', 
                    kind = '0', 
                    name = '0', 
                    namespace = '0', ), 
                runtime_type = '0', 
                schedule = '0', 
                scheduler_name = '0', 
                to = fluid.models./data_to_migrate..DataToMigrate(
                    dataset = fluid.models./dataset_to_migrate..DatasetToMigrate(
                        name = '0', 
                        namespace = '0', 
                        path = '0', ), 
                    external_storage = fluid.models./external_storage..ExternalStorage(
                        encrypt_options = [
                            fluid.models./encrypt_option..EncryptOption(
                                name = '0', 
                                value_from = fluid.models./encrypt_option_source..EncryptOptionSource(
                                    secret_key_ref = fluid.models./secret_key_selector..SecretKeySelector(
                                        key = '0', 
                                        name = '0', ), ), )
                            ], 
                        uri = '0', ), ), 
                tolerations = [
                    None
                    ], 
                ttl_seconds_after_finished = 56
            )
        else :
            return DataMigrateSpec(
                _from = fluid.models./data_to_migrate..DataToMigrate(
                    dataset = fluid.models./dataset_to_migrate..DatasetToMigrate(
                        name = '0', 
                        namespace = '0', 
                        path = '0', ), 
                    external_storage = fluid.models./external_storage..ExternalStorage(
                        encrypt_options = [
                            fluid.models./encrypt_option..EncryptOption(
                                name = '0', 
                                value_from = fluid.models./encrypt_option_source..EncryptOptionSource(
                                    secret_key_ref = fluid.models./secret_key_selector..SecretKeySelector(
                                        key = '0', 
                                        name = '0', ), ), )
                            ], 
                        uri = '0', ), ),
                to = fluid.models./data_to_migrate..DataToMigrate(
                    dataset = fluid.models./dataset_to_migrate..DatasetToMigrate(
                        name = '0', 
                        namespace = '0', 
                        path = '0', ), 
                    external_storage = fluid.models./external_storage..ExternalStorage(
                        encrypt_options = [
                            fluid.models./encrypt_option..EncryptOption(
                                name = '0', 
                                value_from = fluid.models./encrypt_option_source..EncryptOptionSource(
                                    secret_key_ref = fluid.models./secret_key_selector..SecretKeySelector(
                                        key = '0', 
                                        name = '0', ), ), )
                            ], 
                        uri = '0', ), ),
        )

    def testDataMigrateSpec(self):
        """Test DataMigrateSpec"""
        inst_req_only = self.make_instance(include_optional=False)
        inst_req_and_optional = self.make_instance(include_optional=True)


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