test_default_config.py 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. # Copyright 2021-2024 Avaiga Private Limited
  2. #
  3. # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
  4. # the License. You may obtain a copy of the License at
  5. #
  6. # http://www.apache.org/licenses/LICENSE-2.0
  7. #
  8. # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
  9. # an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
  10. # specific language governing permissions and limitations under the License.
  11. from taipy.common.config import Config
  12. from taipy.common.config._config import _Config
  13. from taipy.common.config.common.scope import Scope
  14. from taipy.common.config.global_app.global_app_config import GlobalAppConfig
  15. from taipy.core.config import CoreSection
  16. from taipy.core.config.data_node_config import DataNodeConfig
  17. from taipy.core.config.job_config import JobConfig
  18. from taipy.core.config.scenario_config import ScenarioConfig
  19. from taipy.core.config.task_config import TaskConfig
  20. def _test_default_job_config(job_config: JobConfig):
  21. assert job_config is not None
  22. assert job_config.mode == JobConfig._DEFAULT_MODE
  23. def _test_default_core_section(core_section: CoreSection):
  24. assert core_section is not None
  25. assert core_section.mode == CoreSection._DEFAULT_MODE
  26. assert core_section.version_number == ""
  27. assert not core_section.force
  28. assert core_section.root_folder == "./taipy/"
  29. assert core_section.storage_folder == "user_data/"
  30. assert core_section.taipy_storage_folder == ".taipy/"
  31. assert core_section.repository_type == "filesystem"
  32. assert core_section.repository_properties == {}
  33. assert len(core_section.properties) == 0
  34. def _test_default_data_node_config(dn_config: DataNodeConfig):
  35. assert dn_config is not None
  36. assert dn_config.id is not None
  37. assert dn_config.storage_type == "pickle"
  38. assert dn_config.scope == Scope.SCENARIO
  39. assert dn_config.validity_period is None
  40. assert len(dn_config.properties) == 0 # type: ignore
  41. def _test_default_task_config(task_config: TaskConfig):
  42. assert task_config is not None
  43. assert task_config.id is not None
  44. assert task_config.input_configs == []
  45. assert task_config.output_configs == []
  46. assert task_config.function is None
  47. assert not task_config.skippable
  48. assert len(task_config.properties) == 0 # type: ignore
  49. def _test_default_scenario_config(scenario_config: ScenarioConfig):
  50. assert scenario_config is not None
  51. assert scenario_config.id is not None
  52. assert scenario_config.tasks == []
  53. assert scenario_config.task_configs == []
  54. assert scenario_config.additional_data_nodes == []
  55. assert scenario_config.additional_data_node_configs == []
  56. assert scenario_config.data_nodes == []
  57. assert scenario_config.data_node_configs == []
  58. assert scenario_config.sequences == {}
  59. assert len(scenario_config.properties) == 0 # type: ignore
  60. def _test_default_global_app_config(global_config: GlobalAppConfig):
  61. assert global_config is not None
  62. assert not global_config.notification
  63. assert len(global_config.properties) == 0
  64. def test_default_configuration():
  65. default_config = Config._default_config
  66. assert default_config._global_config is not None
  67. _test_default_global_app_config(default_config._global_config)
  68. _test_default_global_app_config(Config.global_config)
  69. _test_default_global_app_config(GlobalAppConfig().default_config())
  70. assert default_config._unique_sections is not None
  71. assert len(default_config._unique_sections) == 2
  72. assert len(default_config._sections) == 3
  73. _test_default_job_config(default_config._unique_sections[JobConfig.name])
  74. _test_default_job_config(Config.job_config)
  75. _test_default_job_config(JobConfig().default_config())
  76. _test_default_core_section(default_config._unique_sections[CoreSection.name])
  77. _test_default_core_section(Config.core)
  78. _test_default_core_section(CoreSection().default_config())
  79. _test_default_data_node_config(default_config._sections[DataNodeConfig.name][_Config.DEFAULT_KEY])
  80. _test_default_data_node_config(Config.data_nodes[_Config.DEFAULT_KEY])
  81. _test_default_data_node_config(DataNodeConfig.default_config())
  82. assert len(default_config._sections[DataNodeConfig.name]) == 1
  83. assert len(Config.data_nodes) == 1
  84. _test_default_task_config(default_config._sections[TaskConfig.name][_Config.DEFAULT_KEY])
  85. _test_default_task_config(Config.tasks[_Config.DEFAULT_KEY])
  86. _test_default_task_config(TaskConfig.default_config())
  87. assert len(default_config._sections[TaskConfig.name]) == 1
  88. assert len(Config.tasks) == 1
  89. _test_default_scenario_config(default_config._sections[ScenarioConfig.name][_Config.DEFAULT_KEY])
  90. Config.scenarios[_Config.DEFAULT_KEY]
  91. _test_default_scenario_config(Config.scenarios[_Config.DEFAULT_KEY])
  92. _test_default_scenario_config(ScenarioConfig.default_config())
  93. assert len(default_config._sections[ScenarioConfig.name]) == 1
  94. assert len(Config.scenarios) == 1