# coding: utf-8

"""
    Task Execution Service

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

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


from __future__ import absolute_import

import unittest
import datetime

import libica.openapi.libtes
from libica.openapi.libtes.models.execution import Execution  # noqa: E501
from libica.openapi.libtes.rest import ApiException

class TestExecution(unittest.TestCase):
    """Execution unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional):
        """Test Execution
            include_option is a boolean, when False only required
            params are included, when True both required and
            optional params are included """
        # model = libica.openapi.libtes.models.execution.Execution()  # noqa: E501
        if include_optional :
            return Execution(
                image = libica.openapi.libtes.models.image.Image(
                    name = '0', 
                    tag = '0', 
                    digest = '0', 
                    credentials = libica.openapi.libtes.models.credentials.Credentials(
                        username = '0', 
                        password = '0', ), ), 
                command = '0', 
                args = [
                    '0'
                    ], 
                inputs = [
                    libica.openapi.libtes.models.input_mount_mapping_with_creds.InputMountMappingWithCreds(
                        storage_provider = '0', 
                        credentials = {
                            'key' : '0'
                            }, 
                        path = '0', 
                        url = '0', 
                        urn = '0', 
                        mode = '0', 
                        type = 'File', )
                    ], 
                outputs = [
                    libica.openapi.libtes.models.mount_mapping_with_creds.MountMappingWithCreds(
                        path = '0', 
                        url = '0', 
                        urn = '0', 
                        type = '0', 
                        storage_provider = '0', 
                        credentials = {
                            'key' : '0'
                            }, )
                    ], 
                system_files = libica.openapi.libtes.models.system_files.SystemFiles(
                    url = '0', 
                    urn = '0', 
                    storage_provider = '0', 
                    credentials = {
                        'key' : '0'
                        }, ), 
                environment = libica.openapi.libtes.models.environment.Environment(
                    variables = {
                        'key' : '0'
                        }, 
                    resources = libica.openapi.libtes.models.resources.Resources(
                        type = '0', 
                        size = '0', 
                        cpu_cores = 1.337, 
                        memory_gb = 1.337, 
                        hardware = [
                            '0'
                            ], 
                        tier = '0', ), 
                    input_stream_settings = libica.openapi.libtes.models.input_stream_settings.InputStreamSettings(
                        access_pattern = 'sequential', 
                        cache_size_gb = 5E+1, 
                        block_size_mb = 0, 
                        prefetch_blocks = 0, ), ), 
                working_directory = '0', 
                retry_limit = 56, 
                retry_count = 56
            )
        else :
            return Execution(
        )

    def testExecution(self):
        """Test Execution"""
        inst_req_only = self.make_instance(include_optional=False)
        inst_req_and_optional = self.make_instance(include_optional=True)


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