test-pioneer-dev 0.0.38__tar.gz

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.
Files changed (80) hide show
  1. test_pioneer_dev-0.0.38/LICENSE +21 -0
  2. test_pioneer_dev-0.0.38/PKG-INFO +87 -0
  3. test_pioneer_dev-0.0.38/README.md +58 -0
  4. test_pioneer_dev-0.0.38/pyproject.toml +43 -0
  5. test_pioneer_dev-0.0.38/setup.cfg +4 -0
  6. test_pioneer_dev-0.0.38/test_pioneer/__init__.py +7 -0
  7. test_pioneer_dev-0.0.38/test_pioneer/__main__.py +0 -0
  8. test_pioneer_dev-0.0.38/test_pioneer/extend/__init__.py +0 -0
  9. test_pioneer_dev-0.0.38/test_pioneer/extend/mail_thunder_extend/__init__.py +0 -0
  10. test_pioneer_dev-0.0.38/test_pioneer/extend/mail_thunder_extend/mail_thunder_setting.py +36 -0
  11. test_pioneer_dev-0.0.38/test_pioneer/extend/process_executor/__init__.py +0 -0
  12. test_pioneer_dev-0.0.38/test_pioneer/extend/process_executor/api_testka/__init__.py +0 -0
  13. test_pioneer_dev-0.0.38/test_pioneer/extend/process_executor/api_testka/api_testka_process.py +66 -0
  14. test_pioneer_dev-0.0.38/test_pioneer/extend/process_executor/auto_control/__init__.py +0 -0
  15. test_pioneer_dev-0.0.38/test_pioneer/extend/process_executor/auto_control/auto_control_process.py +62 -0
  16. test_pioneer_dev-0.0.38/test_pioneer/extend/process_executor/file_automation/__init__.py +0 -0
  17. test_pioneer_dev-0.0.38/test_pioneer/extend/process_executor/file_automation/file_automation_process.py +66 -0
  18. test_pioneer_dev-0.0.38/test_pioneer/extend/process_executor/load_density/__init__.py +0 -0
  19. test_pioneer_dev-0.0.38/test_pioneer/extend/process_executor/load_density/load_density_process.py +66 -0
  20. test_pioneer_dev-0.0.38/test_pioneer/extend/process_executor/mail_thunder/__init__.py +0 -0
  21. test_pioneer_dev-0.0.38/test_pioneer/extend/process_executor/mail_thunder/mail_thunder_process.py +16 -0
  22. test_pioneer_dev-0.0.38/test_pioneer/extend/process_executor/process_executor_utils.py +72 -0
  23. test_pioneer_dev-0.0.38/test_pioneer/extend/process_executor/task_process_manager.py +164 -0
  24. test_pioneer_dev-0.0.38/test_pioneer/extend/process_executor/web_runner/__init__.py +0 -0
  25. test_pioneer_dev-0.0.38/test_pioneer/extend/process_executor/web_runner/web_runner_process.py +66 -0
  26. test_pioneer_dev-0.0.38/test_pioneer/test_pioneer_editor_ui/__init__.py +0 -0
  27. test_pioneer_dev-0.0.38/test_pioneer/test_pioneer_editor_ui/editor_main/__init__.py +0 -0
  28. test_pioneer_dev-0.0.38/test_pioneer/test_pioneer_editor_ui/editor_main/main_ui.py +76 -0
  29. test_pioneer_dev-0.0.38/test_pioneer/test_pioneer_editor_ui/extend_multi_language/__init__.py +0 -0
  30. test_pioneer_dev-0.0.38/test_pioneer/test_pioneer_editor_ui/extend_multi_language/extend_english.py +98 -0
  31. test_pioneer_dev-0.0.38/test_pioneer/test_pioneer_editor_ui/extend_multi_language/extend_traditional_chinese.py +98 -0
  32. test_pioneer_dev-0.0.38/test_pioneer/test_pioneer_editor_ui/extend_multi_language/update_language_dict.py +8 -0
  33. test_pioneer_dev-0.0.38/test_pioneer/test_pioneer_editor_ui/menu/__init__.py +0 -0
  34. test_pioneer_dev-0.0.38/test_pioneer/test_pioneer_editor_ui/menu/automation_menu/__init__.py +0 -0
  35. test_pioneer_dev-0.0.38/test_pioneer/test_pioneer_editor_ui/menu/automation_menu/api_testka_menu/__init__.py +0 -0
  36. test_pioneer_dev-0.0.38/test_pioneer/test_pioneer_editor_ui/menu/automation_menu/api_testka_menu/build_api_testka_menu.py +120 -0
  37. test_pioneer_dev-0.0.38/test_pioneer/test_pioneer_editor_ui/menu/automation_menu/auto_control_menu/__init__.py +0 -0
  38. test_pioneer_dev-0.0.38/test_pioneer/test_pioneer_editor_ui/menu/automation_menu/auto_control_menu/build_autocontrol_menu.py +147 -0
  39. test_pioneer_dev-0.0.38/test_pioneer/test_pioneer_editor_ui/menu/automation_menu/automation_file_menu/__init__.py +0 -0
  40. test_pioneer_dev-0.0.38/test_pioneer/test_pioneer_editor_ui/menu/automation_menu/automation_file_menu/build_automation_file_menu.py +122 -0
  41. test_pioneer_dev-0.0.38/test_pioneer/test_pioneer_editor_ui/menu/automation_menu/load_density_menu/__init__.py +0 -0
  42. test_pioneer_dev-0.0.38/test_pioneer/test_pioneer_editor_ui/menu/automation_menu/load_density_menu/build_load_density_menu.py +120 -0
  43. test_pioneer_dev-0.0.38/test_pioneer/test_pioneer_editor_ui/menu/automation_menu/mail_thunder_menu/__init__.py +0 -0
  44. test_pioneer_dev-0.0.38/test_pioneer/test_pioneer_editor_ui/menu/automation_menu/mail_thunder_menu/build_mail_thunder_menu.py +88 -0
  45. test_pioneer_dev-0.0.38/test_pioneer/test_pioneer_editor_ui/menu/automation_menu/web_runner_menu/__init__.py +0 -0
  46. test_pioneer_dev-0.0.38/test_pioneer/test_pioneer_editor_ui/menu/automation_menu/web_runner_menu/build_webrunner_menu.py +119 -0
  47. test_pioneer_dev-0.0.38/test_pioneer/test_pioneer_editor_ui/menu/build_menubar.py +42 -0
  48. test_pioneer_dev-0.0.38/test_pioneer/test_pioneer_editor_ui/menu/install_menu/__init__.py +0 -0
  49. test_pioneer_dev-0.0.38/test_pioneer/test_pioneer_editor_ui/menu/install_menu/automation_menu/__init__.py +0 -0
  50. test_pioneer_dev-0.0.38/test_pioneer/test_pioneer_editor_ui/menu/install_menu/automation_menu/build_automation_install_menu.py +82 -0
  51. test_pioneer_dev-0.0.38/test_pioneer/test_pioneer_editor_ui/menu/install_menu/install_utils.py +21 -0
  52. test_pioneer_dev-0.0.38/test_pioneer/test_pioneer_editor_ui/menu/install_menu/tools_menu/__init__.py +0 -0
  53. test_pioneer_dev-0.0.38/test_pioneer/test_pioneer_editor_ui/menu/install_menu/tools_menu/build_tool_install_menu.py +29 -0
  54. test_pioneer_dev-0.0.38/test_pioneer/test_pioneer_editor_ui/menu/menu_utils.py +16 -0
  55. test_pioneer_dev-0.0.38/test_pioneer/test_pioneer_editor_ui/menu/tools_menu/__init__.py +0 -0
  56. test_pioneer_dev-0.0.38/test_pioneer/test_pioneer_editor_ui/menu/tools_menu/bing_gpt_menu/__init__.py +0 -0
  57. test_pioneer_dev-0.0.38/test_pioneer/test_pioneer_editor_ui/menu/tools_menu/bing_gpt_menu/build_bing_gpt_menu.py +44 -0
  58. test_pioneer_dev-0.0.38/test_pioneer/test_pioneer_editor_ui/show_code_window/__init__.py +0 -0
  59. test_pioneer_dev-0.0.38/test_pioneer/test_pioneer_editor_ui/show_code_window/code_window.py +21 -0
  60. test_pioneer_dev-0.0.38/test_pioneer/test_pioneer_editor_ui/syntax/__init__.py +0 -0
  61. test_pioneer_dev-0.0.38/test_pioneer/test_pioneer_editor_ui/syntax/syntax_extend.py +37 -0
  62. test_pioneer_dev-0.0.38/test_pioneer/test_pioneer_editor_ui/syntax/syntax_keyword.py +152 -0
  63. test_pioneer_dev-0.0.38/test_pioneer/utils/__init__.py +0 -0
  64. test_pioneer_dev-0.0.38/test_pioneer/utils/exception/__init__.py +0 -0
  65. test_pioneer_dev-0.0.38/test_pioneer/utils/exception/exception_tags.py +30 -0
  66. test_pioneer_dev-0.0.38/test_pioneer/utils/exception/exceptions.py +50 -0
  67. test_pioneer_dev-0.0.38/test_pioneer/utils/file_process/__init__.py +0 -0
  68. test_pioneer_dev-0.0.38/test_pioneer/utils/file_process/get_dir_file_list.py +29 -0
  69. test_pioneer_dev-0.0.38/test_pioneer/utils/json_format/__init__.py +1 -0
  70. test_pioneer_dev-0.0.38/test_pioneer/utils/json_format/json_process.py +28 -0
  71. test_pioneer_dev-0.0.38/test_pioneer/utils/logging/__init__.py +0 -0
  72. test_pioneer_dev-0.0.38/test_pioneer/utils/logging/loggin_instance.py +25 -0
  73. test_pioneer_dev-0.0.38/test_pioneer/utils/manager/__init__.py +0 -0
  74. test_pioneer_dev-0.0.38/test_pioneer/utils/manager/package_manager/__init__.py +0 -0
  75. test_pioneer_dev-0.0.38/test_pioneer/utils/manager/package_manager/package_manager_class.py +18 -0
  76. test_pioneer_dev-0.0.38/test_pioneer_dev.egg-info/PKG-INFO +87 -0
  77. test_pioneer_dev-0.0.38/test_pioneer_dev.egg-info/SOURCES.txt +78 -0
  78. test_pioneer_dev-0.0.38/test_pioneer_dev.egg-info/dependency_links.txt +1 -0
  79. test_pioneer_dev-0.0.38/test_pioneer_dev.egg-info/requires.txt +10 -0
  80. test_pioneer_dev-0.0.38/test_pioneer_dev.egg-info/top_level.txt +1 -0
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2022 JE-Chen
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,87 @@
1
+ Metadata-Version: 2.1
2
+ Name: test_pioneer_dev
3
+ Version: 0.0.38
4
+ Summary: AutomationEditor for multi automation
5
+ Author-email: JE-Chen <jechenmailman@gmail.com>
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/Intergration-Automation-Testing/AutomationEditor
8
+ Project-URL: Code, https://github.com/Intergration-Automation-Testing/AutomationEditor
9
+ Classifier: Programming Language :: Python :: 3.9
10
+ Classifier: Development Status :: 2 - Pre-Alpha
11
+ Classifier: Environment :: Win32 (MS Windows)
12
+ Classifier: Environment :: MacOS X
13
+ Classifier: Environment :: X11 Applications
14
+ Classifier: License :: OSI Approved :: MIT License
15
+ Classifier: Operating System :: OS Independent
16
+ Requires-Python: >=3.9
17
+ Description-Content-Type: text/markdown
18
+ License-File: LICENSE
19
+ Requires-Dist: je-editor
20
+ Requires-Dist: je_auto_control
21
+ Requires-Dist: je_web_runner
22
+ Requires-Dist: je_load_density
23
+ Requires-Dist: je_api_testka
24
+ Requires-Dist: je-mail-thunder
25
+ Requires-Dist: automation-file
26
+ Requires-Dist: PySide6==6.8.1
27
+ Requires-Dist: pip
28
+ Requires-Dist: PyYAML
29
+
30
+ [![Downloads](https://static.pepy.tech/badge/automation-editor)](https://pepy.tech/project/automation-editor)
31
+
32
+ [![Codacy Badge](https://app.codacy.com/project/badge/Grade/b7d32ed8600b4bd2a2f3e960f46f2ad0)](https://www.codacy.com/gh/JE-Chen/Integration-testing-environment/dashboard?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=JE-Chen/Integration-testing-environment&amp;utm_campaign=Badge_Grade)
33
+
34
+ [![AutomationEditor Stable Python3.9](https://github.com/Intergration-Automation-Testing/AutomationEditor/actions/workflows/stable_python3_9.yml/badge.svg)](https://github.com/Intergration-Automation-Testing/AutomationEditor/actions/workflows/stable_python3_9.yml)
35
+
36
+ [![AutomationEditor Stable Python3.10](https://github.com/Intergration-Automation-Testing/AutomationEditor/actions/workflows/stable_python3_10.yml/badge.svg)](https://github.com/Intergration-Automation-Testing/AutomationEditor/actions/workflows/stable_python3_10.yml)
37
+
38
+ [![AutomationEditor Stable Python3.11](https://github.com/Intergration-Automation-Testing/AutomationEditor/actions/workflows/stable_python3_11.yml/badge.svg)](https://github.com/Intergration-Automation-Testing/AutomationEditor/actions/workflows/stable_python3_11.yml)
39
+
40
+ [![Documentation Status](https://readthedocs.org/projects/automationeditor/badge/?version=latest)](https://automationeditor.readthedocs.io/en/latest/?badge=latest)
41
+
42
+ [AutomationIDE Doc Click Here!](https://automationeditor.readthedocs.io/en/latest/)
43
+
44
+ [Using this IDE edit tkinter video](https://www.youtube.com/watch?v=VXm8L2qrdSU&ab_channel=JEChen)
45
+
46
+ ---
47
+
48
+ ## Notice
49
+ > * If you can't run program and get argument or internal error on windows, Please update your powershell.
50
+ > * https://github.com/PowerShell/PowerShell/releases
51
+
52
+ ---
53
+ ## What is Automation Editor
54
+ > Project Kanban \
55
+ > https://github.com/orgs/Integration-Automation/projects/2/views/1 \
56
+ > * Native support AutoControl script.
57
+ > * Native support APITestka script.
58
+ > * Native support Load Density script.
59
+ > * Native support WEB Runner script.
60
+ > * Native support Mail Thunder script.
61
+ > * Native support File Automation script.
62
+ > * Native support Front Engine script.
63
+ > * Automation instance monitor.
64
+ > * Automation project support.
65
+ > * Docs support.
66
+ > * BingGPT (requires setting up cookies, tutorial available in the IDE)
67
+ > * DALL-E3 Bing version for image generation (requires setting up another type of cookie, tutorial available in the IDE)
68
+ > * Auto-save (available after the first save or after opening a file), auto-complete, jump to definition.
69
+ > * Bilingual interface (English, Traditional Chinese) Choose font and size.
70
+ > * Tabbed browsing, split window functionality.
71
+ > * Embedded browser.
72
+ > * Embedded Jupyter and IPython.
73
+ > * Built-in automation packages.
74
+ > * Multiple UI style choices.
75
+ > * Python venv and management to choose the Python interpreter to use.
76
+ > * Code style checking and auto-formatting (PEP8).
77
+ > * Debugger.
78
+ > * Multiple Shell command executors (run multiple Shells at once).
79
+ > * Multiple program executors (run multiple programs at once). Custom colors.
80
+
81
+
82
+ ---
83
+
84
+ ### install
85
+ > pip install automation_editor
86
+
87
+ ![Architecture Diagram](architecture_diagram/AutomationEditorArchitectureDiagram.drawio.png)
@@ -0,0 +1,58 @@
1
+ [![Downloads](https://static.pepy.tech/badge/automation-editor)](https://pepy.tech/project/automation-editor)
2
+
3
+ [![Codacy Badge](https://app.codacy.com/project/badge/Grade/b7d32ed8600b4bd2a2f3e960f46f2ad0)](https://www.codacy.com/gh/JE-Chen/Integration-testing-environment/dashboard?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=JE-Chen/Integration-testing-environment&amp;utm_campaign=Badge_Grade)
4
+
5
+ [![AutomationEditor Stable Python3.9](https://github.com/Intergration-Automation-Testing/AutomationEditor/actions/workflows/stable_python3_9.yml/badge.svg)](https://github.com/Intergration-Automation-Testing/AutomationEditor/actions/workflows/stable_python3_9.yml)
6
+
7
+ [![AutomationEditor Stable Python3.10](https://github.com/Intergration-Automation-Testing/AutomationEditor/actions/workflows/stable_python3_10.yml/badge.svg)](https://github.com/Intergration-Automation-Testing/AutomationEditor/actions/workflows/stable_python3_10.yml)
8
+
9
+ [![AutomationEditor Stable Python3.11](https://github.com/Intergration-Automation-Testing/AutomationEditor/actions/workflows/stable_python3_11.yml/badge.svg)](https://github.com/Intergration-Automation-Testing/AutomationEditor/actions/workflows/stable_python3_11.yml)
10
+
11
+ [![Documentation Status](https://readthedocs.org/projects/automationeditor/badge/?version=latest)](https://automationeditor.readthedocs.io/en/latest/?badge=latest)
12
+
13
+ [AutomationIDE Doc Click Here!](https://automationeditor.readthedocs.io/en/latest/)
14
+
15
+ [Using this IDE edit tkinter video](https://www.youtube.com/watch?v=VXm8L2qrdSU&ab_channel=JEChen)
16
+
17
+ ---
18
+
19
+ ## Notice
20
+ > * If you can't run program and get argument or internal error on windows, Please update your powershell.
21
+ > * https://github.com/PowerShell/PowerShell/releases
22
+
23
+ ---
24
+ ## What is Automation Editor
25
+ > Project Kanban \
26
+ > https://github.com/orgs/Integration-Automation/projects/2/views/1 \
27
+ > * Native support AutoControl script.
28
+ > * Native support APITestka script.
29
+ > * Native support Load Density script.
30
+ > * Native support WEB Runner script.
31
+ > * Native support Mail Thunder script.
32
+ > * Native support File Automation script.
33
+ > * Native support Front Engine script.
34
+ > * Automation instance monitor.
35
+ > * Automation project support.
36
+ > * Docs support.
37
+ > * BingGPT (requires setting up cookies, tutorial available in the IDE)
38
+ > * DALL-E3 Bing version for image generation (requires setting up another type of cookie, tutorial available in the IDE)
39
+ > * Auto-save (available after the first save or after opening a file), auto-complete, jump to definition.
40
+ > * Bilingual interface (English, Traditional Chinese) Choose font and size.
41
+ > * Tabbed browsing, split window functionality.
42
+ > * Embedded browser.
43
+ > * Embedded Jupyter and IPython.
44
+ > * Built-in automation packages.
45
+ > * Multiple UI style choices.
46
+ > * Python venv and management to choose the Python interpreter to use.
47
+ > * Code style checking and auto-formatting (PEP8).
48
+ > * Debugger.
49
+ > * Multiple Shell command executors (run multiple Shells at once).
50
+ > * Multiple program executors (run multiple programs at once). Custom colors.
51
+
52
+
53
+ ---
54
+
55
+ ### install
56
+ > pip install automation_editor
57
+
58
+ ![Architecture Diagram](architecture_diagram/AutomationEditorArchitectureDiagram.drawio.png)
@@ -0,0 +1,43 @@
1
+ # Rename to dev version
2
+ # This is dev version
3
+ [build-system]
4
+ requires = ["setuptools>=61.0"]
5
+ build-backend = "setuptools.build_meta"
6
+
7
+ [project]
8
+ name = "test_pioneer_dev"
9
+ version = "0.0.38"
10
+ authors = [
11
+ { name = "JE-Chen", email = "jechenmailman@gmail.com" },
12
+ ]
13
+ description = "AutomationEditor for multi automation"
14
+ requires-python = ">=3.9"
15
+ license = { text = "MIT" }
16
+ dependencies = [
17
+ "je-editor", "je_auto_control", "je_web_runner",
18
+ "je_load_density", "je_api_testka", "je-mail-thunder",
19
+ "automation-file", "PySide6==6.8.1", "pip", "PyYAML"
20
+ ]
21
+ classifiers = [
22
+ "Programming Language :: Python :: 3.9",
23
+ "Development Status :: 2 - Pre-Alpha",
24
+ "Environment :: Win32 (MS Windows)",
25
+ "Environment :: MacOS X",
26
+ "Environment :: X11 Applications",
27
+ "License :: OSI Approved :: MIT License",
28
+ "Operating System :: OS Independent"
29
+ ]
30
+
31
+ [project.urls]
32
+ Homepage = "https://github.com/Intergration-Automation-Testing/AutomationEditor"
33
+ Code = "https://github.com/Intergration-Automation-Testing/AutomationEditor"
34
+
35
+ [project.readme]
36
+ file = "README.md"
37
+ content-type = "text/markdown"
38
+
39
+ [tool.setuptools]
40
+ license-files = ["LICENSE"]
41
+
42
+ [tool.setuptools.packages]
43
+ find = { namespaces = false }
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,7 @@
1
+ from test_pioneer.test_pioneer_editor_ui.editor_main.main_ui import AutomationEditor
2
+ from test_pioneer.test_pioneer_editor_ui.editor_main.main_ui import EDITOR_EXTEND_TAB
3
+ from test_pioneer.test_pioneer_editor_ui.editor_main.main_ui import start_editor
4
+
5
+ __all__ = [
6
+ "start_editor", "AutomationEditor", "EDITOR_EXTEND_TAB"
7
+ ]
File without changes
@@ -0,0 +1,36 @@
1
+ import sys
2
+ from email.mime.multipart import MIMEMultipart
3
+
4
+ from test_pioneer.utils.exception.exception_tags import send_html_exception_tag
5
+ from test_pioneer.utils.exception.exceptions import ITESendHtmlReportException
6
+
7
+
8
+ def send_after_test(html_report_path: str = None) -> None:
9
+ try:
10
+ from je_mail_thunder import SMTPWrapper
11
+ mail_thunder_smtp: SMTPWrapper = SMTPWrapper()
12
+ if html_report_path is None and mail_thunder_smtp.login_state is True:
13
+ user: str = mail_thunder_smtp.user
14
+ with open("default_name.html", "r+") as file:
15
+ html_string: str = file.read()
16
+ message = mail_thunder_smtp.create_message_with_attach(
17
+ html_string,
18
+ {"Subject": "Test Report", "To": user, "From": user},
19
+ "default_name.html", use_html=True)
20
+ mail_thunder_smtp.send_message(message)
21
+ mail_thunder_smtp.quit()
22
+ elif mail_thunder_smtp.login_state is True:
23
+ user: str = mail_thunder_smtp.user
24
+ with open(html_report_path, "r+") as file:
25
+ html_string: str = file.read()
26
+ message: MIMEMultipart = mail_thunder_smtp.create_message_with_attach(
27
+ html_string,
28
+ {"Subject": "Test Report", "To": user, "From": user},
29
+ html_report_path, use_html=True)
30
+ mail_thunder_smtp.send_message(message)
31
+ mail_thunder_smtp.quit()
32
+ else:
33
+ raise ITESendHtmlReportException
34
+ except ITESendHtmlReportException as error:
35
+ print(repr(error), file=sys.stderr)
36
+ print(send_html_exception_tag, file=sys.stderr)
@@ -0,0 +1,66 @@
1
+ from __future__ import annotations
2
+
3
+ from typing import TYPE_CHECKING, Union
4
+
5
+ from test_pioneer.extend.process_executor.process_executor_utils import build_process
6
+
7
+ if TYPE_CHECKING:
8
+ from test_pioneer.test_pioneer_editor_ui.editor_main.main_ui import AutomationEditor
9
+ import sys
10
+
11
+ from test_pioneer.utils.file_process.get_dir_file_list import ask_and_get_dir_files_as_list
12
+
13
+
14
+ def call_api_testka(
15
+ main_window: AutomationEditor,
16
+ exec_str: Union[str, None] = None,
17
+ program_buffer: int = 1024000
18
+ ):
19
+ build_process(main_window, "je_api_testka", exec_str, False, program_buffer)
20
+
21
+
22
+ def call_api_testka_with_send(
23
+ main_window: AutomationEditor,
24
+ exec_str: Union[str, None] = None,
25
+ program_buffer: int = 1024000
26
+ ):
27
+ build_process(main_window, "je_api_testka", exec_str, True, program_buffer)
28
+
29
+
30
+ def call_api_testka_multi_file(
31
+ main_window: AutomationEditor,
32
+ program_buffer: int = 1024000
33
+ ):
34
+ try:
35
+ need_to_execute_list: list = ask_and_get_dir_files_as_list(main_window)
36
+ if need_to_execute_list is not None \
37
+ and isinstance(need_to_execute_list, list) and len(need_to_execute_list) > 0:
38
+ for execute_file in need_to_execute_list:
39
+ with open(execute_file, "r+") as test_script_json:
40
+ call_api_testka(
41
+ main_window,
42
+ test_script_json.read(),
43
+ program_buffer
44
+ )
45
+ except Exception as error:
46
+ print(repr(error), file=sys.stderr)
47
+
48
+
49
+ def call_api_testka_multi_file_and_send(
50
+ main_window: AutomationEditor,
51
+ program_buffer: int = 1024000
52
+ ):
53
+ try:
54
+
55
+ need_to_execute_list: list = ask_and_get_dir_files_as_list(main_window)
56
+ if need_to_execute_list is not None \
57
+ and isinstance(need_to_execute_list, list) and len(need_to_execute_list) > 0:
58
+ for execute_file in need_to_execute_list:
59
+ with open(execute_file, "r+") as test_script_json:
60
+ call_api_testka_with_send(
61
+ main_window,
62
+ test_script_json.read(),
63
+ program_buffer
64
+ )
65
+ except Exception as error:
66
+ print(repr(error), file=sys.stderr)
@@ -0,0 +1,62 @@
1
+ from __future__ import annotations
2
+
3
+ from typing import TYPE_CHECKING, Union
4
+
5
+ from test_pioneer.extend.process_executor.process_executor_utils import build_process
6
+
7
+ if TYPE_CHECKING:
8
+ from test_pioneer.test_pioneer_editor_ui.editor_main.main_ui import AutomationEditor
9
+ import sys
10
+
11
+ from test_pioneer.utils.file_process.get_dir_file_list import ask_and_get_dir_files_as_list
12
+
13
+
14
+ def call_auto_control(
15
+ main_window: AutomationEditor,
16
+ exec_str: Union[str, None] = None,
17
+ program_buffer: int = 1024000
18
+ ):
19
+ build_process(main_window, "je_auto_control", exec_str, False, program_buffer)
20
+
21
+
22
+ def call_auto_control_with_send(
23
+ main_window: AutomationEditor,
24
+ exec_str: Union[str, None] = None,
25
+ program_buffer: int = 1024000
26
+ ):
27
+ build_process(main_window, "je_auto_control", exec_str, True, program_buffer)
28
+
29
+
30
+ def call_auto_control_multi_file(
31
+ main_window: AutomationEditor,
32
+ program_buffer: int = 1024000
33
+ ):
34
+ need_to_execute_list: list = ask_and_get_dir_files_as_list(main_window)
35
+ if need_to_execute_list is not None \
36
+ and isinstance(need_to_execute_list, list) and len(need_to_execute_list) > 0:
37
+ for execute_file in need_to_execute_list:
38
+ with open(execute_file, "r+") as test_script_json:
39
+ call_auto_control(
40
+ main_window,
41
+ test_script_json.read(),
42
+ program_buffer
43
+ )
44
+
45
+
46
+ def call_auto_control_multi_file_and_send(
47
+ main_window: AutomationEditor,
48
+ program_buffer: int = 1024000
49
+ ):
50
+ try:
51
+ need_to_execute_list: list = ask_and_get_dir_files_as_list(main_window)
52
+ if need_to_execute_list is not None \
53
+ and isinstance(need_to_execute_list, list) and len(need_to_execute_list) > 0:
54
+ for execute_file in need_to_execute_list:
55
+ with open(execute_file, "r+") as test_script_json:
56
+ call_auto_control_with_send(
57
+ main_window,
58
+ test_script_json.read(),
59
+ program_buffer
60
+ )
61
+ except Exception as error:
62
+ print(repr(error), file=sys.stderr)
@@ -0,0 +1,66 @@
1
+ from __future__ import annotations
2
+
3
+ from typing import TYPE_CHECKING, Union
4
+
5
+ from test_pioneer.extend.process_executor.process_executor_utils import build_process
6
+
7
+ if TYPE_CHECKING:
8
+ from test_pioneer.test_pioneer_editor_ui.editor_main.main_ui import AutomationEditor
9
+ import sys
10
+
11
+ from test_pioneer.utils.file_process.get_dir_file_list import ask_and_get_dir_files_as_list
12
+
13
+
14
+ def call_file_automation_test(
15
+ main_window: AutomationEditor,
16
+ exec_str: Union[str, None] = None,
17
+ program_buffer: int = 1024000
18
+ ):
19
+ build_process(main_window, "automation_file", exec_str, False, program_buffer)
20
+
21
+
22
+ def call_file_automation_test_with_send(
23
+ main_window: AutomationEditor,
24
+ exec_str: Union[str, None] = None,
25
+ program_buffer: int = 1024000
26
+ ):
27
+ build_process(main_window, "automation_file", exec_str, True, program_buffer)
28
+
29
+
30
+ def call_file_automation_test_multi_file(
31
+ main_window: AutomationEditor,
32
+ program_buffer: int = 1024000
33
+ ):
34
+ try:
35
+ need_to_execute_list: list = ask_and_get_dir_files_as_list(main_window)
36
+ if need_to_execute_list is not None \
37
+ and isinstance(need_to_execute_list, list) and len(need_to_execute_list) > 0:
38
+ for execute_file in need_to_execute_list:
39
+ with open(execute_file, "r+") as test_script_json:
40
+ call_file_automation_test(
41
+ main_window,
42
+ test_script_json.read(),
43
+ program_buffer
44
+ )
45
+ except Exception as error:
46
+ print(repr(error), file=sys.stderr)
47
+
48
+
49
+ def call_file_automation_test_multi_file_and_send(
50
+ main_window: AutomationEditor,
51
+ program_buffer: int = 1024000
52
+ ):
53
+ try:
54
+
55
+ need_to_execute_list: list = ask_and_get_dir_files_as_list(main_window)
56
+ if need_to_execute_list is not None \
57
+ and isinstance(need_to_execute_list, list) and len(need_to_execute_list) > 0:
58
+ for execute_file in need_to_execute_list:
59
+ with open(execute_file, "r+") as test_script_json:
60
+ call_file_automation_test_with_send(
61
+ main_window,
62
+ test_script_json.read(),
63
+ program_buffer
64
+ )
65
+ except Exception as error:
66
+ print(repr(error), file=sys.stderr)
@@ -0,0 +1,66 @@
1
+ from __future__ import annotations
2
+
3
+ from typing import TYPE_CHECKING, Union
4
+
5
+ from test_pioneer.extend.process_executor.process_executor_utils import build_process
6
+
7
+ if TYPE_CHECKING:
8
+ from test_pioneer.test_pioneer_editor_ui.editor_main.main_ui import AutomationEditor
9
+ import sys
10
+
11
+ from test_pioneer.utils.file_process.get_dir_file_list import ask_and_get_dir_files_as_list
12
+
13
+
14
+ def call_load_density(
15
+ main_window: AutomationEditor,
16
+ exec_str: Union[str, None] = None,
17
+ program_buffer: int = 1024000
18
+ ):
19
+ build_process(main_window, "je_load_density", exec_str, False, program_buffer)
20
+
21
+
22
+ def call_load_density_with_send(
23
+ main_window: AutomationEditor,
24
+ exec_str: Union[str, None] = None,
25
+ program_buffer: int = 1024000
26
+ ):
27
+ build_process(main_window, "je_load_density", exec_str, True, program_buffer)
28
+
29
+
30
+ def call_load_density_multi_file(
31
+ main_window: AutomationEditor,
32
+ program_buffer: int = 1024000
33
+ ):
34
+ try:
35
+ need_to_execute_list: list = ask_and_get_dir_files_as_list(main_window)
36
+ if need_to_execute_list is not None and isinstance(need_to_execute_list, list) and len(
37
+ need_to_execute_list) > 0:
38
+ for execute_file in need_to_execute_list:
39
+ with open(execute_file, "r+") as test_script_json:
40
+ call_load_density(
41
+ main_window,
42
+ test_script_json.read(),
43
+ program_buffer
44
+ )
45
+ except Exception as error:
46
+ print(repr(error), file=sys.stderr)
47
+
48
+
49
+ def call_load_density_multi_file_and_send(
50
+ main_window: AutomationEditor,
51
+ program_buffer: int = 1024000
52
+ ):
53
+ try:
54
+
55
+ need_to_execute_list: list = ask_and_get_dir_files_as_list(main_window)
56
+ if need_to_execute_list is not None and isinstance(need_to_execute_list, list) and len(
57
+ need_to_execute_list) > 0:
58
+ for execute_file in need_to_execute_list:
59
+ with open(execute_file, "r+") as test_script_json:
60
+ call_load_density_with_send(
61
+ main_window,
62
+ test_script_json.read(),
63
+ program_buffer
64
+ )
65
+ except Exception as error:
66
+ print(repr(error), file=sys.stderr)
@@ -0,0 +1,16 @@
1
+ from __future__ import annotations
2
+
3
+ from typing import TYPE_CHECKING, Union
4
+
5
+ from test_pioneer.extend.process_executor.process_executor_utils import build_process
6
+
7
+ if TYPE_CHECKING:
8
+ from test_pioneer.test_pioneer_editor_ui.editor_main.main_ui import AutomationEditor
9
+
10
+
11
+ def call_mail_thunder(
12
+ main_window: AutomationEditor,
13
+ exec_str: Union[str, None] = None,
14
+ program_buffer: int = 1024000
15
+ ):
16
+ build_process(main_window, "je_mail_thunder", exec_str, False, program_buffer)
@@ -0,0 +1,72 @@
1
+ from __future__ import annotations
2
+
3
+ import json
4
+ import sys
5
+ from typing import TYPE_CHECKING, Union
6
+
7
+ from je_editor import EditorWidget
8
+
9
+ from test_pioneer.test_pioneer_editor_ui.show_code_window.code_window import CodeWindow
10
+ from test_pioneer.extend.mail_thunder_extend.mail_thunder_setting import send_after_test
11
+ from test_pioneer.extend.process_executor.task_process_manager import TaskProcessManager
12
+ from test_pioneer.utils.exception.exception_tags import wrong_test_data_format_exception_tag
13
+ from test_pioneer.utils.exception.exceptions import ITETestExecutorException
14
+
15
+ if TYPE_CHECKING:
16
+ from test_pioneer.test_pioneer_editor_ui.editor_main.main_ui import AutomationEditor
17
+
18
+
19
+ def build_process(
20
+ main_window: AutomationEditor,
21
+ package: str,
22
+ exec_str: Union[str, None] = None,
23
+ send_mail: bool = False,
24
+ program_buffer: int = 1024000,
25
+ ):
26
+ try:
27
+ widget = main_window.tab_widget.currentWidget()
28
+ if isinstance(widget, EditorWidget) and exec_str is None:
29
+ test_format_code = widget.code_edit.toPlainText()
30
+ else:
31
+ test_format_code = exec_str
32
+ start_process(main_window, package, test_format_code, send_mail, program_buffer)
33
+ except json.decoder.JSONDecodeError as error:
34
+ print(
35
+ repr(error) +
36
+ "\n"
37
+ + wrong_test_data_format_exception_tag,
38
+ file=sys.stderr
39
+ )
40
+ except ITETestExecutorException as error:
41
+ print(repr(error), file=sys.stderr)
42
+
43
+
44
+ def start_process(
45
+ main_window: AutomationEditor,
46
+ package: str,
47
+ test_format_code: str,
48
+ send_mail: bool = False,
49
+ program_buffer: int = 1024000
50
+ ):
51
+ # Code window init
52
+ code_window = CodeWindow()
53
+ main_window.current_run_code_window.append(code_window)
54
+ main_window.clear_code_result()
55
+ # Process init
56
+ if send_mail:
57
+ process = TaskProcessManager(
58
+ main_window=code_window,
59
+ program_buffer_size=program_buffer,
60
+ program_encoding=main_window.encoding
61
+ )
62
+ else:
63
+ process = TaskProcessManager(
64
+ code_window,
65
+ task_done_trigger_function=send_after_test,
66
+ program_buffer_size=program_buffer,
67
+ program_encoding=main_window.encoding
68
+ )
69
+ process.start_test_process(
70
+ package,
71
+ exec_str=test_format_code,
72
+ )