Skip to content

Commit fa75be0

Browse files
committed
🧪 test
1 parent 06686cc commit fa75be0

File tree

3 files changed

+32
-3
lines changed

3 files changed

+32
-3
lines changed

‎.github/workflows/test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
fail-fast: true
1212
matrix:
1313
os: [ "ubuntu-latest" ]
14-
python-version: [ "3.8", "3.9", "3.10" ]
14+
python-version: [ "3.8", "3.9", "3.10", "3.11" ]
1515
runs-on: ${{ matrix.os }}
1616
services:
1717
redis:

‎pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "usepy-plugin-redis"
3-
version = "0.1.0"
3+
version = "0.1.1"
44
description = ""
55
authors = ["miclon <jcnd@163.com>"]
66
readme = "README.md"

‎tests/test_redis.py

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import threading
2+
13
import pytest
24

35
from usepy_plugin_redis import useRedisStreamStore
@@ -8,8 +10,35 @@ def redis():
810
return useRedisStreamStore()
911

1012

13+
def test_connection(redis):
14+
"""
15+
Test that the connection is established
16+
"""
17+
assert redis.connection.ping()
18+
19+
1120
def test_send(redis):
1221
stream = 'test_stream'
1322
message = {'foo': 'bar'}
1423
redis.send(stream, message)
15-
assert redis.connection.xlen(stream) == 1
24+
assert redis.connection.xlen(stream) >= 1
25+
26+
27+
def test_consumer(redis):
28+
stream = 'test_consumer_stream'
29+
send_message = {'foo': 'bar'}
30+
redis.send(stream, send_message)
31+
32+
def callback(message):
33+
assert isinstance(message, list)
34+
assert len(message) == 1
35+
first_message = message[0]
36+
message_id, message = first_message
37+
_message = {
38+
k.decode() if isinstance(k, bytes) else k: v.decode() if isinstance(v, bytes) else v
39+
for k, v in message.items()
40+
}
41+
assert _message == send_message
42+
redis.shutdown()
43+
44+
threading.Thread(target=redis.start_consuming, args=(stream, 'test_group', 'test_consumer', callback)).start()

0 commit comments

Comments
 (0)