Skip to content

Commit 393c108

Browse files
Run Gateway token renewers even if the auth token is empty. (#1340)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
1 parent 260e86a commit 393c108

File tree

2 files changed

+14
-3
lines changed

2 files changed

+14
-3
lines changed

jupyter_server/gateway/gateway_client.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -601,7 +601,7 @@ def load_connection_args(self, **kwargs):
601601

602602
# Give token renewal a shot at renewing the token
603603
prev_auth_token = self.auth_token
604-
if self.auth_token:
604+
if self.auth_token is not None:
605605
try:
606606
self.auth_token = self.gateway_token_renewer.get_token(
607607
self.auth_header_key, self.auth_scheme, self.auth_token

tests/test_gateway.py

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -303,13 +303,19 @@ def test_gateway_cli_options(jp_configurable_serverapp, capsys):
303303
GatewayClient.clear_instance()
304304

305305

306-
@pytest.mark.parametrize("renewer_type", ["default", "custom"])
307-
def test_token_renewer_config(jp_server_config, jp_configurable_serverapp, renewer_type):
306+
@pytest.mark.parametrize(
307+
"renewer_type,initial_auth_token", [("default", ""), ("custom", None), ("custom", "")]
308+
)
309+
def test_token_renewer_config(
310+
jp_server_config, jp_configurable_serverapp, renewer_type, initial_auth_token
311+
):
308312
argv = ["--gateway-url=" + mock_gateway_url]
309313
if renewer_type == "custom":
310314
argv.append(
311315
"--GatewayClient.gateway_token_renewer_class=tests.test_gateway.CustomTestTokenRenewer"
312316
)
317+
if initial_auth_token is None:
318+
argv.append("--GatewayClient.auth_token=None")
313319

314320
GatewayClient.clear_instance()
315321
app = jp_configurable_serverapp(argv=argv)
@@ -331,6 +337,11 @@ def test_token_renewer_config(jp_server_config, jp_configurable_serverapp, renew
331337
gw_client.auth_header_key, gw_client.auth_scheme, gw_client.auth_token or ""
332338
)
333339
assert token == CustomTestTokenRenewer.TEST_EXPECTED_TOKEN_VALUE
340+
gw_client.load_connection_args()
341+
if renewer_type == "default" or initial_auth_token is None:
342+
assert gw_client.auth_token == initial_auth_token
343+
else:
344+
assert gw_client.auth_token == CustomTestTokenRenewer.TEST_EXPECTED_TOKEN_VALUE
334345

335346

336347
@pytest.mark.parametrize(

0 commit comments

Comments
 (0)