@@ -233,60 +233,100 @@ async def test_cfg_ex_get_typing_async(class_to_test):
233233 assert r [1 ].value == "321"
234234
235235
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" )
243243 # next code tests `sensitive` value from the `AppAPI`
244244 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 )
250251 assert result ["configkey" ] == "test_key"
251252 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
253255 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 )
255257 assert result ["configkey" ] == "test_key"
256258 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
258261 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 )
260263 assert result ["configkey" ] == "test_key"
261264 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" ) == ""
263283
264284
265285@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" )
273293 # next code tests `sensitive` value from the `AppAPI`
274294 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 )
280301 assert result ["configkey" ] == "test_key"
281302 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
283305 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 )
285307 assert result ["configkey" ] == "test_key"
286308 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
288311 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 )
290313 assert result ["configkey" ] == "test_key"
291314 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