removed single use functions

This commit is contained in:
John Lancaster
2024-08-14 00:38:33 -05:00
parent 81da8be655
commit 6e793baed8
2 changed files with 23 additions and 26 deletions

View File

@@ -3,41 +3,29 @@ import logging
import re import re
from pathlib import Path from pathlib import Path
# import child
import food.menu import food.menu
import pytest import pytest
from appdaemon.appdaemon import AppDaemon from appdaemon.appdaemon import AppDaemon
from git import Repo from git import Repo
from .utils import count_error_lines, get_app_orders, get_load_order, get_loaded_apps from .utils import (
count_error_lines,
get_app_orders,
get_load_order,
get_loaded_apps,
reset_file,
)
INDENT = ' ' * 4 INDENT = ' ' * 4
def reset_file(repo: Repo, changed: Path): def test_file(ad: AppDaemon, caplog: pytest.LogCaptureFixture, config_repo: Repo):
if not changed.is_absolute(): module_file = Path(food.menu.__file__)
changed = Path(repo.working_tree_dir) / changed
repo.git.checkout('HEAD', '--', changed)
file_content = module_file.read_text()
def modify_file(path: Path):
file_content = path.read_text()
modified_content = re.sub(r'Ham', r'Spam', file_content, flags=re.MULTILINE) modified_content = re.sub(r'Ham', r'Spam', file_content, flags=re.MULTILINE)
modified_content = re.sub(r'ham', r'spam', modified_content, flags=re.MULTILINE) modified_content = re.sub(r'ham', r'spam', modified_content, flags=re.MULTILINE)
path.write_text(modified_content) module_file.write_text(modified_content)
def insert_import_error(path: Path):
file_content = path.read_text().splitlines()
file_content.insert(0, 'raise ImportError')
path.write_text('\n'.join(file_content))
def test_file(ad: AppDaemon, caplog: pytest.LogCaptureFixture, config_repo: Repo):
assert isinstance(ad, AppDaemon)
module_file = Path(food.menu.__file__)
modify_file(module_file)
try: try:
with caplog.at_level(logging.DEBUG, logger='AppDaemon._app_management'): with caplog.at_level(logging.DEBUG, logger='AppDaemon._app_management'):
@@ -53,10 +41,11 @@ def test_file(ad: AppDaemon, caplog: pytest.LogCaptureFixture, config_repo: Repo
def test_file_with_error(ad: AppDaemon, caplog: pytest.LogCaptureFixture, config_repo: Repo): def test_file_with_error(ad: AppDaemon, caplog: pytest.LogCaptureFixture, config_repo: Repo):
assert isinstance(ad, AppDaemon)
module_file = Path(food.menu.__file__) module_file = Path(food.menu.__file__)
insert_import_error(module_file)
file_content = module_file.read_text().splitlines()
file_content.insert(0, 'raise ImportError')
module_file.write_text('\n'.join(file_content))
try: try:
with caplog.at_level(logging.DEBUG): with caplog.at_level(logging.DEBUG):

View File

@@ -1,9 +1,11 @@
import asyncio import asyncio
import re import re
from pathlib import Path
from typing import List from typing import List
import pytest import pytest
from appdaemon.appdaemon import AppDaemon from appdaemon.appdaemon import AppDaemon
from git import Repo
async def delayed_stop(ad: AppDaemon, delay: float): async def delayed_stop(ad: AppDaemon, delay: float):
@@ -39,3 +41,9 @@ def get_loaded_apps(caplog: pytest.LogCaptureFixture):
def count_error_lines(caplog: pytest.LogCaptureFixture) -> int: def count_error_lines(caplog: pytest.LogCaptureFixture) -> int:
error_log_lines = [msg for name, lvl, msg in caplog.record_tuples if name.startswith('Error')] error_log_lines = [msg for name, lvl, msg in caplog.record_tuples if name.startswith('Error')]
return len(error_log_lines) return len(error_log_lines)
def reset_file(repo: Repo, changed: Path):
if not changed.is_absolute():
changed = Path(repo.working_tree_dir) / changed
repo.git.checkout('HEAD', '--', changed)