# coding: utf-8

"""
    Ory Kratos

    Welcome to the ORY Kratos HTTP API documentation!  # noqa: E501

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


from __future__ import absolute_import

import unittest
import datetime

import ory_kratos_client
from ory_kratos_client.models.settings_request import SettingsRequest  # noqa: E501
from ory_kratos_client.rest import ApiException

class TestSettingsRequest(unittest.TestCase):
    """SettingsRequest unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional):
        """Test SettingsRequest
            include_option is a boolean, when False only required
            params are included, when True both required and
            optional params are included """
        # model = ory_kratos_client.models.settings_request.SettingsRequest()  # noqa: E501
        if include_optional :
            return SettingsRequest(
                active = '0', 
                expires_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                id = '0', 
                identity = ory_kratos_client.models.identity.Identity(
                    addresses = [
                        ory_kratos_client.models.verifiable_address.VerifiableAddress(
                            expires_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                            id = '0', 
                            value = '0', 
                            verified = True, 
                            verified_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                            via = '0', )
                        ], 
                    id = '0', 
                    traits = ory_kratos_client.models.traits.traits(), 
                    traits_schema_id = '0', 
                    traits_schema_url = '0', ), 
                issued_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                methods = {
                    'key' : ory_kratos_client.models.settings_request_method.settingsRequestMethod(
                        config = ory_kratos_client.models.request_method_config.RequestMethodConfig(
                            action = '0', 
                            errors = [
                                ory_kratos_client.models.error.Error(
                                    message = '0', )
                                ], 
                            fields = [
                                ory_kratos_client.models.form_field.formField(
                                    disabled = True, 
                                    name = '0', 
                                    pattern = '0', 
                                    required = True, 
                                    type = '0', 
                                    value = ory_kratos_client.models.value.value(), )
                                ], 
                            method = '0', ), 
                        method = '0', )
                    }, 
                request_url = '0', 
                update_successful = True
            )
        else :
            return SettingsRequest(
                expires_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
                id = '0',
                identity = ory_kratos_client.models.identity.Identity(
                    addresses = [
                        ory_kratos_client.models.verifiable_address.VerifiableAddress(
                            expires_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                            id = '0', 
                            value = '0', 
                            verified = True, 
                            verified_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                            via = '0', )
                        ], 
                    id = '0', 
                    traits = ory_kratos_client.models.traits.traits(), 
                    traits_schema_id = '0', 
                    traits_schema_url = '0', ),
                issued_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
                methods = {
                    'key' : ory_kratos_client.models.settings_request_method.settingsRequestMethod(
                        config = ory_kratos_client.models.request_method_config.RequestMethodConfig(
                            action = '0', 
                            errors = [
                                ory_kratos_client.models.error.Error(
                                    message = '0', )
                                ], 
                            fields = [
                                ory_kratos_client.models.form_field.formField(
                                    disabled = True, 
                                    name = '0', 
                                    pattern = '0', 
                                    required = True, 
                                    type = '0', 
                                    value = ory_kratos_client.models.value.value(), )
                                ], 
                            method = '0', ), 
                        method = '0', )
                    },
                request_url = '0',
                update_successful = True,
        )

    def testSettingsRequest(self):
        """Test SettingsRequest"""
        inst_req_only = self.make_instance(include_optional=False)
        inst_req_and_optional = self.make_instance(include_optional=True)


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