@@ -233,60 +233,88 @@ 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 )
245
+ result = nc_app ._session .ocs ("POST" , f"{ nc_app ._session .ae_url } /{ class_to_test ._url_suffix } " , json = params )
246
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 )
247
+ class_to_test .delete ("test_key" )
248
+ params [ " sensitive"] = True
249
+ result = nc_app ._session .ocs ("POST" , f"{ nc_app ._session .ae_url } /{ class_to_test ._url_suffix } " , json = params )
250
250
assert result ["configkey" ] == "test_key"
251
251
assert result ["configvalue" ] == "123"
252
252
assert bool (result ["sensitive" ]) is True
253
253
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 )
254
+ result = nc_app ._session .ocs ("POST" , f"{ nc_app ._session .ae_url } /{ class_to_test ._url_suffix } " , json = params )
255
255
assert result ["configkey" ] == "test_key"
256
256
assert result ["configvalue" ] == "123"
257
257
assert bool (result ["sensitive" ]) is True
258
258
params ["sensitive" ] = False
259
- result = nc_app ._session .ocs ("POST" , f"{ nc_app ._session .ae_url } /{ appcfg ._url_suffix } " , json = params )
259
+ result = nc_app ._session .ocs ("POST" , f"{ nc_app ._session .ae_url } /{ class_to_test ._url_suffix } " , json = params )
260
260
assert result ["configkey" ] == "test_key"
261
261
assert result ["configvalue" ] == "123"
262
262
assert bool (result ["sensitive" ]) is False
263
+ # test setting to empty value (sensitive=False)
264
+ params ["configValue" ] = ""
265
+ result = nc_app ._session .ocs ("POST" , f"{ nc_app ._session .ae_url } /{ class_to_test ._url_suffix } " , json = params )
266
+ assert result ["configkey" ] == "test_key"
267
+ assert result ["configvalue" ] == ""
268
+ assert bool (result ["sensitive" ]) is False
269
+ assert class_to_test .get_value ("test_key" ) == ""
270
+ # test setting to empty value (sensitive=True)
271
+ params ["sensitive" ] = True
272
+ result = nc_app ._session .ocs ("POST" , f"{ nc_app ._session .ae_url } /{ class_to_test ._url_suffix } " , json = params )
273
+ assert result ["configkey" ] == "test_key"
274
+ assert result ["configvalue" ] == ""
275
+ assert bool (result ["sensitive" ]) is True
276
+ assert class_to_test .get_value ("test_key" ) == ""
263
277
264
278
265
279
@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" )
280
+ @ pytest . mark . parametrize ( "class_to_test" , ( NC_APP_ASYNC . appconfig_ex , NC_APP_ASYNC . preferences_ex ))
281
+ async def test_appcfg_sensitive_async ( anc_app , class_to_test ):
282
+ await class_to_test .delete ("test_key" )
283
+ await class_to_test .set_value ("test_key" , "123" , sensitive = True )
284
+ assert await class_to_test .get_value ("test_key" ) == "123"
285
+ assert (await class_to_test .get_values (["test_key" ]))[0 ].value == "123"
286
+ await class_to_test .delete ("test_key" )
273
287
# next code tests `sensitive` value from the `AppAPI`
274
288
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 )
289
+ result = await anc_app ._session .ocs ("POST" , f"{ anc_app ._session .ae_url } /{ class_to_test ._url_suffix } " , json = params )
276
290
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 )
291
+ await class_to_test .delete ("test_key" )
292
+ params [ " sensitive"] = True
293
+ result = await anc_app ._session .ocs ("POST" , f"{ anc_app ._session .ae_url } /{ class_to_test ._url_suffix } " , json = params )
280
294
assert result ["configkey" ] == "test_key"
281
295
assert result ["configvalue" ] == "123"
282
296
assert bool (result ["sensitive" ]) is True
283
297
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 )
298
+ result = await anc_app ._session .ocs ("POST" , f"{ anc_app ._session .ae_url } /{ class_to_test ._url_suffix } " , json = params )
285
299
assert result ["configkey" ] == "test_key"
286
300
assert result ["configvalue" ] == "123"
287
301
assert bool (result ["sensitive" ]) is True
288
302
params ["sensitive" ] = False
289
- result = await anc_app ._session .ocs ("POST" , f"{ anc_app ._session .ae_url } /{ appcfg ._url_suffix } " , json = params )
303
+ result = await anc_app ._session .ocs ("POST" , f"{ anc_app ._session .ae_url } /{ class_to_test ._url_suffix } " , json = params )
290
304
assert result ["configkey" ] == "test_key"
291
305
assert result ["configvalue" ] == "123"
292
306
assert bool (result ["sensitive" ]) is False
307
+ # test setting to empty value (sensitive=False)
308
+ params ["configValue" ] = ""
309
+ result = await anc_app ._session .ocs ("POST" , f"{ anc_app ._session .ae_url } /{ class_to_test ._url_suffix } " , json = params )
310
+ assert result ["configkey" ] == "test_key"
311
+ assert result ["configvalue" ] == ""
312
+ assert bool (result ["sensitive" ]) is False
313
+ assert await class_to_test .get_value ("test_key" ) == ""
314
+ # test setting to empty value (sensitive=True)
315
+ params ["sensitive" ] = True
316
+ result = await anc_app ._session .ocs ("POST" , f"{ anc_app ._session .ae_url } /{ class_to_test ._url_suffix } " , json = params )
317
+ assert result ["configkey" ] == "test_key"
318
+ assert result ["configvalue" ] == ""
319
+ assert bool (result ["sensitive" ]) is True
320
+ assert await class_to_test .get_value ("test_key" ) == ""
0 commit comments