Skip to content

Commit b9ad876

Browse files
committed
Update dev version
* Add unit tests * Refactor * Add tab on bottom panel * Add runs panel on top
1 parent 6800e53 commit b9ad876

49 files changed

Lines changed: 1045 additions & 1115 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/dev.yml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
name: PyBreeze Dev
2+
3+
on:
4+
push:
5+
branches: [ "dev" ]
6+
pull_request:
7+
branches: [ "dev" ]
8+
schedule:
9+
- cron: "0 2 * * *"
10+
11+
permissions:
12+
contents: read
13+
14+
jobs:
15+
unit-tests:
16+
runs-on: windows-latest
17+
strategy:
18+
fail-fast: false
19+
matrix:
20+
python-version: ["3.10", "3.11", "3.12"]
21+
22+
steps:
23+
- uses: actions/checkout@v4
24+
- name: Set up Python ${{ matrix.python-version }}
25+
uses: actions/setup-python@v5
26+
with:
27+
python-version: ${{ matrix.python-version }}
28+
- name: Update pip wheel setuptools
29+
run: python -m pip install --upgrade pip setuptools wheel
30+
- name: Install dev dependencies
31+
run: python -m pip install -r dev_requirements.txt
32+
- name: Install pytest
33+
run: python -m pip install pytest
34+
- name: Run unit tests (pytest)
35+
run: python -m pytest test/test_utils/ -v --tb=short
36+
- name: Run AutomationEditor With Debug Mode
37+
run: python ./test/unit_test/start_automation/start_automation_test.py
38+
- name: Extend AutomationEditor
39+
run: python ./test/unit_test/start_automation/extend_automation_test.py

.github/workflows/dev_python3_10.yml

Lines changed: 0 additions & 32 deletions
This file was deleted.

.github/workflows/dev_python3_11.yml

Lines changed: 0 additions & 32 deletions
This file was deleted.

.github/workflows/dev_python3_12.yml

Lines changed: 0 additions & 32 deletions
This file was deleted.

.github/workflows/stable.yml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
name: PyBreeze Stable
2+
3+
on:
4+
push:
5+
branches: [ "main" ]
6+
pull_request:
7+
branches: [ "main" ]
8+
schedule:
9+
- cron: "0 2 * * *"
10+
11+
permissions:
12+
contents: read
13+
14+
jobs:
15+
unit-tests:
16+
runs-on: windows-latest
17+
strategy:
18+
fail-fast: false
19+
matrix:
20+
python-version: ["3.10", "3.11", "3.12"]
21+
22+
steps:
23+
- uses: actions/checkout@v4
24+
- name: Set up Python ${{ matrix.python-version }}
25+
uses: actions/setup-python@v5
26+
with:
27+
python-version: ${{ matrix.python-version }}
28+
- name: Update pip wheel setuptools
29+
run: python -m pip install --upgrade pip setuptools wheel
30+
- name: Install dependencies
31+
run: python -m pip install -r requirements.txt
32+
- name: Install pytest
33+
run: python -m pip install pytest
34+
- name: Run unit tests (pytest)
35+
run: python -m pytest test/test_utils/ -v --tb=short
36+
- name: Run AutomationEditor With Debug Mode
37+
run: python ./test/unit_test/start_automation/start_automation_test.py
38+
- name: Extend AutomationEditor
39+
run: python ./test/unit_test/start_automation/extend_automation_test.py

.github/workflows/stable_python3_10.yml

Lines changed: 0 additions & 32 deletions
This file was deleted.

.github/workflows/stable_python3_11.yml

Lines changed: 0 additions & 32 deletions
This file was deleted.

.github/workflows/stable_python3_12.yml

Lines changed: 0 additions & 32 deletions
This file was deleted.
Lines changed: 26 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,40 @@
11
from __future__ import annotations
22

3-
import sys
3+
import os
44
from email.mime.multipart import MIMEMultipart
55

66
from pybreeze.utils.exception.exception_tags import send_html_exception_tag
77
from pybreeze.utils.exception.exceptions import ITESendHtmlReportException
8+
from pybreeze.utils.logging.logger import pybreeze_logger
89

910

1011
def send_after_test(html_report_path: str | None = None) -> None:
1112
try:
1213
from je_mail_thunder import SMTPWrapper
1314
mail_thunder_smtp: SMTPWrapper = SMTPWrapper()
14-
if html_report_path is None and mail_thunder_smtp.login_state:
15-
user: str = mail_thunder_smtp.user
16-
with open("default_name.html") as file:
17-
html_string: str = file.read()
18-
message = mail_thunder_smtp.create_message_with_attach(
19-
html_string,
20-
{"Subject": "Test Report", "To": user, "From": user},
21-
"default_name.html", use_html=True)
22-
mail_thunder_smtp.send_message(message)
23-
mail_thunder_smtp.quit()
24-
elif mail_thunder_smtp.login_state:
25-
user: str = mail_thunder_smtp.user
26-
with open(html_report_path) as file:
27-
html_string: str = file.read()
28-
message: MIMEMultipart = mail_thunder_smtp.create_message_with_attach(
29-
html_string,
30-
{"Subject": "Test Report", "To": user, "From": user},
31-
html_report_path, use_html=True)
32-
mail_thunder_smtp.send_message(message)
33-
mail_thunder_smtp.quit()
34-
else:
15+
16+
if not mail_thunder_smtp.login_state:
3517
raise ITESendHtmlReportException
18+
19+
# Determine which report file to use
20+
report_path = html_report_path if html_report_path is not None else "default_name.html"
21+
22+
if not os.path.isfile(report_path):
23+
pybreeze_logger.error(f"Report file not found: {report_path}")
24+
return
25+
26+
user: str = mail_thunder_smtp.user
27+
with open(report_path, encoding="utf-8") as file:
28+
html_string: str = file.read()
29+
message: MIMEMultipart = mail_thunder_smtp.create_message_with_attach(
30+
html_string,
31+
{"Subject": "Test Report", "To": user, "From": user},
32+
report_path, use_html=True)
33+
mail_thunder_smtp.send_message(message)
34+
mail_thunder_smtp.quit()
3635
except ITESendHtmlReportException as error:
37-
print(repr(error), file=sys.stderr)
38-
print(send_html_exception_tag, file=sys.stderr)
36+
pybreeze_logger.error(f"{repr(error)} {send_html_exception_tag}")
37+
except FileNotFoundError as error:
38+
pybreeze_logger.error(f"Report file not found: {error}")
39+
except Exception as error:
40+
pybreeze_logger.error(f"Failed to send report: {error}")

pybreeze/extend/process_executor/api_testka/api_testka_process.py

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66

77
if TYPE_CHECKING:
88
from pybreeze.pybreeze_ui.editor_main.main_ui import PyBreezeMainWindow
9-
import sys
109

1110
from pybreeze.utils.file_process.get_dir_file_list import ask_and_get_dir_files_as_list
11+
from pybreeze.utils.logging.logger import pybreeze_logger
1212

1313

1414
def call_api_testka(
@@ -32,35 +32,32 @@ def call_api_testka_multi_file(
3232
program_buffer: int = 1024000
3333
):
3434
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:
35+
need_to_execute_list = ask_and_get_dir_files_as_list(main_window)
36+
if need_to_execute_list is not None and len(need_to_execute_list) > 0:
3837
for execute_file in need_to_execute_list:
39-
with open(execute_file) as test_script_json:
38+
with open(execute_file, encoding="utf-8") as test_script_json:
4039
call_api_testka(
4140
main_window,
4241
test_script_json.read(),
4342
program_buffer
4443
)
4544
except Exception as error:
46-
print(repr(error), file=sys.stderr)
45+
pybreeze_logger.error(f"api_testka multi file error: {error}")
4746

4847

4948
def call_api_testka_multi_file_and_send(
5049
main_window: PyBreezeMainWindow,
5150
program_buffer: int = 1024000
5251
):
5352
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:
53+
need_to_execute_list = ask_and_get_dir_files_as_list(main_window)
54+
if need_to_execute_list is not None and len(need_to_execute_list) > 0:
5855
for execute_file in need_to_execute_list:
59-
with open(execute_file) as test_script_json:
56+
with open(execute_file, encoding="utf-8") as test_script_json:
6057
call_api_testka_with_send(
6158
main_window,
6259
test_script_json.read(),
6360
program_buffer
6461
)
6562
except Exception as error:
66-
print(repr(error), file=sys.stderr)
63+
pybreeze_logger.error(f"api_testka multi file and send error: {error}")

0 commit comments

Comments
 (0)