@@ -233,60 +233,100 @@ async def test_cfg_ex_get_typing_async(class_to_test):
233
233
assert r [1 ].value == "321"
234
234
235
235
236
- def test_appcfg_sensitive ( nc_app ):
237
- appcfg = nc_app . appconfig_ex
238
- appcfg .delete ("test_key" )
239
- appcfg .set_value ("test_key" , "123" , sensitive = True )
240
- assert appcfg .get_value ("test_key" ) == "123"
241
- assert appcfg .get_values (["test_key" ])[0 ].value == "123"
242
- appcfg .delete ("test_key" )
236
+ @ pytest . mark . parametrize ( "class_to_test" , ( NC_APP . appconfig_ex , NC_APP . preferences_ex ))
237
+ def test_appcfg_sensitive ( nc_app , class_to_test ):
238
+ class_to_test .delete ("test_key" )
239
+ class_to_test .set_value ("test_key" , "123" , sensitive = True )
240
+ assert class_to_test .get_value ("test_key" ) == "123"
241
+ assert class_to_test .get_values (["test_key" ])[0 ].value == "123"
242
+ class_to_test .delete ("test_key" )
243
243
# next code tests `sensitive` value from the `AppAPI`
244
244
params = {"configKey" : "test_key" , "configValue" : "123" }
245
- result = nc_app ._session .ocs ("POST" , f"{ nc_app ._session .ae_url } /{ appcfg ._url_suffix } " , json = params )
246
- assert not result ["sensitive" ] # by default if sensitive value is unspecified it is False
247
- appcfg .delete ("test_key" )
248
- params = {"configKey" : "test_key" , "configValue" : "123" , "sensitive" : True }
249
- result = nc_app ._session .ocs ("POST" , f"{ nc_app ._session .ae_url } /{ appcfg ._url_suffix } " , json = params )
245
+ result = nc_app ._session .ocs ("POST" , f"{ nc_app ._session .ae_url } /{ class_to_test ._url_suffix } " , json = params )
246
+ if class_to_test == NC_APP .appconfig_ex or nc_app .srv_version ["major" ] >= 32 :
247
+ assert not result ["sensitive" ] # by default if sensitive value is unspecified it is False
248
+ class_to_test .delete ("test_key" )
249
+ params ["sensitive" ] = True
250
+ result = nc_app ._session .ocs ("POST" , f"{ nc_app ._session .ae_url } /{ class_to_test ._url_suffix } " , json = params )
250
251
assert result ["configkey" ] == "test_key"
251
252
assert result ["configvalue" ] == "123"
252
- assert bool (result ["sensitive" ]) is True
253
+ if class_to_test == NC_APP .appconfig_ex or nc_app .srv_version ["major" ] >= 32 :
254
+ assert bool (result ["sensitive" ]) is True
253
255
params .pop ("sensitive" ) # if we not specify value, AppEcosystem should not change it.
254
- result = nc_app ._session .ocs ("POST" , f"{ nc_app ._session .ae_url } /{ appcfg ._url_suffix } " , json = params )
256
+ result = nc_app ._session .ocs ("POST" , f"{ nc_app ._session .ae_url } /{ class_to_test ._url_suffix } " , json = params )
255
257
assert result ["configkey" ] == "test_key"
256
258
assert result ["configvalue" ] == "123"
257
- assert bool (result ["sensitive" ]) is True
259
+ if class_to_test == NC_APP .appconfig_ex or nc_app .srv_version ["major" ] >= 32 :
260
+ assert bool (result ["sensitive" ]) is True
258
261
params ["sensitive" ] = False
259
- result = nc_app ._session .ocs ("POST" , f"{ nc_app ._session .ae_url } /{ appcfg ._url_suffix } " , json = params )
262
+ result = nc_app ._session .ocs ("POST" , f"{ nc_app ._session .ae_url } /{ class_to_test ._url_suffix } " , json = params )
260
263
assert result ["configkey" ] == "test_key"
261
264
assert result ["configvalue" ] == "123"
262
- assert bool (result ["sensitive" ]) is False
265
+ if class_to_test == NC_APP .appconfig_ex or nc_app .srv_version ["major" ] >= 32 :
266
+ assert bool (result ["sensitive" ]) is False
267
+ # test setting to empty value (sensitive=False)
268
+ params ["configValue" ] = ""
269
+ result = nc_app ._session .ocs ("POST" , f"{ nc_app ._session .ae_url } /{ class_to_test ._url_suffix } " , json = params )
270
+ assert result ["configkey" ] == "test_key"
271
+ assert result ["configvalue" ] == ""
272
+ if class_to_test == NC_APP .appconfig_ex or nc_app .srv_version ["major" ] >= 32 :
273
+ assert bool (result ["sensitive" ]) is False
274
+ assert class_to_test .get_value ("test_key" ) == ""
275
+ # test setting to empty value (sensitive=True)
276
+ params ["sensitive" ] = True
277
+ result = nc_app ._session .ocs ("POST" , f"{ nc_app ._session .ae_url } /{ class_to_test ._url_suffix } " , json = params )
278
+ assert result ["configkey" ] == "test_key"
279
+ assert result ["configvalue" ] == ""
280
+ if class_to_test == NC_APP .appconfig_ex or nc_app .srv_version ["major" ] >= 32 :
281
+ assert bool (result ["sensitive" ]) is True
282
+ assert class_to_test .get_value ("test_key" ) == ""
263
283
264
284
265
285
@pytest .mark .asyncio (scope = "session" )
266
- async def test_appcfg_sensitive_async ( anc_app ):
267
- appcfg = anc_app . appconfig_ex
268
- await appcfg .delete ("test_key" )
269
- await appcfg .set_value ("test_key" , "123" , sensitive = True )
270
- assert await appcfg .get_value ("test_key" ) == "123"
271
- assert (await appcfg .get_values (["test_key" ]))[0 ].value == "123"
272
- await appcfg .delete ("test_key" )
286
+ @ pytest . mark . parametrize ( "class_to_test" , ( NC_APP_ASYNC . appconfig_ex , NC_APP_ASYNC . preferences_ex ))
287
+ async def test_appcfg_sensitive_async ( anc_app , class_to_test ):
288
+ await class_to_test .delete ("test_key" )
289
+ await class_to_test .set_value ("test_key" , "123" , sensitive = True )
290
+ assert await class_to_test .get_value ("test_key" ) == "123"
291
+ assert (await class_to_test .get_values (["test_key" ]))[0 ].value == "123"
292
+ await class_to_test .delete ("test_key" )
273
293
# next code tests `sensitive` value from the `AppAPI`
274
294
params = {"configKey" : "test_key" , "configValue" : "123" }
275
- result = await anc_app ._session .ocs ("POST" , f"{ anc_app ._session .ae_url } /{ appcfg ._url_suffix } " , json = params )
276
- assert not result ["sensitive" ] # by default if sensitive value is unspecified it is False
277
- await appcfg .delete ("test_key" )
278
- params = {"configKey" : "test_key" , "configValue" : "123" , "sensitive" : True }
279
- result = await anc_app ._session .ocs ("POST" , f"{ anc_app ._session .ae_url } /{ appcfg ._url_suffix } " , json = params )
295
+ result = await anc_app ._session .ocs ("POST" , f"{ anc_app ._session .ae_url } /{ class_to_test ._url_suffix } " , json = params )
296
+ if class_to_test == NC_APP_ASYNC .appconfig_ex or (await anc_app .srv_version )["major" ] >= 32 :
297
+ assert not result ["sensitive" ] # by default if sensitive value is unspecified it is False
298
+ await class_to_test .delete ("test_key" )
299
+ params ["sensitive" ] = True
300
+ result = await anc_app ._session .ocs ("POST" , f"{ anc_app ._session .ae_url } /{ class_to_test ._url_suffix } " , json = params )
280
301
assert result ["configkey" ] == "test_key"
281
302
assert result ["configvalue" ] == "123"
282
- assert bool (result ["sensitive" ]) is True
303
+ if class_to_test == NC_APP_ASYNC .appconfig_ex or (await anc_app .srv_version )["major" ] >= 32 :
304
+ assert bool (result ["sensitive" ]) is True
283
305
params .pop ("sensitive" ) # if we not specify value, AppEcosystem should not change it.
284
- result = await anc_app ._session .ocs ("POST" , f"{ anc_app ._session .ae_url } /{ appcfg ._url_suffix } " , json = params )
306
+ result = await anc_app ._session .ocs ("POST" , f"{ anc_app ._session .ae_url } /{ class_to_test ._url_suffix } " , json = params )
285
307
assert result ["configkey" ] == "test_key"
286
308
assert result ["configvalue" ] == "123"
287
- assert bool (result ["sensitive" ]) is True
309
+ if class_to_test == NC_APP_ASYNC .appconfig_ex or (await anc_app .srv_version )["major" ] >= 32 :
310
+ assert bool (result ["sensitive" ]) is True
288
311
params ["sensitive" ] = False
289
- result = await anc_app ._session .ocs ("POST" , f"{ anc_app ._session .ae_url } /{ appcfg ._url_suffix } " , json = params )
312
+ result = await anc_app ._session .ocs ("POST" , f"{ anc_app ._session .ae_url } /{ class_to_test ._url_suffix } " , json = params )
290
313
assert result ["configkey" ] == "test_key"
291
314
assert result ["configvalue" ] == "123"
292
- assert bool (result ["sensitive" ]) is False
315
+ if class_to_test == NC_APP_ASYNC .appconfig_ex or (await anc_app .srv_version )["major" ] >= 32 :
316
+ assert bool (result ["sensitive" ]) is False
317
+ # test setting to empty value (sensitive=False)
318
+ params ["configValue" ] = ""
319
+ result = await anc_app ._session .ocs ("POST" , f"{ anc_app ._session .ae_url } /{ class_to_test ._url_suffix } " , json = params )
320
+ assert result ["configkey" ] == "test_key"
321
+ assert result ["configvalue" ] == ""
322
+ if class_to_test == NC_APP_ASYNC .appconfig_ex or (await anc_app .srv_version )["major" ] >= 32 :
323
+ assert bool (result ["sensitive" ]) is False
324
+ assert await class_to_test .get_value ("test_key" ) == ""
325
+ # test setting to empty value (sensitive=True)
326
+ params ["sensitive" ] = True
327
+ result = await anc_app ._session .ocs ("POST" , f"{ anc_app ._session .ae_url } /{ class_to_test ._url_suffix } " , json = params )
328
+ assert result ["configkey" ] == "test_key"
329
+ assert result ["configvalue" ] == ""
330
+ if class_to_test == NC_APP_ASYNC .appconfig_ex or (await anc_app .srv_version )["major" ] >= 32 :
331
+ assert bool (result ["sensitive" ]) is True
332
+ assert await class_to_test .get_value ("test_key" ) == ""
0 commit comments