Skip to content

Commit

Permalink
Intentional NotImplementedError for LATENCY commands that should not …
Browse files Browse the repository at this point in the history
…be in client (redis#2501)
  • Loading branch information
chayim authored Dec 12, 2022
1 parent 6219574 commit 3a121be
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 0 deletions.
28 changes: 28 additions & 0 deletions redis/commands/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -980,6 +980,34 @@ def lastsave(self, **kwargs) -> ResponseT:
"""
return self.execute_command("LASTSAVE", **kwargs)

def latency_doctor(self):
"""Raise a NotImplementedError, as the client will not support LATENCY DOCTOR.
This funcion is best used within the redis-cli.
For more information see https://redis.io/commands/latency-doctor
"""
raise NotImplementedError(
"""
LATENCY DOCTOR is intentionally not implemented in the client.
For more information see https://redis.io/commands/latency-doctor
"""
)

def latency_graph(self):
"""Raise a NotImplementedError, as the client will not support LATENCY GRAPH.
This funcion is best used within the redis-cli.
For more information see https://redis.io/commands/latency-graph.
"""
raise NotImplementedError(
"""
LATENCY GRAPH is intentionally not implemented in the client.
For more information see https://redis.io/commands/latency-graph
"""
)

def lolwut(self, *version_numbers: Union[str, float], **kwargs) -> ResponseT:
"""
Get the Redis version and a piece of generative computer art
Expand Down
10 changes: 10 additions & 0 deletions tests/test_commands.py
Original file line number Diff line number Diff line change
Expand Up @@ -4527,6 +4527,16 @@ def test_latency_histogram_not_implemented(self, r: redis.Redis):
with pytest.raises(NotImplementedError):
r.latency_histogram()

@skip_if_server_version_lt("7.0.0")
def test_latency_graph_not_implemented(self, r: redis.Redis):
with pytest.raises(NotImplementedError):
r.latency_graph()

@skip_if_server_version_lt("7.0.0")
def test_latency_doctor_not_implemented(self, r: redis.Redis):
with pytest.raises(NotImplementedError):
r.latency_doctor()

@pytest.mark.onlynoncluster
@skip_if_server_version_lt("4.0.0")
@skip_if_redis_enterprise()
Expand Down

0 comments on commit 3a121be

Please sign in to comment.