# coding: utf-8

"""
    Picteus

    The Picteus API

    The version of the OpenAPI document: 0.12.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.manifest import Manifest

class TestManifest(unittest.TestCase):
    """Manifest unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional) -> Manifest:
        """Test Manifest
            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 `Manifest`
        """
        model = Manifest()
        if include_optional:
            return 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 = picteus_ws_client.models.manifest_user_interface.ManifestUserInterface(
                    elements = [
                        picteus_ws_client.models.manifest_interface_element.ManifestInterfaceElement(
                            id = 'main', 
                            anchor = null, 
                            url = '/&+#WBZ+uaM8jc+;V+7EoE.bCKhzd.rB.6rp,F!l8%ZRp?NrzvDJz!H+iRsDgg-2B8%J0niUVDV0SFBOBi2v4qUxqdUaaSQt~6nrFg_a30', )
                        ], )
            )
        else:
            return 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]},
        )
        """

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

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