Skip to content

Commit b003437

Browse files
remove global
1 parent 99d0d05 commit b003437

File tree

3 files changed

+19
-25
lines changed

3 files changed

+19
-25
lines changed

pins/tests/conftest.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
RscBoardBuilder,
1414
Snapshot,
1515
rm_env,
16-
set_rsc_api_keys,
1716
)
1817

1918
EXAMPLE_REL_PATH = "pins/tests/pins-compat"
@@ -34,14 +33,17 @@
3433
]
3534

3635
# rsc should only be used once, because users are created at docker setup time
37-
param_rsc = pytest.param(lambda: RscBoardBuilder("rsc"), id="rsc", marks=m.fs_rsc)
36+
param_rsc = pytest.param(lambda api_keys: RscBoardBuilder("rsc", api_keys=api_keys), id="rsc", marks=m.fs_rsc)
3837

3938
params_backend = [*params_safe, param_rsc]
4039

4140

4241
@pytest.fixture(params=params_backend, scope="session")
43-
def backend(request):
44-
backend = request.param()
42+
def backend(request, rsc_api_keys):
43+
if request.param.__name__ == "<lambda>" and "rsc" in request.node.name:
44+
backend = request.param(rsc_api_keys)
45+
else:
46+
backend = request.param()
4547
yield backend
4648
backend.teardown()
4749

@@ -117,7 +119,6 @@ def rsc_api_keys(request):
117119
user["username"], user["password"]
118120
).create_api_key()
119121

120-
set_rsc_api_keys(api_keys)
121122
return api_keys
122123

123124

pins/tests/helpers.py

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
DEFAULT_CREATION_DATE = datetime(2020, 1, 13, 23, 58, 59)
2020

2121
RSC_SERVER_URL = os.getenv("CONNECT_SERVER")
22-
_RSC_API_KEYS = None
2322

2423
DATABRICKS_VOLUME = "/Volumes/workshops/my-board/my-volume/test"
2524

@@ -75,24 +74,17 @@ def wrapper(*args, **kwargs):
7574
return wrapper
7675

7776

78-
def set_rsc_api_keys(keys):
79-
global _RSC_API_KEYS
80-
_RSC_API_KEYS = keys
81-
82-
83-
def rsc_from_key(name):
77+
def rsc_from_key(name, api_keys):
8478
from pins.rsconnect.api import RsConnectApi
8579

86-
if _RSC_API_KEYS is None:
87-
raise RuntimeError("RSC API keys not initialized. This should be set by the pytest fixture.")
88-
api_key = _RSC_API_KEYS[name]
80+
api_key = api_keys[name]
8981
return RsConnectApi(RSC_SERVER_URL, api_key)
9082

9183

92-
def rsc_fs_from_key(name):
84+
def rsc_fs_from_key(name, api_keys):
9385
from pins.rsconnect.fs import RsConnectFs
9486

95-
rsc = rsc_from_key(name)
87+
rsc = rsc_from_key(name, api_keys)
9688

9789
return RsConnectFs(rsc)
9890

@@ -211,14 +203,15 @@ class RscBoardBuilder(BoardBuilder):
211203

212204
# TODO: could loop back once initializing all boards is clear
213205

214-
def __init__(self, fs_name, path=None, *args, **kwargs):
206+
def __init__(self, fs_name, path=None, api_keys=None, *args, **kwargs):
215207
self.fs_name = fs_name
216208
self.path = None
209+
self.api_keys = api_keys
217210

218211
def create_tmp_board(self, src_board=None, versioned=True):
219212
from pins.rsconnect.fs import PinBundleManifest # noqa
220213

221-
board = BoardRsConnect("", rsc_fs_from_key("derek"), versioned=versioned)
214+
board = BoardRsConnect("", rsc_fs_from_key("derek", self.api_keys), versioned=versioned)
222215
if src_board is None:
223216
return board
224217

pins/tests/test_rsconnect_api.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@
2525

2626

2727
@pytest.fixture(scope="session")
28-
def rsc_admin():
29-
rsc_admin = rsc_from_key("admin")
28+
def rsc_admin(rsc_api_keys):
29+
rsc_admin = rsc_from_key("admin", rsc_api_keys)
3030

3131
yield rsc_admin
3232

@@ -38,9 +38,9 @@ def rsc_admin():
3838

3939

4040
@pytest.fixture(scope="function")
41-
def rsc_short():
41+
def rsc_short(rsc_api_keys):
4242
# tears down content after each test
43-
rsc_susan = rsc_from_key("susan")
43+
rsc_susan = rsc_from_key("susan", rsc_api_keys)
4444

4545
# delete any content that might already exist
4646
rsc_delete_user_content(rsc_susan)
@@ -51,8 +51,8 @@ def rsc_short():
5151

5252

5353
@pytest.fixture
54-
def fs_admin():
55-
return RsConnectFs(rsc_from_key("admin"))
54+
def fs_admin(rsc_api_keys):
55+
return RsConnectFs(rsc_from_key("admin", rsc_api_keys))
5656

5757

5858
@pytest.fixture

0 commit comments

Comments
 (0)