1111namespace StackExchange . Redis . Tests ;
1212
1313[ RunPerProtocol ]
14- public class PubSubTests ( ITestOutputHelper output , SharedConnectionFixture fixture ) : TestBase ( output , fixture )
14+ public class PubSubTests ( ITestOutputHelper output , SharedConnectionFixture fixture )
15+ : PubSubTestBase ( output , fixture , null )
16+ {
17+ }
18+
19+ /*
20+ [RunPerProtocol]
21+ public class InProcPubSubTests(ITestOutputHelper output, InProcServerFixture fixture)
22+ : PubSubTestBase(output, null, fixture)
23+ {
24+ protected override bool UseDedicatedInProcessServer => false;
25+ }
26+ */
27+
28+ [ RunPerProtocol ]
29+ public abstract class PubSubTestBase (
30+ ITestOutputHelper output ,
31+ SharedConnectionFixture ? connection ,
32+ InProcServerFixture ? server )
33+ : TestBase ( output , connection , server )
1534{
1635 [ Fact ]
1736 public async Task ExplicitPublishMode ( )
1837 {
19- await using var conn = Create ( channelPrefix : "foo:" , log : Writer ) ;
38+ await using var conn = ConnectFactory ( channelPrefix : "foo:" ) ;
2039
2140 var pub = conn . GetSubscriber ( ) ;
2241 int a = 0 , b = 0 , c = 0 , d = 0 ;
@@ -54,9 +73,9 @@ await UntilConditionAsync(
5473 [ InlineData ( "Foo:" , true , "f" ) ]
5574 public async Task TestBasicPubSub ( string ? channelPrefix , bool wildCard , string breaker )
5675 {
57- await using var conn = Create ( channelPrefix : channelPrefix , shared : false , log : Writer ) ;
76+ await using var conn = ConnectFactory ( channelPrefix : channelPrefix , shared : false ) ;
5877
59- var pub = GetAnyPrimary ( conn ) ;
78+ var pub = GetAnyPrimary ( conn . DefaultClient ) ;
6079 var sub = conn . GetSubscriber ( ) ;
6180 await PingAsync ( pub , sub ) . ForAwait ( ) ;
6281 HashSet < string ? > received = [ ] ;
@@ -139,10 +158,10 @@ public async Task TestBasicPubSub(string? channelPrefix, bool wildCard, string b
139158 [ Fact ]
140159 public async Task TestBasicPubSubFireAndForget ( )
141160 {
142- await using var conn = Create ( shared : false , log : Writer ) ;
161+ await using var conn = ConnectFactory ( shared : false ) ;
143162
144- var profiler = conn . AddProfiler ( ) ;
145- var pub = GetAnyPrimary ( conn ) ;
163+ var profiler = conn . DefaultClient . AddProfiler ( ) ;
164+ var pub = GetAnyPrimary ( conn . DefaultClient ) ;
146165 var sub = conn . GetSubscriber ( ) ;
147166
148167 RedisChannel key = RedisChannel . Literal ( Me ( ) + Guid . NewGuid ( ) ) ;
@@ -214,9 +233,9 @@ private async Task PingAsync(IServer pub, ISubscriber sub, int times = 1)
214233 [ Fact ]
215234 public async Task TestPatternPubSub ( )
216235 {
217- await using var conn = Create ( shared : false , log : Writer ) ;
236+ await using var conn = ConnectFactory ( shared : false ) ;
218237
219- var pub = GetAnyPrimary ( conn ) ;
238+ var pub = GetAnyPrimary ( conn . DefaultClient ) ;
220239 var sub = conn . GetSubscriber ( ) ;
221240
222241 HashSet < string ? > received = [ ] ;
@@ -273,7 +292,7 @@ public async Task TestPatternPubSub()
273292 [ Fact ]
274293 public async Task TestPublishWithNoSubscribers ( )
275294 {
276- await using var conn = Create ( ) ;
295+ await using var conn = ConnectFactory ( ) ;
277296
278297 var sub = conn . GetSubscriber ( ) ;
279298#pragma warning disable CS0618
@@ -285,7 +304,7 @@ public async Task TestPublishWithNoSubscribers()
285304 public async Task TestMassivePublishWithWithoutFlush_Local ( )
286305 {
287306 Skip . UnlessLongRunning ( ) ;
288- await using var conn = Create ( ) ;
307+ await using var conn = ConnectFactory ( ) ;
289308
290309 var sub = conn . GetSubscriber ( ) ;
291310 TestMassivePublish ( sub , Me ( ) , "local" ) ;
@@ -335,7 +354,7 @@ private void TestMassivePublish(ISubscriber sub, string channel, string caption)
335354 [ Fact ]
336355 public async Task SubscribeAsyncEnumerable ( )
337356 {
338- await using var conn = Create ( syncTimeout : 20000 , shared : false , log : Writer ) ;
357+ await using var conn = ConnectFactory ( shared : false ) ;
339358
340359 var sub = conn . GetSubscriber ( ) ;
341360 RedisChannel channel = RedisChannel . Literal ( Me ( ) ) ;
@@ -370,7 +389,7 @@ public async Task SubscribeAsyncEnumerable()
370389 [ Fact ]
371390 public async Task PubSubGetAllAnyOrder ( )
372391 {
373- await using var conn = Create ( syncTimeout : 20000 , shared : false , log : Writer ) ;
392+ await using var conn = ConnectFactory ( shared : false ) ;
374393
375394 var sub = conn . GetSubscriber ( ) ;
376395 RedisChannel channel = RedisChannel . Literal ( Me ( ) ) ;
@@ -625,9 +644,10 @@ public async Task PubSubGetAllCorrectOrder_OnMessage_Async()
625644 [ Fact ]
626645 public async Task TestPublishWithSubscribers ( )
627646 {
628- await using var connA = Create ( shared : false , log : Writer ) ;
629- await using var connB = Create ( shared : false , log : Writer ) ;
630- await using var connPub = Create ( ) ;
647+ await using var pair = ConnectFactory ( shared : false ) ;
648+ await using var connA = pair . DefaultClient ;
649+ await using var connB = pair . CreateClient ( ) ;
650+ await using var connPub = pair . CreateClient ( ) ;
631651
632652 var channel = Me ( ) ;
633653 var listenA = connA . GetSubscriber ( ) ;
@@ -652,9 +672,10 @@ public async Task TestPublishWithSubscribers()
652672 [ Fact ]
653673 public async Task TestMultipleSubscribersGetMessage ( )
654674 {
655- await using var connA = Create ( shared : false , log : Writer ) ;
656- await using var connB = Create ( shared : false , log : Writer ) ;
657- await using var connPub = Create ( ) ;
675+ await using var pair = ConnectFactory ( shared : false ) ;
676+ await using var connA = pair . DefaultClient ;
677+ await using var connB = pair . CreateClient ( ) ;
678+ await using var connPub = pair . CreateClient ( ) ;
658679
659680 var channel = RedisChannel . Literal ( Me ( ) ) ;
660681 var listenA = connA . GetSubscriber ( ) ;
@@ -682,7 +703,7 @@ public async Task TestMultipleSubscribersGetMessage()
682703 [ Fact ]
683704 public async Task Issue38 ( )
684705 {
685- await using var conn = Create ( log : Writer ) ;
706+ await using var conn = ConnectFactory ( ) ;
686707
687708 var sub = conn . GetSubscriber ( ) ;
688709 int count = 0 ;
@@ -717,9 +738,10 @@ public async Task Issue38()
717738 [ Fact ]
718739 public async Task TestPartialSubscriberGetMessage ( )
719740 {
720- await using var connA = Create ( ) ;
721- await using var connB = Create ( ) ;
722- await using var connPub = Create ( ) ;
741+ await using var pair = ConnectFactory ( ) ;
742+ await using var connA = pair . DefaultClient ;
743+ await using var connB = pair . CreateClient ( ) ;
744+ await using var connPub = pair . CreateClient ( ) ;
723745
724746 int gotA = 0 , gotB = 0 ;
725747 var listenA = connA . GetSubscriber ( ) ;
@@ -750,8 +772,9 @@ public async Task TestPartialSubscriberGetMessage()
750772 [ Fact ]
751773 public async Task TestSubscribeUnsubscribeAndSubscribeAgain ( )
752774 {
753- await using var connPub = Create ( ) ;
754- await using var connSub = Create ( ) ;
775+ await using var pair = ConnectFactory ( ) ;
776+ await using var connPub = pair . DefaultClient ;
777+ await using var connSub = pair . CreateClient ( ) ;
755778
756779 var prefix = Me ( ) ;
757780 var pub = connPub . GetSubscriber ( ) ;
0 commit comments