Skip to content

Commit 3de0bf9

Browse files
committed
tests: add test for find_or_create_user_id
1 parent 16571f5 commit 3de0bf9

File tree

2 files changed

+49
-5
lines changed

2 files changed

+49
-5
lines changed

tests/test_iterative_telemetry.py

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

tests/test_user_id.py

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
"""Tests for user_id lookup/generation"""
2+
import os
3+
4+
import pytest
5+
6+
from iterative_telemetry import find_or_create_user_id
7+
8+
9+
@pytest.fixture(name="tmp_user_config_dir")
10+
def fixture_tmp_user_config_dir(mocker, tmp_path):
11+
def _user_config_dir(appname, *_args, **_kwargs):
12+
return str(tmp_path / appname)
13+
14+
mocker.patch("iterative_telemetry.user_config_dir", _user_config_dir)
15+
16+
return _user_config_dir
17+
18+
19+
def test_find_or_create_user_id(
20+
tmp_user_config_dir,
21+
): # pylint: disable=unused-argument
22+
created = find_or_create_user_id()
23+
24+
find_or_create_user_id.cache_clear()
25+
found = find_or_create_user_id()
26+
27+
assert created == found
28+
29+
30+
def test_legacy_find_or_create_user_id(tmp_user_config_dir):
31+
old_config_dir = tmp_user_config_dir("dvc", "iterative")
32+
old_config_file = os.path.join(old_config_dir, "user_id")
33+
34+
find_or_create_user_id.cache_clear()
35+
36+
os.makedirs(old_config_dir, exist_ok=True)
37+
with open(old_config_file, "w", encoding="utf-8") as fobj:
38+
fobj.write('{"user_id": "1234"}')
39+
40+
find_or_create_user_id.cache_clear()
41+
assert find_or_create_user_id() == "1234"
42+
43+
os.unlink(old_config_file)
44+
try:
45+
os.unlink(old_config_file + ".lock")
46+
except FileNotFoundError:
47+
pass
48+
os.rmdir(old_config_dir)
49+
assert find_or_create_user_id() == "1234"

0 commit comments

Comments
 (0)