@@ -4607,6 +4607,7 @@ def test_xgroup_create_mkstream(self, r):
4607
4607
assert r .xinfo_groups (stream ) == expected
4608
4608
4609
4609
@skip_if_server_version_lt ("7.0.0" )
4610
+ @skip_if_server_version_gte ("8.2.1" )
4610
4611
def test_xgroup_create_entriesread (self , r : redis .Redis ):
4611
4612
stream = "stream"
4612
4613
group = "group"
@@ -4628,6 +4629,33 @@ def test_xgroup_create_entriesread(self, r: redis.Redis):
4628
4629
]
4629
4630
assert r .xinfo_groups (stream ) == expected
4630
4631
4632
+ @skip_if_server_version_lt ("8.2.1" )
4633
+ def test_xgroup_create_entriesread_fixed_max_entries_read (self , r : redis .Redis ):
4634
+ stream = "stream"
4635
+ group = "group"
4636
+ r .xadd (stream , {"foo" : "bar" })
4637
+ r .xadd (stream , {"foo1" : "bar1" })
4638
+ r .xadd (stream , {"foo2" : "bar2" })
4639
+
4640
+ # no group is setup yet, no info to obtain
4641
+ assert r .xinfo_groups (stream ) == []
4642
+
4643
+ assert r .xgroup_create (stream , group , 0 , entries_read = 7 )
4644
+ # validate the entries-read is max the number of entries
4645
+ # in the stream and lag shows the entries between
4646
+ # last_delivered_id and entries_added
4647
+ expected = [
4648
+ {
4649
+ "name" : group .encode (),
4650
+ "consumers" : 0 ,
4651
+ "pending" : 0 ,
4652
+ "last-delivered-id" : b"0-0" ,
4653
+ "entries-read" : 3 ,
4654
+ "lag" : 3 ,
4655
+ }
4656
+ ]
4657
+ assert r .xinfo_groups (stream ) == expected
4658
+
4631
4659
@skip_if_server_version_lt ("5.0.0" )
4632
4660
def test_xgroup_delconsumer (self , r ):
4633
4661
stream = "stream"
@@ -4675,6 +4703,7 @@ def test_xgroup_destroy(self, r):
4675
4703
assert r .xgroup_destroy (stream , group )
4676
4704
4677
4705
@skip_if_server_version_lt ("7.0.0" )
4706
+ @skip_if_server_version_gte ("8.2.1" )
4678
4707
def test_xgroup_setid (self , r ):
4679
4708
stream = "stream"
4680
4709
group = "group"
@@ -4695,6 +4724,28 @@ def test_xgroup_setid(self, r):
4695
4724
]
4696
4725
assert r .xinfo_groups (stream ) == expected
4697
4726
4727
+ @skip_if_server_version_lt ("8.2.1" )
4728
+ def test_xgroup_setid_fixed_max_entries_read (self , r ):
4729
+ stream = "stream"
4730
+ group = "group"
4731
+ message_id = r .xadd (stream , {"foo" : "bar" })
4732
+ r .xadd (stream , {"foo1" : "bar1" })
4733
+
4734
+ r .xgroup_create (stream , group , 0 )
4735
+ # advance the last_delivered_id to the message_id
4736
+ r .xgroup_setid (stream , group , message_id , entries_read = 2 )
4737
+ expected = [
4738
+ {
4739
+ "name" : group .encode (),
4740
+ "consumers" : 0 ,
4741
+ "pending" : 0 ,
4742
+ "last-delivered-id" : message_id ,
4743
+ "entries-read" : 2 ,
4744
+ "lag" : 0 ,
4745
+ }
4746
+ ]
4747
+ assert r .xinfo_groups (stream ) == expected
4748
+
4698
4749
@skip_if_server_version_lt ("7.2.0" )
4699
4750
def test_xinfo_consumers (self , r ):
4700
4751
stream = "stream"
0 commit comments