Skip to content

Commit 0f65c8c

Browse files
committed
Add database connection test
1 parent 2da92f6 commit 0f65c8c

4 files changed

Lines changed: 18 additions & 3 deletions

File tree

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ jobs:
5252
.venv\Scripts\Activate.ps1
5353
python build.py --ci --no-deps --no-build --no-install
5454
55-
- name: Save
55+
- name: Save Failed Build
5656
if: failure() && steps.test.outcome == 'failure'
5757
uses: actions/upload-artifact@v4
5858
with:

conftest.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,8 @@ def pytest_collection_modifyitems(config, items):
1818
for item in items:
1919
if 'no_ci' in item.keywords:
2020
item.add_marker(skip_non_ci)
21+
else:
22+
skip_ci = pytest.mark.skip(reason='test only for CI')
23+
for item in items:
24+
if 'ci_only' in item.keywords:
25+
item.add_marker(skip_ci)

src/modules/db.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,9 @@ def create_connection():
1919
conn.row_factory = sqlite3.Row
2020
return conn
2121

22-
def __init__(self):
23-
pass
22+
def __init__(self, db_override=None):
23+
if db_override is not None:
24+
self.DATABASE_FILE = db_override
2425

2526
def __enter__(self):
2627
self.conn = self.create_connection()

src/test_harness.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
from PIL import Image
1212
import pytest
1313

14+
from modules.db import DatabaseConnection
1415
from b64_images import DEFAULT_ART
1516
from meta import COVER_MINI, COVER_NORMAL, VERSION
1617
from shared import get_running_processes, is_already_running
@@ -607,3 +608,11 @@ def test_get_latest_release(uploading_after, test_auto_update):
607608
assert compare_ver < version
608609
else:
609610
assert compare_ver <= version
611+
612+
@pytest.mark.ci_only
613+
def test_database():
614+
DatabaseConnection.DEFAULT_DATABASE_FILE.parent.mkdir(parents=True, exist_ok=True)
615+
with DatabaseConnection(DatabaseConnection.DEFAULT_DATABASE_FILE) as _:
616+
pass
617+
if DatabaseConnection.DEFAULT_DATABASE_FILE.exists():
618+
os.remove(DatabaseConnection.DEFAULT_DATABASE_FILE)

0 commit comments

Comments
 (0)