Skip to content

Commit b192031

Browse files
author
Jesse Myers
committed
Merge branch 'asherf-feature/sadd_error' into develop
2 parents 0ac6cbf + d8f2816 commit b192031

File tree

3 files changed

+11
-0
lines changed

3 files changed

+11
-0
lines changed

CHANGES.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
- SADD will raise an exception if an empty list is passed to it
2+
13
Version 2.9.0.8
24

35
- Add inclusive syntax (parenthesis) support for zero sets ZRANGEBYSCORE, ZREVRANGEBYSCORE & ZREMRANGEBYSCORE

mockredis/client.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -830,6 +830,8 @@ def value_function():
830830

831831
def sadd(self, key, *values):
832832
"""Emulate sadd."""
833+
if len(values) == 0:
834+
raise ResponseError("wrong number of arguments for 'sadd' command")
833835
redis_set = self._get_set(key, 'SADD', create=True)
834836
before_count = len(redis_set)
835837
redis_set.update(map(str, values))

mockredis/tests/test_set.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
from nose.tools import assert_raises, eq_, ok_
22

3+
from mockredis.exceptions import ResponseError
34
from mockredis.tests.fixtures import setup
45

56

@@ -9,6 +10,12 @@ class TestRedisSet(object):
910
def setup(self):
1011
setup(self)
1112

13+
def test_sadd_empty(self):
14+
key = "set"
15+
values = []
16+
with assert_raises(ResponseError):
17+
self.redis.sadd(key, *values)
18+
1219
def test_sadd(self):
1320
key = "set"
1421
values = ["one", "uno", "two", "three"]

0 commit comments

Comments
 (0)