Skip to content

Commit 8cc3d4e

Browse files
fix dict update in update_state_table
1 parent cc0a503 commit 8cc3d4e

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

src/sasctl/_services/cas_management.py

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -205,10 +205,11 @@ def update_state_table(cls, value: str, name: str, caslib:str=None, server:str=N
205205
server : str, optional
206206
Server where the `caslib` is registered.
207207
qparams: dict, optional
208-
Query parameters such as `sessionId`,`scope`,`sourceTableName`, `createRelationships`.
208+
Additional query parameters.
209+
Valid keys are `sessionId`, `scope`, `sourceTableName`, `createRelationships`
209210
body : dict, optional
210211
Extra instructions providing greater control over the output when a state change to loaded is requested.
211-
Valid key-value pairs are `copies`, `label`, `outputCaslibName`, `outputTableName`, `parameters`,
212+
Valid keys are `copies`, `label`, `outputCaslibName`, `outputTableName`, `parameters`,
212213
`replace`, `replaceMode`, `scope`.
213214
214215
Returns
@@ -226,13 +227,18 @@ def update_state_table(cls, value: str, name: str, caslib:str=None, server:str=N
226227
raise ValueError("The state can only have values of `loaded` or `unloaded`.")
227228

228229
if qparams is not None:
229-
dict.update(qparams,query)
230+
allowedQueryKeys = ["sessionId", "scope", "sourceTableName", "createRelationships"]
230231

231-
allowedKeys = ["copies", "label", "outputCaslibName", "outputTableName", "parameters",
232+
if not all(key in allowedQueryKeys for key in qparams.keys()) :
233+
raise ValueError("The only query parameters allowed are %s." % (allowedQueryKeys))
234+
else:
235+
query.update(qparams)
236+
237+
allowedBodyKeys = ["copies", "label", "outputCaslibName", "outputTableName", "parameters",
232238
"replace", "replaceMode","scope"]
233239

234-
if not all(key in allowedKeys for key in body.keys()) :
235-
raise ValueError("The body accepts only the following parameters %s." % (allowedKeys))
240+
if not all(key in allowedBodyKeys for key in body.keys()) :
241+
raise ValueError("The body accepts only the following parameters %s." % (allowedBodyKeys))
236242

237243

238244
tbl = cls.put(

0 commit comments

Comments
 (0)