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

Method test_delex_ifdeq_and_ifdne

tests/test_commands.py:1919–1940  ·  view source on GitHub ↗
(self, r, val)

Source from the content-addressed store, hash-verified

1917 @skip_if_server_version_lt("8.3.224")
1918 @pytest.mark.parametrize("val", [b"", b"abc", b"The quick brown fox"])
1919 def test_delex_ifdeq_and_ifdne(self, r, val):
1920 r.set("h", val)
1921 d = self._server_xxh3_digest(r, "h")
1922 assert d is not None
1923
1924 # IFDEQ should delete with exact digest
1925 r.set("h", val)
1926 assert r.delex("h", ifdeq=d) == 1
1927 assert r.exists("h") == 0
1928
1929 # IFDNE should NOT delete when digest matches
1930 r.set("h", val)
1931 assert r.delex("h", ifdne=d) == 0
1932 assert r.get("h") == val
1933
1934 # IFDNE should delete when digest doesn't match
1935 r.set("h", val)
1936 wrong = "0" * len(d)
1937 if wrong == d:
1938 wrong = "f" * len(d)
1939 assert r.delex("h", ifdne=wrong) == 1
1940 assert r.exists("h") == 0
1941
1942 @skip_if_server_version_lt("8.3.224")
1943 def test_delex_pipeline(self, r):

Callers

nothing calls this directly

Calls 5

_server_xxh3_digestMethod · 0.95
delexMethod · 0.80
setMethod · 0.45
existsMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected