Skip to content

Commit febd04c

Browse files
committed
addressed comments
1 parent edbcd6d commit febd04c

2 files changed

Lines changed: 24 additions & 13 deletions

File tree

tests/integ/conftest.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,8 @@ def set_up_external_access_integration_resources(
161161
).collect()
162162
session.sql(
163163
f"""
164-
CREATE IF NOT EXISTS EXTERNAL ACCESS INTEGRATION {integration4}
164+
CREATE EXTERNAL ACCESS INTEGRATION IF NOT EXISTS {integration4}
165+
ALLOWED_NETWORK_RULES = ({rule1})
165166
ALLOWED_AUTHENTICATION_SECRETS = ({key4})
166167
ENABLED = true;
167168
"""

tests/integ/test_secrets.py

Lines changed: 22 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -158,22 +158,28 @@ def get_secret():
158158
reason="Secret API is only supported on Snowflake server environment",
159159
)
160160
def test_get_wif_token_udf(session, db_parameters):
161-
def get_wif():
162-
token = get_wif_token("cred", db_parameters["wif_audience"])
163-
return len(token) > 0
164-
165161
try:
162+
wif_audience = db_parameters["wif_audience"]
163+
164+
def get_wif():
165+
return get_wif_token("cred", wif_audience)
166+
166167
get_wif_udf = session.udf.register(
167168
get_wif,
168-
return_type=BooleanType(),
169+
return_type=StringType(),
169170
packages=["snowflake-snowpark-python"],
170171
external_access_integrations=[
171172
db_parameters["external_access_integration4"]
172173
],
173174
secrets={"cred": f"{db_parameters['external_access_key4']}"},
174175
)
175176
df = session.create_dataframe([[1], [2]]).to_df("x")
176-
Utils.check_answer(df.select(get_wif_udf()), [Row(True), Row(True)])
177+
rows = df.select(get_wif_udf()).collect()
178+
for row in rows:
179+
token = row[0]
180+
assert (
181+
isinstance(token, str) and len(token.split(".")) == 3
182+
), f"expected JWT-shaped token (header.payload.signature), got {token!r}"
177183
except KeyError:
178184
pytest.skip("External Access Integration is not supported on the deployment.")
179185

@@ -183,22 +189,26 @@ def get_wif():
183189
reason="Secret API is only supported on Snowflake server environment",
184190
)
185191
def test_get_wif_token_sproc(session, db_parameters):
186-
def get_wif_in_sproc(session_):
187-
token = get_wif_token("cred", db_parameters["wif_audience"])
188-
return len(token) > 0
189-
190192
try:
193+
wif_audience = db_parameters["wif_audience"]
194+
195+
def get_wif_in_sproc(session_):
196+
return get_wif_token("cred", wif_audience)
197+
191198
get_wif_sp = session.sproc.register(
192199
get_wif_in_sproc,
193-
return_type=BooleanType(),
200+
return_type=StringType(),
194201
packages=["snowflake-snowpark-python"],
195202
external_access_integrations=[
196203
db_parameters["external_access_integration4"]
197204
],
198205
secrets={"cred": f"{db_parameters['external_access_key4']}"},
199206
anonymous=True,
200207
)
201-
assert get_wif_sp()
208+
token = get_wif_sp()
209+
assert (
210+
isinstance(token, str) and len(token.split(".")) == 3
211+
), f"expected JWT-shaped token (header.payload.signature), got {token!r}"
202212
except KeyError:
203213
pytest.skip("External Access Integration is not supported on the deployment.")
204214

0 commit comments

Comments
 (0)