# coding: utf-8

"""
    Nuon

    API for managing nuon apps, components, and installs.

    The version of the OpenAPI document: 0.19.132
    Contact: support@nuon.co
    Generated by OpenAPI Generator (https://openapi-generator.tech)

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


import unittest
import datetime

from nuon.models.app_installer import AppInstaller

class TestAppInstaller(unittest.TestCase):
    """AppInstaller unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional) -> AppInstaller:
        """Test AppInstaller
            include_option 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 `AppInstaller`
        """
        model = AppInstaller()
        if include_optional:
            return AppInstaller(
                apps = [
                    nuon.models.app/app.app.App(
                        cloud_platform = 'aws', 
                        created_at = '', 
                        created_by = nuon.models.app/user_token.app.UserToken(
                            created_at = '', 
                            created_by_id = '', 
                            email = '', 
                            expires_at = '', 
                            id = '', 
                            issued_at = '', 
                            issuer = '', 
                            subject = '', 
                            token_type = 'auth0', 
                            updated_at = '', ), 
                        created_by_id = '', 
                        description = '', 
                        id = '', 
                        input_config = null, 
                        name = '', 
                        org_id = '', 
                        runner_config = nuon.models.app/app_runner_config.app.AppRunnerConfig(
                            app_id = '', 
                            app_runner_type = 'aws-ecs', 
                            created_at = '', 
                            created_by_id = '', 
                            env_vars = {
                                'key' : ''
                                }, 
                            id = '', 
                            org_id = '', 
                            updated_at = '', ), 
                        sandbox_config = nuon.models.app/app_sandbox_config.app.AppSandboxConfig(
                            app_id = '', 
                            artifacts = nuon.models.app_app_sandbox_config_artifacts.app_AppSandboxConfig_artifacts(
                                cloudformation_stack_template = '', 
                                deprovision_policy = '', 
                                provision_policy = '', 
                                trust_policy = '', ), 
                            connected_github_vcs_config = nuon.models.app/connected_github_vcs_config.app.ConnectedGithubVCSConfig(
                                branch = '', 
                                component_config_id = '', 
                                component_config_type = '', 
                                created_at = '', 
                                created_by_id = '', 
                                directory = '', 
                                id = '', 
                                repo = '', 
                                repo_name = '', 
                                repo_owner = '', 
                                updated_at = '', 
                                vcs_connection = nuon.models.app/vcs_connection.app.VCSConnection(
                                    created_at = '', 
                                    created_by_id = '', 
                                    github_install_id = '', 
                                    id = '', 
                                    updated_at = '', 
                                    vcs_connection_commit = [
                                        nuon.models.app/vcs_connection_commit.app.VCSConnectionCommit(
                                            author_email = '', 
                                            author_name = '', 
                                            component_config_connection_id = '', 
                                            created_at = '', 
                                            created_by_id = '', 
                                            id = '', 
                                            message = '', 
                                            sha = '', 
                                            updated_at = '', )
                                        ], ), 
                                vcs_connection_id = '', ), 
                            created_at = '', 
                            created_by_id = '', 
                            id = '', 
                            org_id = '', 
                            public_git_vcs_config = nuon.models.app/public_git_vcs_config.app.PublicGitVCSConfig(
                                branch = '', 
                                component_config_id = '', 
                                component_config_type = '', 
                                created_at = '', 
                                created_by_id = '', 
                                directory = '', 
                                id = '', 
                                repo = '', 
                                updated_at = '', ), 
                            sandbox_release = nuon.models.app/sandbox_release.app.SandboxRelease(
                                created_at = '', 
                                created_by_id = '', 
                                deprovision_policy_url = '', 
                                id = '', 
                                one_click_role_template_url = '', 
                                provision_policy_url = '', 
                                trust_policy_url = '', 
                                updated_at = '', 
                                version = '', ), 
                            sandbox_release_id = '', 
                            terraform_version = '', 
                            updated_at = '', 
                            variables = {
                                'key' : ''
                                }, ), 
                        status = '', 
                        status_description = '', 
                        updated_at = '', )
                    ],
                created_at = '',
                created_by = nuon.models.app/user_token.app.UserToken(
                    created_at = '', 
                    created_by_id = '', 
                    email = '', 
                    expires_at = '', 
                    id = '', 
                    issued_at = '', 
                    issuer = '', 
                    subject = '', 
                    token_type = 'auth0', 
                    updated_at = '', ),
                created_by_id = '',
                id = '',
                metadata = nuon.models.app/installer_metadata.app.InstallerMetadata(
                    community_url = '', 
                    copyright_markdown = '', 
                    created_at = '', 
                    created_by = nuon.models.app/user_token.app.UserToken(
                        created_at = '', 
                        created_by_id = '', 
                        email = '', 
                        expires_at = '', 
                        id = '', 
                        issued_at = '', 
                        issuer = '', 
                        subject = '', 
                        token_type = 'auth0', 
                        updated_at = '', ), 
                    created_by_id = '', 
                    demo_url = '', 
                    description = '', 
                    documentation_url = '', 
                    favicon_url = '', 
                    footer_markdown = '', 
                    formatted_demo_url = '', 
                    github_url = '', 
                    homepage_url = '', 
                    id = '', 
                    installer_id = '', 
                    logo_url = '', 
                    name = '', 
                    post_install_markdown = '', 
                    updated_at = '', ),
                org_id = '',
                type = 'self_hosted',
                updated_at = ''
            )
        else:
            return AppInstaller(
        )
        """

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

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