orionis 0.253.0__py3-none-any.whl → 0.266.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- orionis/application.py +6 -0
- orionis/framework.py +1 -1
- orionis/luminate/{application.py → _application.py} +21 -19
- orionis/luminate/{container → _container}/container.py +4 -4
- orionis/luminate/{container → _container}/container_integrity.py +2 -2
- orionis/luminate/{container → _container}/resolve.py +2 -2
- orionis/luminate/{contracts → _contracts}/application.py +2 -2
- orionis/luminate/{contracts → _contracts}/console/task_manager.py +1 -1
- orionis/luminate/{contracts → _contracts}/facades/commands/scheduler_facade.py +1 -1
- orionis/luminate/{contracts → _contracts}/facades/facade.py +4 -3
- orionis/luminate/{contracts → _contracts}/foundation/providers/service_providers_bootstrapper.py +2 -2
- orionis/luminate/{contracts → _contracts}/providers/service_provider.py +1 -1
- orionis/luminate/{facades → _facades}/app_facade.py +2 -2
- orionis/luminate/{facades → _facades}/commands/commands_facade.py +3 -3
- orionis/luminate/{facades → _facades}/commands/scheduler_facade.py +3 -3
- orionis/luminate/{facades → _facades}/config/config_facade.py +3 -3
- orionis/luminate/{facades → _facades}/environment/environment_facade.py +3 -3
- orionis/luminate/{facades → _facades}/files/path_facade.py +4 -4
- orionis/luminate/{facades → _facades}/log/log_facade.py +2 -2
- orionis/luminate/{foundation → _foundation}/console/command_bootstrapper.py +2 -2
- orionis/luminate/{foundation → _foundation}/environment/environment_bootstrapper.py +3 -3
- orionis/luminate/{foundation → _foundation/foundation}/config/config_bootstrapper.py +3 -3
- orionis/luminate/{foundation → _foundation}/providers/service_providers_bootstrapper.py +4 -4
- orionis/luminate/{providers → _providers}/commands/reactor_commands_service_provider.py +7 -7
- orionis/luminate/{providers → _providers}/commands/scheduler_provider.py +3 -3
- orionis/luminate/{providers → _providers}/config/config_service_provider.py +3 -3
- orionis/luminate/{providers → _providers}/environment/environment__service_provider.py +4 -4
- orionis/luminate/_providers/files/paths_provider.py +21 -0
- orionis/luminate/{providers → _providers}/log/log_service_provider.py +5 -5
- orionis/luminate/{providers → _providers}/service_provider.py +2 -2
- orionis/luminate/{services_ → _services}/commands/reactor_commands_service.py +3 -3
- orionis/luminate/{services_ → _services}/commands/scheduler_service.py +1 -1
- orionis/luminate/{services_ → _services}/config/config_service.py +1 -1
- orionis/luminate/{services_ → _services}/log/log_service.py +1 -1
- orionis/luminate/app.py +19 -0
- orionis/luminate/console/base/command.py +1 -1
- orionis/luminate/console/command_filter.py +1 -1
- orionis/luminate/console/commands/help.py +1 -1
- orionis/luminate/console/commands/schedule_work.py +2 -2
- orionis/luminate/console/dumper/dump_die.py +1 -1
- orionis/luminate/console/kernel.py +1 -1
- orionis/luminate/console/output/console.py +3 -3
- orionis/luminate/console/output/executor.py +1 -1
- orionis/luminate/console/output/progress_bar.py +1 -1
- orionis/luminate/console/parser.py +1 -1
- orionis/luminate/{config → foundation/config}/app/entities/app.py +44 -43
- orionis/luminate/{config → foundation/config}/auth/entities/auth.py +9 -1
- orionis/luminate/foundation/config/cache/entities/cache.py +74 -0
- orionis/luminate/foundation/config/cache/entities/file.py +46 -0
- orionis/luminate/foundation/config/cache/entities/stores.py +46 -0
- orionis/luminate/{contracts/config → foundation/config/contracts}/config.py +8 -12
- orionis/luminate/foundation/config/cors/entities/cors.py +129 -0
- orionis/luminate/foundation/config/database/entities/connections.py +89 -0
- orionis/luminate/foundation/config/database/entities/database.py +62 -0
- orionis/luminate/foundation/config/database/entities/mysql.py +270 -0
- orionis/luminate/foundation/config/database/entities/oracle.py +227 -0
- orionis/luminate/foundation/config/database/entities/pgsql.py +189 -0
- orionis/luminate/foundation/config/database/entities/sqlite.py +178 -0
- orionis/luminate/foundation/config/database/enums/mysql_charsets.py +92 -0
- orionis/luminate/foundation/config/database/enums/mysql_collations.py +53 -0
- orionis/luminate/foundation/config/database/enums/mysql_engine.py +18 -0
- orionis/luminate/foundation/config/database/enums/oracle_encoding.py +44 -0
- orionis/luminate/foundation/config/database/enums/oracle_nencoding.py +31 -0
- orionis/luminate/foundation/config/database/enums/pgsql_charsets.py +90 -0
- orionis/luminate/foundation/config/database/enums/pgsql_collations.py +26 -0
- orionis/luminate/foundation/config/database/enums/pgsql_mode.py +24 -0
- orionis/luminate/foundation/config/database/enums/sqlite_foreign_key.py +12 -0
- orionis/luminate/foundation/config/database/enums/sqlite_journal.py +22 -0
- orionis/luminate/foundation/config/database/enums/sqlite_synchronous.py +16 -0
- orionis/luminate/foundation/config/filesystems/entitites/aws.py +134 -0
- orionis/luminate/foundation/config/filesystems/entitites/disks.py +68 -0
- orionis/luminate/foundation/config/filesystems/entitites/filesystems.py +53 -0
- orionis/luminate/foundation/config/filesystems/entitites/local.py +39 -0
- orionis/luminate/foundation/config/filesystems/entitites/public.py +52 -0
- orionis/luminate/foundation/config/logging/entities/channels.py +115 -0
- orionis/luminate/foundation/config/logging/entities/chunked.py +128 -0
- orionis/luminate/foundation/config/logging/entities/daily.py +113 -0
- orionis/luminate/foundation/config/logging/entities/hourly.py +100 -0
- orionis/luminate/foundation/config/logging/entities/logging.py +51 -0
- orionis/luminate/foundation/config/logging/entities/monthly.py +100 -0
- orionis/luminate/foundation/config/logging/entities/stack.py +74 -0
- orionis/luminate/foundation/config/logging/entities/weekly.py +102 -0
- orionis/luminate/foundation/config/logging/enums/levels.py +21 -0
- orionis/luminate/foundation/config/mail/entities/file.py +41 -0
- orionis/luminate/foundation/config/mail/entities/mail.py +56 -0
- orionis/luminate/foundation/config/mail/entities/mailers.py +54 -0
- orionis/luminate/foundation/config/mail/entities/smtp.py +104 -0
- orionis/luminate/foundation/config/queue/entities/brokers.py +55 -0
- orionis/luminate/foundation/config/queue/entities/database.py +107 -0
- orionis/luminate/foundation/config/queue/entities/queue.py +47 -0
- orionis/luminate/foundation/config/queue/enums/strategy.py +15 -0
- orionis/luminate/foundation/config/roots/paths.py +446 -0
- orionis/luminate/foundation/config/session/entities/session.py +147 -0
- orionis/luminate/foundation/config/session/enums/same_site_policy.py +14 -0
- orionis/luminate/foundation/config/session/helpers/secret_key.py +16 -0
- orionis/luminate/foundation/config/startup.py +203 -0
- orionis/luminate/foundation/config/testing/entities/__init__.py +0 -0
- orionis/luminate/{config → foundation/config/testing}/entities/testing.py +36 -20
- orionis/luminate/foundation/config/testing/enums/__init__.py +0 -0
- orionis/luminate/foundation/config/testing/enums/test_mode.py +12 -0
- orionis/luminate/patterns/__init__.py +0 -4
- orionis/luminate/patterns/singleton/__init__.py +0 -10
- orionis/luminate/services/asynchrony/__init__.py +0 -0
- orionis/luminate/services/asynchrony/async_io.py +31 -0
- orionis/luminate/services/environment/__init__.py +0 -10
- orionis/luminate/services/environment/contracts/__init__.py +0 -5
- orionis/luminate/services/environment/contracts/env.py +0 -11
- orionis/luminate/services/environment/dot_env.py +87 -163
- orionis/luminate/services/environment/env.py +0 -11
- orionis/luminate/services/introspection/__init__.py +0 -0
- orionis/luminate/services/introspection/abstracts/__init__.py +0 -0
- orionis/luminate/services/introspection/abstracts/entities/__init__.py +0 -0
- orionis/luminate/services/introspection/abstracts/entities/abstract_class_attributes.py +37 -0
- orionis/luminate/{support → services}/introspection/abstracts/reflect_abstract.py +1 -1
- orionis/luminate/services/introspection/dependencies/__init__.py +0 -0
- orionis/luminate/services/introspection/dependencies/contracts/__init__.py +0 -0
- orionis/luminate/{support → services}/introspection/dependencies/contracts/reflect_dependencies.py +2 -2
- orionis/luminate/services/introspection/dependencies/entities/__init__.py +0 -0
- orionis/luminate/services/introspection/dependencies/entities/class_dependencies.py +41 -0
- orionis/luminate/services/introspection/dependencies/entities/method_dependencies.py +42 -0
- orionis/luminate/services/introspection/dependencies/entities/resolved_dependencies.py +49 -0
- orionis/luminate/{support → services}/introspection/dependencies/reflect_dependencies.py +4 -4
- orionis/luminate/services/parsers/__init__.py +0 -0
- orionis/luminate/services/parsers/contracts/__init__.py +0 -0
- orionis/luminate/{support/parsers/exception_parser.py → services/parsers/exception.py} +1 -1
- orionis/luminate/services/parsers/serializer.py +15 -0
- orionis/luminate/services/paths/__init__.py +0 -9
- orionis/luminate/services/paths/resolver.py +1 -1
- orionis/luminate/services/standard/__init__.py +0 -0
- orionis/luminate/services/standard/contracts/__init__.py +0 -0
- orionis/luminate/{support → services}/standard/std.py +1 -1
- orionis/luminate/services/system/__init__.py +0 -0
- orionis/luminate/services/system/contracts/__init__.py +0 -0
- orionis/luminate/services/system/contracts/imports.py +31 -0
- orionis/luminate/services/system/contracts/workers.py +18 -0
- orionis/luminate/services/system/imports.py +124 -0
- orionis/luminate/services/system/runtime_imports.py +70 -0
- orionis/luminate/services/{workers/maximum_workers.py → system/workers.py} +2 -1
- orionis/luminate/services/wrapper/__init__.py +0 -0
- orionis/luminate/services/wrapper/dicts/__init__.py +0 -0
- orionis/luminate/services/wrapper/dicts/dot_dict.py +115 -0
- orionis/luminate/support/introspection/__init__.py +0 -5
- orionis/luminate/support/introspection/container_integrity.py +2 -2
- orionis/luminate/support/introspection/instances/__init__.py +0 -5
- orionis/luminate/support/introspection/reflection.py +1 -1
- orionis/luminate/test/__init__.py +0 -23
- orionis/luminate/test/cases/test_async.py +41 -9
- orionis/luminate/test/cases/test_case.py +27 -13
- orionis/luminate/test/cases/test_sync.py +28 -6
- orionis/luminate/test/output/contracts/{test_std_out.py → dumper.py} +2 -1
- orionis/luminate/test/output/{test_std_out.py → dumper.py} +7 -4
- orionis/luminate/test/suites/__init__.py +0 -0
- orionis/luminate/test/suites/contracts/__init__.py +0 -0
- orionis/luminate/test/suites/contracts/test_suite.py +23 -0
- orionis/luminate/test/suites/test_suite.py +101 -0
- orionis/luminate/test/{core → suites}/test_unit.py +16 -8
- orionis/unittesting.py +43 -0
- {orionis-0.253.0.dist-info → orionis-0.266.0.dist-info}/METADATA +19 -3
- orionis-0.266.0.dist-info/RECORD +440 -0
- {orionis-0.253.0.dist-info → orionis-0.266.0.dist-info}/WHEEL +1 -1
- orionis-0.266.0.dist-info/entry_points.txt +2 -0
- orionis-0.266.0.dist-info/zip-safe +1 -0
- tests/example/test_example.py +1 -1
- tests/foundation/__init__.py +0 -0
- tests/foundation/config/__init__.py +0 -0
- tests/foundation/config/app/__init__.py +0 -0
- tests/foundation/config/app/test_app.py +140 -0
- tests/foundation/config/auth/__init__.py +0 -0
- tests/{config → foundation/config/auth}/test_auth.py +6 -3
- tests/foundation/config/cache/__init__.py +0 -0
- tests/foundation/config/cache/test_cache.py +98 -0
- tests/foundation/config/cache/test_cache_file.py +78 -0
- tests/foundation/config/cache/test_cache_stores.py +88 -0
- tests/foundation/config/cors/__init__.py +0 -0
- tests/foundation/config/cors/test_cors.py +121 -0
- tests/foundation/config/database/__init__.py +0 -0
- tests/foundation/config/database/test_database.py +108 -0
- tests/foundation/config/database/test_database_connections.py +129 -0
- tests/foundation/config/database/test_database_mysql.py +231 -0
- tests/foundation/config/database/test_database_oracle.py +204 -0
- tests/foundation/config/database/test_database_pgsql.py +187 -0
- tests/foundation/config/database/test_database_sqlite.py +153 -0
- tests/foundation/config/exceptions/__init__.py +0 -0
- tests/foundation/config/exceptions/test_exceptions_integrity.py +83 -0
- tests/foundation/config/filesystems/__init__.py +0 -0
- tests/foundation/config/filesystems/test_filesystems.py +110 -0
- tests/foundation/config/filesystems/test_filesystems_aws.py +133 -0
- tests/foundation/config/filesystems/test_filesystems_disks.py +114 -0
- tests/foundation/config/filesystems/test_filesystems_local.py +95 -0
- tests/foundation/config/filesystems/test_filesystems_public.py +120 -0
- tests/foundation/config/logging/__init__.py +0 -0
- tests/foundation/config/logging/test_logging.py +48 -0
- tests/foundation/config/logging/test_logging_channels.py +157 -0
- tests/foundation/config/logging/test_logging_chunked.py +166 -0
- tests/foundation/config/logging/test_logging_daily.py +153 -0
- tests/foundation/config/logging/test_logging_hourly.py +131 -0
- tests/foundation/config/logging/test_logging_monthly.py +133 -0
- tests/foundation/config/logging/test_logging_stack.py +124 -0
- tests/foundation/config/logging/test_logging_weekly.py +133 -0
- tests/foundation/config/mail/__init__.py +0 -0
- tests/foundation/config/mail/test_mail.py +73 -0
- tests/foundation/config/mail/test_mail_file.py +61 -0
- tests/foundation/config/mail/test_mail_mailers.py +58 -0
- tests/foundation/config/mail/test_mail_smtp.py +102 -0
- tests/foundation/config/queue/__init__.py +0 -0
- tests/foundation/config/queue/test_queue.py +58 -0
- tests/foundation/config/queue/test_queue_brokers.py +67 -0
- tests/foundation/config/queue/test_queue_database.py +95 -0
- tests/foundation/config/root/__init__.py +0 -0
- tests/foundation/config/root/test_root_paths.py +134 -0
- tests/foundation/config/session/__init__.py +0 -0
- tests/foundation/config/session/test_session.py +138 -0
- tests/foundation/config/startup/__init__.py +0 -0
- tests/foundation/config/startup/test_config_startup.py +134 -0
- tests/foundation/config/testing/__init__.py +0 -0
- tests/foundation/config/testing/test_testing.py +167 -0
- tests/patterns/singleton/test_singleton.py +2 -2
- tests/services/asynchrony/__init__.py +0 -0
- tests/{support/async_io/test_async_coroutine.py → services/asynchrony/test_async_io.py} +6 -5
- tests/services/environment/test_env.py +155 -33
- tests/services/inspection/__init__.py +0 -0
- tests/services/inspection/dependencies/__init__.py +0 -0
- tests/services/inspection/dependencies/mocks/__init__.py +0 -0
- tests/services/inspection/dependencies/mocks/mock_user.py +30 -0
- tests/services/inspection/dependencies/mocks/mock_user_controller.py +27 -0
- tests/services/inspection/dependencies/mocks/mock_users_permissions.py +41 -0
- tests/services/inspection/dependencies/test_reflect_dependencies.py +94 -0
- tests/services/parsers/__init__.py +0 -0
- tests/services/parsers/mocks/__init__.py +0 -0
- tests/services/parsers/mocks/mock_custom_error.py +15 -0
- tests/{support → services}/parsers/test_exception_parser.py +8 -8
- tests/services/path/__init__.py +0 -0
- tests/services/path/test_resolver.py +73 -0
- tests/services/standard/__init__.py +0 -0
- tests/services/standard/test_std.py +127 -0
- tests/services/wrapper/__init__.py +0 -0
- tests/services/wrapper/test_wrapper_doc_dict.py +129 -0
- tests/testing/__init__.py +0 -0
- tests/testing/test_testing_result.py +92 -0
- tests/testing/test_testing_unit.py +138 -0
- orionis/luminate/config/app/__init__.py +0 -10
- orionis/luminate/config/auth/__init__.py +0 -7
- orionis/luminate/config/cache/__init__.py +0 -9
- orionis/luminate/config/cache/entities/cache.py +0 -58
- orionis/luminate/config/cache/entities/file.py +0 -29
- orionis/luminate/config/cache/entities/stores.py +0 -35
- orionis/luminate/config/entities/cors.py +0 -58
- orionis/luminate/config/entities/database.py +0 -204
- orionis/luminate/config/entities/filesystems.py +0 -98
- orionis/luminate/config/entities/logging.py +0 -157
- orionis/luminate/config/entities/mail.py +0 -76
- orionis/luminate/config/entities/queue.py +0 -62
- orionis/luminate/config/entities/session.py +0 -58
- orionis/luminate/providers/files/paths_provider.py +0 -20
- orionis/luminate/services/workers/__init__.py +0 -10
- orionis/luminate/support/adapters/dot_dict.py +0 -29
- orionis/luminate/support/asynchrony/async_io.py +0 -40
- orionis/luminate/support/asynchrony/contracts/async_coroutine.py +0 -26
- orionis/luminate/support/introspection/abstracts/entities/abstract_class_attributes.py +0 -11
- orionis/luminate/support/introspection/dependencies/__init__.py +0 -5
- orionis/luminate/support/introspection/dependencies/entities/class_dependencies.py +0 -11
- orionis/luminate/support/introspection/dependencies/entities/method_dependencies.py +0 -11
- orionis/luminate/support/introspection/dependencies/entities/resolved_dependencies.py +0 -12
- orionis/luminate/support/paths/contracts/resolver.py +0 -67
- orionis/luminate/support/paths/resolver.py +0 -83
- orionis/luminate/test/core/contracts/test_suite.py +0 -30
- orionis/luminate/test/core/test_suite.py +0 -93
- orionis-0.253.0.dist-info/RECORD +0 -318
- orionis-0.253.0.dist-info/entry_points.txt +0 -2
- tests/config/test_app.py +0 -122
- tests/config/test_cache.py +0 -20
- tests/support/adapters/fakes/fake_dict.py +0 -15
- tests/support/adapters/test_doct_dict.py +0 -21
- tests/support/inspection/fakes/fake_reflect_dependencies.py +0 -25
- tests/support/inspection/test_reflect_dependencies.py +0 -67
- tests/support/parsers/fakes/fake_custom_error.py +0 -27
- tests/support/path/test_resolver.py +0 -33
- tests/support/standard/test_std.py +0 -62
- /orionis/{console.py → clinstall.py} +0 -0
- /orionis/luminate/{config → _container}/__init__.py +0 -0
- /orionis/luminate/{container → _container}/exception.py +0 -0
- /orionis/luminate/{container → _container}/lifetimes.py +0 -0
- /orionis/luminate/{config/app/entities → _contracts}/__init__.py +0 -0
- /orionis/luminate/{config/app/enums → _contracts/config}/__init__.py +0 -0
- /orionis/luminate/{config/contracts → _contracts/config}/config.py +0 -0
- /orionis/luminate/{config/auth/entities → _contracts/console}/__init__.py +0 -0
- /orionis/luminate/{config/cache/entities → _contracts/console/base}/__init__.py +0 -0
- /orionis/luminate/{contracts → _contracts}/console/base/command.py +0 -0
- /orionis/luminate/{contracts → _contracts}/console/command_filter.py +0 -0
- /orionis/luminate/{contracts → _contracts}/console/kernel.py +0 -0
- /orionis/luminate/{config/cache/enums → _contracts/console/output}/__init__.py +0 -0
- /orionis/luminate/{contracts → _contracts}/console/output/console.py +0 -0
- /orionis/luminate/{contracts → _contracts}/console/output/executor.py +0 -0
- /orionis/luminate/{contracts → _contracts}/console/output/progress_bar.py +0 -0
- /orionis/luminate/{contracts → _contracts}/console/parser.py +0 -0
- /orionis/luminate/{contracts → _contracts}/container/container.py +0 -0
- /orionis/luminate/{contracts → _contracts}/container/container_integrity.py +0 -0
- /orionis/luminate/{config/contracts → _contracts/facades}/__init__.py +0 -0
- /orionis/luminate/{config/exceptions → _contracts/facades/commands}/__init__.py +0 -0
- /orionis/luminate/{contracts → _contracts}/facades/commands/commands_facade.py +0 -0
- /orionis/luminate/{container → _contracts/facades/config}/__init__.py +0 -0
- /orionis/luminate/{contracts → _contracts}/facades/config/config_facade.py +0 -0
- /orionis/luminate/{contracts → _contracts/facades/environment}/__init__.py +0 -0
- /orionis/luminate/{contracts → _contracts}/facades/environment/environment_facade.py +0 -0
- /orionis/luminate/{contracts/config → _contracts/facades/files}/__init__.py +0 -0
- /orionis/luminate/{contracts → _contracts}/facades/files/path_facade.py +0 -0
- /orionis/luminate/{contracts/console → _contracts/facades/log}/__init__.py +0 -0
- /orionis/luminate/{contracts → _contracts}/facades/log/log_facade.py +0 -0
- /orionis/luminate/{contracts/console/base → _contracts/facades/tests}/__init__.py +0 -0
- /orionis/luminate/{contracts → _contracts}/facades/tests/tests_facade.py +0 -0
- /orionis/luminate/{contracts/console/output → _contracts/foundation}/__init__.py +0 -0
- /orionis/luminate/{contracts → _contracts}/foundation/bootstraper.py +0 -0
- /orionis/luminate/{contracts/facades → _contracts/foundation/config}/__init__.py +0 -0
- /orionis/luminate/{contracts → _contracts}/foundation/config/config_bootstrapper.py +0 -0
- /orionis/luminate/{contracts/facades/commands → _contracts/foundation/console}/__init__.py +0 -0
- /orionis/luminate/{contracts → _contracts}/foundation/console/command_bootstrapper.py +0 -0
- /orionis/luminate/{contracts/facades/config → _contracts/foundation/environment}/__init__.py +0 -0
- /orionis/luminate/{contracts → _contracts}/foundation/environment/environment_bootstrapper.py +0 -0
- /orionis/luminate/{contracts/facades/environment → _contracts/foundation/providers}/__init__.py +0 -0
- /orionis/luminate/{contracts/facades/files → _contracts/providers}/__init__.py +0 -0
- /orionis/luminate/{contracts/facades/log → _contracts/services}/__init__.py +0 -0
- /orionis/luminate/{contracts/facades/tests → _contracts/services/commands}/__init__.py +0 -0
- /orionis/luminate/{contracts → _contracts}/services/commands/reactor_commands_service.py +0 -0
- /orionis/luminate/{contracts → _contracts}/services/commands/schedule_service.py +0 -0
- /orionis/luminate/{contracts/foundation → _contracts/services/config}/__init__.py +0 -0
- /orionis/luminate/{contracts → _contracts}/services/config/config_service.py +0 -0
- /orionis/luminate/{contracts/foundation/config → _contracts/services/environment}/__init__.py +0 -0
- /orionis/luminate/{contracts → _contracts}/services/environment/environment_service.py +0 -0
- /orionis/luminate/{contracts/foundation/console → _contracts/services/files}/__init__.py +0 -0
- /orionis/luminate/{contracts → _contracts}/services/files/path_resolver_service.py +0 -0
- /orionis/luminate/{contracts/foundation/environment → _contracts/services/log}/__init__.py +0 -0
- /orionis/luminate/{contracts → _contracts}/services/log/log_service.py +0 -0
- /orionis/luminate/{contracts → _contracts}/support/exception_parse.py +0 -0
- /orionis/luminate/{contracts → _contracts}/support/reflection.py +0 -0
- /orionis/luminate/{contracts/foundation/providers → _facades}/__init__.py +0 -0
- /orionis/luminate/{contracts/providers → _facades/commands}/__init__.py +0 -0
- /orionis/luminate/{contracts/services → _facades/config}/__init__.py +0 -0
- /orionis/luminate/{contracts/services/commands → _facades/environment}/__init__.py +0 -0
- /orionis/luminate/{contracts/services/config → _facades/files}/__init__.py +0 -0
- /orionis/luminate/{contracts/services/environment → _facades/log}/__init__.py +0 -0
- /orionis/luminate/{contracts/services/files → _foundation}/__init__.py +0 -0
- /orionis/luminate/{contracts/services/log → _foundation/console}/__init__.py +0 -0
- /orionis/luminate/{facades → _foundation/environment}/__init__.py +0 -0
- /orionis/luminate/{facades/commands → _foundation/exceptions}/__init__.py +0 -0
- /orionis/luminate/{foundation → _foundation}/exceptions/exception_bootstrapper.py +0 -0
- /orionis/luminate/{foundation → _foundation}/exceptions/exception_providers.py +0 -0
- /orionis/luminate/{facades → _foundation/foundation}/config/__init__.py +0 -0
- /orionis/luminate/{facades/environment → _foundation/providers}/__init__.py +0 -0
- /orionis/luminate/{facades/files → _providers}/__init__.py +0 -0
- /orionis/luminate/{facades/log → _providers/commands}/__init__.py +0 -0
- /orionis/luminate/{foundation/console → _providers/config}/__init__.py +0 -0
- /orionis/luminate/{foundation → _providers}/environment/__init__.py +0 -0
- /orionis/luminate/{foundation/exceptions → _providers/files}/__init__.py +0 -0
- /orionis/luminate/{foundation/providers → _providers/log}/__init__.py +0 -0
- /orionis/luminate/{providers → _services}/__init__.py +0 -0
- /orionis/luminate/{providers → _services}/commands/__init__.py +0 -0
- /orionis/luminate/{providers → _services}/config/__init__.py +0 -0
- /orionis/luminate/{providers/environment → _services/log}/__init__.py +0 -0
- /orionis/luminate/{providers/files → foundation/config/app}/__init__.py +0 -0
- /orionis/luminate/{providers/log → foundation/config/app/entities}/__init__.py +0 -0
- /orionis/luminate/{services_ → foundation/config/app/enums}/__init__.py +0 -0
- /orionis/luminate/{config → foundation/config}/app/enums/ciphers.py +0 -0
- /orionis/luminate/{config → foundation/config}/app/enums/environments.py +0 -0
- /orionis/luminate/{services_/commands → foundation/config/auth}/__init__.py +0 -0
- /orionis/luminate/{services_/config → foundation/config/auth/entities}/__init__.py +0 -0
- /orionis/luminate/{services_/log → foundation/config/cache}/__init__.py +0 -0
- /orionis/luminate/{support/adapters → foundation/config/cache/entities}/__init__.py +0 -0
- /orionis/luminate/{support/asynchrony → foundation/config/cache/enums}/__init__.py +0 -0
- /orionis/luminate/{config → foundation/config}/cache/enums/drivers.py +0 -0
- /orionis/luminate/{support/asynchrony → foundation/config}/contracts/__init__.py +0 -0
- /orionis/luminate/{support/introspection/abstracts → foundation/config/cors}/__init__.py +0 -0
- /orionis/luminate/{support/introspection/abstracts → foundation/config/cors}/entities/__init__.py +0 -0
- /orionis/luminate/{support/introspection/dependencies/contracts → foundation/config/database}/__init__.py +0 -0
- /orionis/luminate/{support/introspection/dependencies → foundation/config/database}/entities/__init__.py +0 -0
- /orionis/luminate/{support/parsers → foundation/config/database/enums}/__init__.py +0 -0
- /orionis/luminate/{support/parsers/contracts → foundation/config/exceptions}/__init__.py +0 -0
- /orionis/luminate/{config/exceptions/integrity_exception.py → foundation/config/exceptions/integrity.py} +0 -0
- /orionis/luminate/{support/paths → foundation/config/filesystems}/__init__.py +0 -0
- /orionis/luminate/{support/paths/contracts → foundation/config/filesystems/entitites}/__init__.py +0 -0
- /orionis/luminate/{support/standard → foundation/config/logging}/__init__.py +0 -0
- /orionis/luminate/{support/standard/contracts → foundation/config/logging/entities}/__init__.py +0 -0
- /orionis/luminate/{test/core → foundation/config/logging/enums}/__init__.py +0 -0
- /orionis/luminate/{test/core/contracts → foundation/config/mail}/__init__.py +0 -0
- {tests/config → orionis/luminate/foundation/config/mail/entities}/__init__.py +0 -0
- {tests/support/adapters → orionis/luminate/foundation/config/queue}/__init__.py +0 -0
- {tests/support/adapters/fakes → orionis/luminate/foundation/config/queue/entities}/__init__.py +0 -0
- {tests/support/async_io → orionis/luminate/foundation/config/roots}/__init__.py +0 -0
- {tests/support/parsers → orionis/luminate/foundation/config/session}/__init__.py +0 -0
- {tests/support/parsers/fakes → orionis/luminate/foundation/config/session/entities}/__init__.py +0 -0
- {tests/support/path → orionis/luminate/foundation/config/session/enums}/__init__.py +0 -0
- {tests/support/standard → orionis/luminate/foundation/config/testing}/__init__.py +0 -0
- /orionis/luminate/{support → services}/parsers/contracts/exception_parser.py +0 -0
- /orionis/luminate/{support → services}/standard/contracts/std.py +0 -0
- /orionis/luminate/test/exceptions/{test_exception.py → test_failure_exception.py} +0 -0
- /orionis/luminate/test/{core → suites}/contracts/test_unit.py +0 -0
- {orionis-0.253.0.dist-info → orionis-0.266.0.dist-info/licenses}/LICENCE +0 -0
- {orionis-0.253.0.dist-info → orionis-0.266.0.dist-info}/top_level.txt +0 -0
@@ -1,11 +1,10 @@
|
|
1
1
|
import os
|
2
2
|
import sys
|
3
|
-
from orionis.luminate.test.output.contracts.
|
4
|
-
from orionis.luminate.console.dumper.dump_die import Debug
|
3
|
+
from orionis.luminate.test.output.contracts.dumper import ITestDumper
|
5
4
|
|
6
|
-
class
|
5
|
+
class TestDumper(ITestDumper):
|
7
6
|
"""
|
8
|
-
|
7
|
+
TestDumper provides utility methods for debugging and outputting information during test execution.
|
9
8
|
This class implements methods to determine if an object is a test case instance and to output debugging
|
10
9
|
information using the Debug class. It ensures that standard output and error streams are properly managed
|
11
10
|
during debugging dumps, and captures the caller's file and line number for context.
|
@@ -49,6 +48,8 @@ class TestStdOut(ITestStdOut):
|
|
49
48
|
original_stderr = sys.stderr
|
50
49
|
|
51
50
|
try:
|
51
|
+
from orionis.luminate.console.dumper.dump_die import Debug
|
52
|
+
|
52
53
|
sys.stdout = sys.__stdout__
|
53
54
|
sys.stderr = sys.__stderr__
|
54
55
|
|
@@ -80,6 +81,8 @@ class TestStdOut(ITestStdOut):
|
|
80
81
|
original_stderr = sys.stderr
|
81
82
|
|
82
83
|
try:
|
84
|
+
from orionis.luminate.console.dumper.dump_die import Debug
|
85
|
+
|
83
86
|
sys.stdout = sys.__stdout__
|
84
87
|
sys.stderr = sys.__stderr__
|
85
88
|
|
File without changes
|
File without changes
|
@@ -0,0 +1,23 @@
|
|
1
|
+
from abc import ABC, abstractmethod
|
2
|
+
from orionis.luminate.foundation.config.testing.entities.testing import Testing as Configuration
|
3
|
+
from orionis.luminate.test.suites.test_unit import UnitTest
|
4
|
+
|
5
|
+
class ITestSuite(ABC):
|
6
|
+
"""
|
7
|
+
Interface for configuring and running a UnitTest suite using a provided Configuration.
|
8
|
+
Methods:
|
9
|
+
run(config: Configuration = None) -> UnitTest
|
10
|
+
"""
|
11
|
+
|
12
|
+
@abstractmethod
|
13
|
+
def run(self, config: Configuration = None) -> UnitTest:
|
14
|
+
"""
|
15
|
+
Runs the test suite based on the provided configuration.
|
16
|
+
Args:
|
17
|
+
config (Configuration, optional): An optional Configuration object for the test suite.
|
18
|
+
Returns:
|
19
|
+
UnitTest: The result of the executed test suite.
|
20
|
+
Raises:
|
21
|
+
OrionisTestConfigException: If the config parameter is not an instance of Configuration.
|
22
|
+
"""
|
23
|
+
pass
|
@@ -0,0 +1,101 @@
|
|
1
|
+
import re
|
2
|
+
from os import walk
|
3
|
+
from orionis.luminate.foundation.config.testing.entities.testing import Testing as Configuration
|
4
|
+
from orionis.luminate.test.suites.contracts.test_suite import ITestSuite
|
5
|
+
from orionis.luminate.test.suites.test_unit import UnitTest
|
6
|
+
from orionis.luminate.test.exceptions.test_config_exception import OrionisTestConfigException
|
7
|
+
|
8
|
+
class TestSuite(ITestSuite):
|
9
|
+
"""
|
10
|
+
TestSuite is a class responsible for managing and executing a suite of unit tests based on a configurable set of parameters.
|
11
|
+
config (Configuration, optional): An optional Configuration object that specifies parameters for the test suite execution. If not provided, a new Configuration instance is created.
|
12
|
+
_config (Configuration): The configuration object used to control test suite behavior, such as verbosity, execution mode, worker count, and test discovery patterns.
|
13
|
+
Methods:
|
14
|
+
__init__(config: Configuration = None):
|
15
|
+
Initializes the TestSuite with the provided configuration or a default one.
|
16
|
+
run() -> UnitTest:
|
17
|
+
Executes the test suite according to the configuration. Discovers test folders matching the specified pattern, adds discovered tests to the suite, and runs them.
|
18
|
+
"""
|
19
|
+
|
20
|
+
def __init__(self, config:Configuration = None):
|
21
|
+
"""
|
22
|
+
Initializes the object with the given configuration.
|
23
|
+
|
24
|
+
Args:
|
25
|
+
config (Configuration, optional): An optional Configuration object to initialize with. Defaults to None.
|
26
|
+
|
27
|
+
Attributes:
|
28
|
+
_config (Configuration): The configuration used by the object. If no configuration is provided, a new Configuration instance is created.
|
29
|
+
"""
|
30
|
+
self._config = config or Configuration()
|
31
|
+
|
32
|
+
def run(self) -> UnitTest:
|
33
|
+
"""
|
34
|
+
Runs the test suite based on the provided configuration.
|
35
|
+
This method initializes a UnitTest suite, configures it with parameters from the Configuration object,
|
36
|
+
discovers test folders matching the specified pattern, and adds the discovered tests to the suite.
|
37
|
+
Finally, it executes the test suite and returns the results.
|
38
|
+
Returns:
|
39
|
+
UnitTest: The result of the executed test suite.
|
40
|
+
Raises:
|
41
|
+
OrionisTestConfigException: If the provided configuration is not an instance of Configuration.
|
42
|
+
"""
|
43
|
+
|
44
|
+
# Check if the config is provided
|
45
|
+
config = self._config
|
46
|
+
|
47
|
+
# Check if the config is an instance of Configuration
|
48
|
+
if not isinstance(config, Configuration):
|
49
|
+
raise OrionisTestConfigException("The config parameter must be an instance of the Configuration class.")
|
50
|
+
|
51
|
+
# Initialize the test suite
|
52
|
+
tests = UnitTest()
|
53
|
+
|
54
|
+
# Assign config values to the test suite
|
55
|
+
tests.configure(
|
56
|
+
verbosity=config.verbosity,
|
57
|
+
execution_mode=config.execution_mode,
|
58
|
+
max_workers=config.max_workers,
|
59
|
+
fail_fast=config.fail_fast,
|
60
|
+
print_result=config.print_result,
|
61
|
+
throw_exception=config.throw_exception
|
62
|
+
)
|
63
|
+
|
64
|
+
# Extract configuration values
|
65
|
+
base_path = config.base_path
|
66
|
+
folder_path = config.folder_path
|
67
|
+
pattern = config.pattern
|
68
|
+
|
69
|
+
# Helper function to list folders matching the pattern
|
70
|
+
def list_matching_folders(custom_path: str, pattern: str):
|
71
|
+
matched_folders = []
|
72
|
+
for root, _, files in walk(custom_path):
|
73
|
+
for file in files:
|
74
|
+
if re.fullmatch(pattern.replace('*', '.*').replace('?', '.'), file):
|
75
|
+
relative_path = root.replace(base_path, '').replace('\\', '/').lstrip('/')
|
76
|
+
if relative_path not in matched_folders:
|
77
|
+
matched_folders.append(relative_path)
|
78
|
+
return matched_folders
|
79
|
+
|
80
|
+
# Discover folders
|
81
|
+
discovered_folders = []
|
82
|
+
if folder_path == '*':
|
83
|
+
discovered_folders.extend(list_matching_folders(base_path, pattern))
|
84
|
+
elif isinstance(folder_path, list):
|
85
|
+
for custom_path in folder_path:
|
86
|
+
discovered_folders.extend(list_matching_folders(f"{base_path}/{custom_path}", pattern))
|
87
|
+
else:
|
88
|
+
discovered_folders.extend(list_matching_folders(folder_path, pattern))
|
89
|
+
|
90
|
+
# Add discovered folders to the test suite
|
91
|
+
for folder in discovered_folders:
|
92
|
+
tests.discoverTestsInFolder(
|
93
|
+
folder_path=folder,
|
94
|
+
base_path=base_path,
|
95
|
+
pattern=pattern,
|
96
|
+
test_name_pattern=config.test_name_pattern if config.test_name_pattern else None,
|
97
|
+
tags=config.tags if config.tags else None
|
98
|
+
)
|
99
|
+
|
100
|
+
# Return the initialized test suite
|
101
|
+
return tests.run()
|
@@ -14,11 +14,11 @@ from rich.panel import Panel
|
|
14
14
|
from rich.syntax import Syntax
|
15
15
|
from rich.table import Table
|
16
16
|
from orionis.luminate.console.output.console import Console
|
17
|
-
from orionis.luminate.test.
|
17
|
+
from orionis.luminate.test.suites.contracts.test_unit import IUnitTest
|
18
18
|
from orionis.luminate.test.entities.test_result import TestResult
|
19
19
|
from orionis.luminate.test.enums.test_mode import ExecutionMode
|
20
20
|
from orionis.luminate.test.enums.test_status import TestStatus
|
21
|
-
from orionis.luminate.test.exceptions.
|
21
|
+
from orionis.luminate.test.exceptions.test_failure_exception import OrionisTestFailureException
|
22
22
|
|
23
23
|
class UnitTest(IUnitTest):
|
24
24
|
"""
|
@@ -40,7 +40,7 @@ class UnitTest(IUnitTest):
|
|
40
40
|
start_time (float): The start time of the test execution.
|
41
41
|
print_result (bool): Flag to determine whether to print test results.
|
42
42
|
verbosity (int): The verbosity level for test output.
|
43
|
-
execution_mode (
|
43
|
+
execution_mode (str): The mode of test execution (e.g., SEQUENTIAL or PARALLEL).
|
44
44
|
max_workers (int): The maximum number of workers for parallel execution.
|
45
45
|
fail_fast (bool): Flag to stop execution on the first failure.
|
46
46
|
rich_console (RichConsole): Console for rich text output.
|
@@ -55,7 +55,7 @@ class UnitTest(IUnitTest):
|
|
55
55
|
self.start_time: float = 0.0
|
56
56
|
self.print_result: bool = True
|
57
57
|
self.verbosity: int = 2
|
58
|
-
self.execution_mode:
|
58
|
+
self.execution_mode: str = ExecutionMode.SEQUENTIAL.value
|
59
59
|
self.max_workers: int = 4
|
60
60
|
self.fail_fast: bool = False
|
61
61
|
self.rich_console = RichConsole()
|
@@ -67,7 +67,7 @@ class UnitTest(IUnitTest):
|
|
67
67
|
def configure(
|
68
68
|
self,
|
69
69
|
verbosity: int = None,
|
70
|
-
execution_mode: ExecutionMode = None,
|
70
|
+
execution_mode: str | ExecutionMode = None,
|
71
71
|
max_workers: int = None,
|
72
72
|
fail_fast: bool = None,
|
73
73
|
print_result: bool = None,
|
@@ -88,16 +88,24 @@ class UnitTest(IUnitTest):
|
|
88
88
|
"""
|
89
89
|
if verbosity is not None:
|
90
90
|
self.verbosity = verbosity
|
91
|
-
|
91
|
+
|
92
|
+
if execution_mode is not None and isinstance(execution_mode, ExecutionMode):
|
93
|
+
self.execution_mode = execution_mode.value
|
94
|
+
else:
|
92
95
|
self.execution_mode = execution_mode
|
96
|
+
|
93
97
|
if max_workers is not None:
|
94
98
|
self.max_workers = max_workers
|
99
|
+
|
95
100
|
if fail_fast is not None:
|
96
101
|
self.fail_fast = fail_fast
|
102
|
+
|
97
103
|
if print_result is not None:
|
98
104
|
self.print_result = print_result
|
105
|
+
|
99
106
|
if throw_exception is not None:
|
100
107
|
self.throw_exception = throw_exception
|
108
|
+
|
101
109
|
return self
|
102
110
|
|
103
111
|
def discoverTestsInFolder(
|
@@ -207,7 +215,7 @@ class UnitTest(IUnitTest):
|
|
207
215
|
"""
|
208
216
|
if self.print_result:
|
209
217
|
test_count = len(list(self._flattenTestSuite(self.suite)))
|
210
|
-
mode_text = f"[stat]Parallel with {self.max_workers} workers[/stat]" if self.execution_mode == ExecutionMode.PARALLEL else "Sequential"
|
218
|
+
mode_text = f"[stat]Parallel with {self.max_workers} workers[/stat]" if self.execution_mode == ExecutionMode.PARALLEL.value else "Sequential"
|
211
219
|
textlines = [
|
212
220
|
f"[bold]Total Tests:[/bold] [dim]{test_count}[/dim]",
|
213
221
|
f"[bold]Mode:[/bold] [dim]{mode_text}[/dim]",
|
@@ -255,7 +263,7 @@ class UnitTest(IUnitTest):
|
|
255
263
|
error_buffer = io.StringIO()
|
256
264
|
|
257
265
|
# Execute tests based on selected mode
|
258
|
-
if self.execution_mode == ExecutionMode.PARALLEL:
|
266
|
+
if self.execution_mode == ExecutionMode.PARALLEL.value:
|
259
267
|
result = self._runTestsInParallel(output_buffer, error_buffer)
|
260
268
|
else:
|
261
269
|
result = self._runTestsSequentially(output_buffer, error_buffer)
|
orionis/unittesting.py
ADDED
@@ -0,0 +1,43 @@
|
|
1
|
+
from orionis.luminate.test.cases.test_case import TestCase
|
2
|
+
from orionis.luminate.test.cases.test_sync import SyncTestCase
|
3
|
+
from orionis.luminate.test.cases.test_async import AsyncTestCase
|
4
|
+
|
5
|
+
from orionis.luminate.test.entities.test_result import TestResult
|
6
|
+
|
7
|
+
from orionis.luminate.test.enums.test_mode import ExecutionMode
|
8
|
+
from orionis.luminate.test.enums.test_status import TestStatus
|
9
|
+
|
10
|
+
from orionis.luminate.test.exceptions.test_failure_exception import OrionisTestFailureException
|
11
|
+
|
12
|
+
from orionis.luminate.test.suites.test_suite import Configuration, TestSuite
|
13
|
+
from orionis.luminate.test.suites.test_unit import UnitTest
|
14
|
+
|
15
|
+
from unittest import (
|
16
|
+
TestLoader as UnittestTestLoader,
|
17
|
+
TestSuite as UnittestTestSuite,
|
18
|
+
TestResult as UnittestTestResult,
|
19
|
+
)
|
20
|
+
from unittest.mock import (
|
21
|
+
Mock as UnittestMock,
|
22
|
+
MagicMock as UnittestMagicMock,
|
23
|
+
patch as unittest_mock_patch,
|
24
|
+
)
|
25
|
+
|
26
|
+
__all__ = [
|
27
|
+
"TestCase",
|
28
|
+
"SyncTestCase",
|
29
|
+
"AsyncTestCase",
|
30
|
+
"TestResult",
|
31
|
+
"ExecutionMode",
|
32
|
+
"TestStatus",
|
33
|
+
"OrionisTestFailureException",
|
34
|
+
"Configuration",
|
35
|
+
"TestSuite",
|
36
|
+
"UnitTest",
|
37
|
+
"UnittestTestLoader",
|
38
|
+
"UnittestTestSuite",
|
39
|
+
"UnittestTestResult",
|
40
|
+
"UnittestMock",
|
41
|
+
"UnittestMagicMock",
|
42
|
+
"unittest_mock_patch",
|
43
|
+
]
|
@@ -1,13 +1,27 @@
|
|
1
|
-
Metadata-Version: 2.
|
1
|
+
Metadata-Version: 2.4
|
2
2
|
Name: orionis
|
3
|
-
Version: 0.
|
3
|
+
Version: 0.266.0
|
4
4
|
Summary: Orionis Framework – Elegant, Fast, and Powerful.
|
5
5
|
Home-page: https://github.com/orionis-framework/framework
|
6
6
|
Author: Raul Mauricio Uñate Castro
|
7
7
|
Author-email: raulmauriciounate@gmail.com
|
8
|
-
|
8
|
+
Keywords: orionis,framework,python,orionis-framework,django,flask,fastapi,starlettewerkzeuguvicorn
|
9
|
+
Classifier: Development Status :: 3 - Alpha
|
10
|
+
Classifier: Environment :: Web Environment
|
11
|
+
Classifier: Intended Audience :: Developers
|
9
12
|
Classifier: License :: OSI Approved :: MIT License
|
10
13
|
Classifier: Operating System :: OS Independent
|
14
|
+
Classifier: Programming Language :: Python
|
15
|
+
Classifier: Programming Language :: Python :: 3
|
16
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
17
|
+
Classifier: Programming Language :: Python :: 3.12
|
18
|
+
Classifier: Programming Language :: Python :: 3.13
|
19
|
+
Classifier: Typing :: Typed
|
20
|
+
Classifier: Topic :: Internet :: WWW/HTTP
|
21
|
+
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
|
22
|
+
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI
|
23
|
+
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
|
24
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
11
25
|
Requires-Python: >=3.12
|
12
26
|
Description-Content-Type: text/markdown
|
13
27
|
License-File: LICENCE
|
@@ -23,6 +37,8 @@ Dynamic: classifier
|
|
23
37
|
Dynamic: description
|
24
38
|
Dynamic: description-content-type
|
25
39
|
Dynamic: home-page
|
40
|
+
Dynamic: keywords
|
41
|
+
Dynamic: license-file
|
26
42
|
Dynamic: requires-dist
|
27
43
|
Dynamic: requires-python
|
28
44
|
Dynamic: summary
|