Skip to content

Commit c1017c4

Browse files
author
Joerg Herbel
committed
Fix FakeRedisMixin.from_url for unix sockets
fakeredis.FakeRedisMixin.from_url is broken for unix sockets. fakeredis.FakeRedis.from_url("unix://a/b/c") results in TypeError: __init__() got an unexpected keyword argument 'path' This was caused by PR #304.
1 parent 85febb4 commit c1017c4

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed

fakeredis/_server.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2804,6 +2804,9 @@ def from_url(cls, url, db=None, **kwargs):
28042804
pool = self.connection_pool
28052805
pool.connection_class = FakeConnection
28062806
pool.connection_kwargs['server'] = server
2807+
# FakeConnection cannot handle the path kwarg (present when from_url
2808+
# is called with a unix socket)
2809+
pool.connection_kwargs.pop('path', None)
28072810
return self
28082811

28092812

test/test_fakeredis.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5048,6 +5048,11 @@ def test_repr(self):
50485048
rep = repr(db)
50495049
assert 'db=11' in rep
50505050

5051+
def test_from_unix_socket(self):
5052+
db = fakeredis.FakeStrictRedis.from_url('unix://a/b/c')
5053+
db.set('foo', 'bar')
5054+
assert db.get('foo') == b'bar'
5055+
50515056

50525057
@pytest.mark.disconnected
50535058
@fake_only

0 commit comments

Comments
 (0)