MCPcopy
hub / github.com/redis/redis-py / test_acl_getuser_setuser

Method test_acl_getuser_setuser

tests/test_commands.py:284–414  ·  view source on GitHub ↗
(self, r, request)

Source from the content-addressed store, hash-verified

282 @skip_if_server_version_lt("7.0.0")
283 @skip_if_redis_enterprise()
284 def test_acl_getuser_setuser(self, r, request):
285 r.flushall()
286 username = "redis-py-user"
287
288 def teardown():
289 r.acl_deluser(username)
290
291 request.addfinalizer(teardown)
292
293 # test enabled=False
294 assert r.acl_setuser(username, enabled=False, reset=True)
295 acl = r.acl_getuser(username)
296 assert acl["categories"] == ["-@all"]
297 assert acl["commands"] == []
298 assert acl["keys"] == []
299 assert acl["passwords"] == []
300 assert "off" in acl["flags"]
301 assert acl["enabled"] is False
302
303 # test nopass=True
304 assert r.acl_setuser(username, enabled=True, reset=True, nopass=True)
305 acl = r.acl_getuser(username)
306 assert acl["categories"] == ["-@all"]
307 assert acl["commands"] == []
308 assert acl["keys"] == []
309 assert acl["passwords"] == []
310 assert "on" in acl["flags"]
311 assert "nopass" in acl["flags"]
312 assert acl["enabled"] is True
313
314 # test all args
315 assert r.acl_setuser(
316 username,
317 enabled=True,
318 reset=True,
319 passwords=["+pass1", "+pass2"],
320 categories=["+set", "+@hash", "-@geo"],
321 commands=["+get", "+mget", "-hset"],
322 keys=["cache:*", "objects:*"],
323 )
324 acl = r.acl_getuser(username)
325 assert set(acl["categories"]) == {"+@hash", "+@set", "-@all", "-@geo"}
326 assert set(acl["commands"]) == {"+get", "+mget", "-hset"}
327 assert acl["enabled"] is True
328 assert "on" in acl["flags"]
329 assert set(acl["keys"]) == {"~cache:*", "~objects:*"}
330 assert len(acl["passwords"]) == 2
331
332 # # test reset=False keeps existing ACL and applies new ACL on top
333 assert r.acl_setuser(
334 username,
335 enabled=True,
336 reset=True,
337 passwords=["+pass1"],
338 categories=["+@set"],
339 commands=["+get"],
340 keys=["cache:*"],
341 )

Callers

nothing calls this directly

Calls 4

assert_resp_responseFunction · 0.85
flushallMethod · 0.80
acl_setuserMethod · 0.80
acl_getuserMethod · 0.80

Tested by

no test coverage detected