# coding: utf-8

"""
    Picteus

    The Picteus API

    The version of the OpenAPI document: 0.11.0
    Contact: edouard@koppasoft.com
    Generated by OpenAPI Generator (https://openapi-generator.tech)

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


import unittest

from picteus_ws_client.models.extension import Extension

class TestExtension(unittest.TestCase):
    """Extension unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional) -> Extension:
        """Test Extension
            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 `Extension`
        """
        model = Extension()
        if include_optional:
            return Extension(
                manifest = picteus_ws_client.models.manifest.Manifest(
                    id = 'extension-id', 
                    version = '1.0.0', 
                    name = 'My extension', 
                    description = 'Computes the embeddings of images.', 
                    runtimes = [
                        picteus_ws_client.models.manifest_runtime.ManifestRuntime(
                            environment = python, )
                        ], 
                    instructions = [
                        picteus_ws_client.models.manifest_instructions.ManifestInstructions(
                            events = [
                                'process.started'
                                ], 
                            capabilities = [
                                picteus_ws_client.models.manifest_capability.ManifestCapability(
                                    id = image.embeddings, )
                                ], 
                            throttling_policies = [
                                picteus_ws_client.models.manifest_throttling_policy.ManifestThrottlingPolicy(
                                    events = [
                                        'process.started'
                                        ], 
                                    duration_in_milliseconds = 1000, 
                                    maximum_count = 10, )
                                ], 
                            execution = null, 
                            commands = [
                                picteus_ws_client.models.manifest_extension_command.ManifestExtensionCommand(
                                    id = 'convert', 
                                    on = null, 
                                    parameters = picteus_ws_client.models.parameters.parameters(), 
                                    specifications = [
                                        picteus_ws_client.models.manifest_extension_command_specification.ManifestExtensionCommandSpecification(
                                            locale = 'en', 
                                            label = 'Resize an image', 
                                            description = 'Resizes an image given a format asked to the user.', )
                                        ], )
                                ], )
                        ], 
                    settings = {type=object, properties={key={type=string, title=Key, description=A key.}}, required=[key]}, 
                    ui = null, ),
                status = 'enabled'
            )
        else:
            return Extension(
                manifest = picteus_ws_client.models.manifest.Manifest(
                    id = 'extension-id', 
                    version = '1.0.0', 
                    name = 'My extension', 
                    description = 'Computes the embeddings of images.', 
                    runtimes = [
                        picteus_ws_client.models.manifest_runtime.ManifestRuntime(
                            environment = python, )
                        ], 
                    instructions = [
                        picteus_ws_client.models.manifest_instructions.ManifestInstructions(
                            events = [
                                'process.started'
                                ], 
                            capabilities = [
                                picteus_ws_client.models.manifest_capability.ManifestCapability(
                                    id = image.embeddings, )
                                ], 
                            throttling_policies = [
                                picteus_ws_client.models.manifest_throttling_policy.ManifestThrottlingPolicy(
                                    events = [
                                        'process.started'
                                        ], 
                                    duration_in_milliseconds = 1000, 
                                    maximum_count = 10, )
                                ], 
                            execution = null, 
                            commands = [
                                picteus_ws_client.models.manifest_extension_command.ManifestExtensionCommand(
                                    id = 'convert', 
                                    on = null, 
                                    parameters = picteus_ws_client.models.parameters.parameters(), 
                                    specifications = [
                                        picteus_ws_client.models.manifest_extension_command_specification.ManifestExtensionCommandSpecification(
                                            locale = 'en', 
                                            label = 'Resize an image', 
                                            description = 'Resizes an image given a format asked to the user.', )
                                        ], )
                                ], )
                        ], 
                    settings = {type=object, properties={key={type=string, title=Key, description=A key.}}, required=[key]}, 
                    ui = null, ),
                status = 'enabled',
        )
        """

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

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