Skip to content

Commit 47db5e6

Browse files
committed
refactor!(test[random]) Move helpers to test.random
1 parent 8c8ae21 commit 47db5e6

File tree

7 files changed

+55
-34
lines changed

7 files changed

+55
-34
lines changed

src/libtmux/pytest_plugin.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,9 @@
1313

1414
from libtmux import exc
1515
from libtmux.server import Server
16-
from libtmux.test import get_test_session_name, namer
16+
from libtmux.test import get_test_session_name
1717
from libtmux.test.constants import TEST_SESSION_PREFIX
18+
from libtmux.test.random import namer
1819

1920
if t.TYPE_CHECKING:
2021
import pathlib

src/libtmux/test/__init__.py

Lines changed: 1 addition & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
)
1818

1919
from ..exc import WaitTimeout
20+
from .random import namer
2021

2122
logger = logging.getLogger(__name__)
2223

@@ -35,35 +36,6 @@
3536
from typing_extensions import Self
3637

3738

38-
class RandomStrSequence:
39-
"""Factory to generate random string."""
40-
41-
def __init__(
42-
self,
43-
characters: str = "abcdefghijklmnopqrstuvwxyz0123456789_",
44-
) -> None:
45-
"""Create a random letter / number generator. 8 chars in length.
46-
47-
>>> rng = RandomStrSequence()
48-
>>> next(rng)
49-
'...'
50-
>>> len(next(rng))
51-
8
52-
>>> type(next(rng))
53-
<class 'str'>
54-
"""
55-
self.characters: str = characters
56-
57-
def __iter__(self) -> RandomStrSequence:
58-
"""Return self."""
59-
return self
60-
61-
def __next__(self) -> str:
62-
"""Return next random string."""
63-
return "".join(random.sample(self.characters, k=8))
64-
65-
66-
namer = RandomStrSequence()
6739
current_dir = pathlib.Path(__file__)
6840
example_dir = current_dir.parent / "examples"
6941
fixtures_dir = current_dir / "fixtures"

src/libtmux/test/random.py

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
"""Random helpers for libtmux and downstream libtmux libraries."""
2+
3+
from __future__ import annotations
4+
5+
import logging
6+
import random
7+
import typing as t
8+
9+
logger = logging.getLogger(__name__)
10+
11+
if t.TYPE_CHECKING:
12+
import sys
13+
14+
if sys.version_info >= (3, 11):
15+
pass
16+
else:
17+
pass
18+
19+
20+
class RandomStrSequence:
21+
"""Factory to generate random string."""
22+
23+
def __init__(
24+
self,
25+
characters: str = "abcdefghijklmnopqrstuvwxyz0123456789_",
26+
) -> None:
27+
"""Create a random letter / number generator. 8 chars in length.
28+
29+
>>> rng = RandomStrSequence()
30+
>>> next(rng)
31+
'...'
32+
>>> len(next(rng))
33+
8
34+
>>> type(next(rng))
35+
<class 'str'>
36+
"""
37+
self.characters: str = characters
38+
39+
def __iter__(self) -> RandomStrSequence:
40+
"""Return self."""
41+
return self
42+
43+
def __next__(self) -> str:
44+
"""Return next random string."""
45+
return "".join(random.sample(self.characters, k=8))
46+
47+
48+
namer = RandomStrSequence()

tests/legacy_api/test_session.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212
from libtmux.common import has_gte_version, has_lt_version
1313
from libtmux.pane import Pane
1414
from libtmux.session import Session
15-
from libtmux.test import namer
1615
from libtmux.test.constants import TEST_SESSION_PREFIX
16+
from libtmux.test.random import namer
1717
from libtmux.window import Window
1818

1919
if t.TYPE_CHECKING:

tests/legacy_api/test_tmuxobject.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77

88
from libtmux.pane import Pane
99
from libtmux.session import Session
10-
from libtmux.test import namer
1110
from libtmux.test.constants import TEST_SESSION_PREFIX
11+
from libtmux.test.random import namer
1212
from libtmux.window import Window
1313

1414
if t.TYPE_CHECKING:

tests/test_session.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@
1313
from libtmux.constants import WindowDirection
1414
from libtmux.pane import Pane
1515
from libtmux.session import Session
16-
from libtmux.test import namer
1716
from libtmux.test.constants import TEST_SESSION_PREFIX
17+
from libtmux.test.random import namer
1818
from libtmux.window import Window
1919

2020
if t.TYPE_CHECKING:

tests/test_tmuxobject.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77

88
from libtmux.pane import Pane
99
from libtmux.session import Session
10-
from libtmux.test import namer
1110
from libtmux.test.constants import TEST_SESSION_PREFIX
11+
from libtmux.test.random import namer
1212
from libtmux.window import Window
1313

1414
if t.TYPE_CHECKING:

0 commit comments

Comments
 (0)