feature: adds automatically clean temp file after tests

This commit is contained in:
ievgenii.v 2025-10-24 16:40:50 +03:00
parent cf9c896f51
commit 670b17d1e1

View file

@ -1,6 +1,7 @@
import csv import csv
import tempfile import tempfile
from datetime import datetime, timedelta from datetime import datetime, timedelta
from pathlib import Path
import pytest import pytest
@ -72,21 +73,22 @@ class TestFilterInactiveUsers(object):
prev_inactive_user.last_activity = activity_long_ago prev_inactive_user.last_activity = activity_long_ago
user_id = prev_inactive_user.user_id user_id = prev_inactive_user.user_id
with tempfile.NamedTemporaryFile(mode="w", newline="", encoding="utf-8", delete=False) as tmp: with tempfile.TemporaryDirectory() as td:
path = tmp.name path = Path(td) / "data.csv"
w = csv.writer(tmp) with path.open("w", newline="", encoding="utf-8") as f:
w.writerow(["user_id"]) w = csv.writer(f)
w.writerows([[user_id]]) w.writerow(["user_id"])
w.writerows([[user_id]])
# reactivate user # reactivate user
inactive_user = User.get(user_id=user_id) inactive_user = User.get(user_id=user_id)
inactive_user.last_activity = datetime.now() inactive_user.last_activity = datetime.now()
inactive_users, reactivated_users = filter_reactivated_users(path) inactive_users, reactivated_users = filter_reactivated_users(str(path))
assert len(reactivated_users) == 1 assert len(reactivated_users) == 1
assert len(inactive_users) == 0 assert len(inactive_users) == 0
assert reactivated_users[0].user_id == user_id assert reactivated_users[0].user_id == user_id
def test_diff__previously_inactive_user_remain_inactive(self, user_util): def test_diff__previously_inactive_user_remain_inactive(self, user_util):
prev_inactive_user = user_util.create_user(username="user_to_be_removed") prev_inactive_user = user_util.create_user(username="user_to_be_removed")
@ -94,14 +96,15 @@ class TestFilterInactiveUsers(object):
prev_inactive_user.last_activity = activity_long_ago prev_inactive_user.last_activity = activity_long_ago
user_id = prev_inactive_user.user_id user_id = prev_inactive_user.user_id
with tempfile.NamedTemporaryFile(mode="w", newline="", encoding="utf-8", delete=False) as tmp: with tempfile.TemporaryDirectory() as td:
path = tmp.name path = Path(td) / "data.csv"
w = csv.writer(tmp) with path.open("w", newline="", encoding="utf-8") as f:
w.writerow(["user_id"]) w = csv.writer(f)
w.writerows([[user_id]]) w.writerow(["user_id"])
w.writerows([[user_id]])
inactive_users, reactivated_users = filter_reactivated_users(path) inactive_users, reactivated_users = filter_reactivated_users(str(path))
assert len(reactivated_users) == 0 assert len(reactivated_users) == 0
assert len(inactive_users) == 1 assert len(inactive_users) == 1
assert inactive_users[0].user_id == user_id assert inactive_users[0].user_id == user_id