@@ -16,6 +16,7 @@ public class BasicOpsTests(ITestOutputHelper output, SharedConnectionFixture fix
1616public class InProcBasicOpsTests ( ITestOutputHelper output , InProcServerFixture fixture )
1717 : BasicOpsTestsBase ( output , null , fixture )
1818{
19+ protected override bool UseDedicatedInProcessServer => true ;
1920}
2021
2122[ RunPerProtocol ]
@@ -25,25 +26,26 @@ public abstract class BasicOpsTestsBase(ITestOutputHelper output, SharedConnecti
2526 [ Fact ]
2627 public async Task PingOnce ( )
2728 {
28- await using var conn = Create ( ) ;
29+ await using var conn = ConnectFactory ( ) ;
2930 var db = conn . GetDatabase ( ) ;
3031
3132 var duration = await db . PingAsync ( ) . ForAwait ( ) ;
3233 Log ( "Ping took: " + duration ) ;
3334 Assert . True ( duration . TotalMilliseconds > 0 ) ;
3435 }
3536
36- [ Fact ( Skip = "This needs some CI love, it's not a scenario we care about too much but noisy atm." ) ]
37+ [ Fact ]
3738 public async Task RapidDispose ( )
3839 {
39- await using var primary = Create ( ) ;
40+ SkipIfWouldUseRealServer ( "This needs some CI love, it's not a scenario we care about too much but noisy atm." ) ;
41+ await using var primary = ConnectFactory ( ) ;
4042 var db = primary . GetDatabase ( ) ;
4143 RedisKey key = Me ( ) ;
4244 db . KeyDelete ( key , CommandFlags . FireAndForget ) ;
4345
4446 for ( int i = 0 ; i < 10 ; i ++ )
4547 {
46- await using var secondary = Create ( fail : true , shared : false ) ;
48+ await using var secondary = primary . CreateClient ( ) ;
4749 secondary . GetDatabase ( ) . StringIncrement ( key , flags : CommandFlags . FireAndForget ) ;
4850 }
4951 // Give it a moment to get through the pipe...they were fire and forget
@@ -54,7 +56,7 @@ public async Task RapidDispose()
5456 [ Fact ]
5557 public async Task PingMany ( )
5658 {
57- await using var conn = Create ( ) ;
59+ await using var conn = ConnectFactory ( ) ;
5860 var db = conn . GetDatabase ( ) ;
5961 var tasks = new Task < TimeSpan > [ 100 ] ;
6062 for ( int i = 0 ; i < tasks . Length ; i ++ )
@@ -69,7 +71,7 @@ public async Task PingMany()
6971 [ Fact ]
7072 public async Task GetWithNullKey ( )
7173 {
72- await using var conn = Create ( ) ;
74+ await using var conn = ConnectFactory ( ) ;
7375 var db = conn . GetDatabase ( ) ;
7476 const string ? key = null ;
7577 var ex = Assert . Throws < ArgumentException > ( ( ) => db . StringGet ( key ) ) ;
@@ -79,7 +81,7 @@ public async Task GetWithNullKey()
7981 [ Fact ]
8082 public async Task SetWithNullKey ( )
8183 {
82- await using var conn = Create ( ) ;
84+ await using var conn = ConnectFactory ( ) ;
8385 var db = conn . GetDatabase ( ) ;
8486 const string ? key = null , value = "abc" ;
8587 var ex = Assert . Throws < ArgumentException > ( ( ) => db . StringSet ( key ! , value ) ) ;
@@ -89,7 +91,7 @@ public async Task SetWithNullKey()
8991 [ Fact ]
9092 public async Task SetWithNullValue ( )
9193 {
92- await using var conn = Create ( ) ;
94+ await using var conn = ConnectFactory ( ) ;
9395 var db = conn . GetDatabase ( ) ;
9496 string key = Me ( ) ;
9597 const string ? value = null ;
@@ -107,7 +109,7 @@ public async Task SetWithNullValue()
107109 [ Fact ]
108110 public async Task SetWithDefaultValue ( )
109111 {
110- await using var conn = Create ( ) ;
112+ await using var conn = ConnectFactory ( ) ;
111113 var db = conn . GetDatabase ( ) ;
112114 string key = Me ( ) ;
113115 var value = default ( RedisValue ) ; // this is kinda 0... ish
@@ -125,7 +127,7 @@ public async Task SetWithDefaultValue()
125127 [ Fact ]
126128 public async Task SetWithZeroValue ( )
127129 {
128- await using var conn = Create ( ) ;
130+ await using var conn = ConnectFactory ( ) ;
129131 var db = conn . GetDatabase ( ) ;
130132 string key = Me ( ) ;
131133 const long value = 0 ;
@@ -143,7 +145,7 @@ public async Task SetWithZeroValue()
143145 [ Fact ]
144146 public async Task GetSetAsync ( )
145147 {
146- await using var conn = Create ( ) ;
148+ await using var conn = ConnectFactory ( ) ;
147149 var db = conn . GetDatabase ( ) ;
148150
149151 RedisKey key = Me ( ) ;
@@ -168,7 +170,7 @@ public async Task GetSetAsync()
168170 [ Fact ]
169171 public async Task GetSetSync ( )
170172 {
171- await using var conn = Create ( ) ;
173+ await using var conn = ConnectFactory ( ) ;
172174 var db = conn . GetDatabase ( ) ;
173175
174176 RedisKey key = Me ( ) ;
@@ -195,7 +197,7 @@ public async Task GetSetSync()
195197 [ InlineData ( true , false ) ]
196198 public async Task GetWithExpiry ( bool exists , bool hasExpiry )
197199 {
198- await using var conn = Create ( ) ;
200+ await using var conn = ConnectFactory ( ) ;
199201 var db = conn . GetDatabase ( ) ;
200202 RedisKey key = Me ( ) ;
201203 db . KeyDelete ( key , CommandFlags . FireAndForget ) ;
@@ -231,7 +233,7 @@ public async Task GetWithExpiry(bool exists, bool hasExpiry)
231233 [ Fact ]
232234 public async Task GetWithExpiryWrongTypeAsync ( )
233235 {
234- await using var conn = Create ( ) ;
236+ await using var conn = ConnectFactory ( ) ;
235237 var db = conn . GetDatabase ( ) ;
236238 RedisKey key = Me ( ) ;
237239 _ = db . KeyDeleteAsync ( key ) ;
@@ -254,11 +256,11 @@ public async Task GetWithExpiryWrongTypeAsync()
254256 [ Fact ]
255257 public async Task GetWithExpiryWrongTypeSync ( )
256258 {
259+ await using var conn = ConnectFactory ( ) ;
260+ var db = conn . GetDatabase ( ) ;
257261 RedisKey key = Me ( ) ;
258262 var ex = await Assert . ThrowsAsync < RedisServerException > ( async ( ) =>
259263 {
260- await using var conn = Create ( ) ;
261- var db = conn . GetDatabase ( ) ;
262264 db . KeyDelete ( key , CommandFlags . FireAndForget ) ;
263265 db . SetAdd ( key , "abc" , CommandFlags . FireAndForget ) ;
264266 db . StringGetWithExpiry ( key ) ;
@@ -270,13 +272,15 @@ public async Task GetWithExpiryWrongTypeSync()
270272 [ Fact ]
271273 public async Task TestSevered ( )
272274 {
273- SetExpectedAmbientFailureCount ( 2 ) ;
274- await using var conn = Create ( allowAdmin : true , shared : false ) ;
275+ await using var conn = ConnectFactory ( allowAdmin : true , shared : false ) ;
275276 var db = conn . GetDatabase ( ) ;
276277 string key = Me ( ) ;
277278 db . KeyDelete ( key , CommandFlags . FireAndForget ) ;
278279 db . StringSet ( key , key , flags : CommandFlags . FireAndForget ) ;
279- var server = GetServer ( conn ) ;
280+ var server = GetServer ( conn . DefaultClient ) ;
281+ Assert . SkipUnless ( server . CanSimulateConnectionFailure ( ) , "Skipping because server cannot simulate connection failure" ) ;
282+
283+ SetExpectedAmbientFailureCount ( 2 ) ;
280284 server . SimulateConnectionFailure ( SimulatedFailureType . All ) ;
281285 var watch = Stopwatch . StartNew ( ) ;
282286 await UntilConditionAsync ( TimeSpan . FromSeconds ( 10 ) , ( ) => server . IsConnected ) ;
@@ -291,7 +295,7 @@ public async Task TestSevered()
291295 [ Fact ]
292296 public async Task IncrAsync ( )
293297 {
294- await using var conn = Create ( ) ;
298+ await using var conn = ConnectFactory ( ) ;
295299 var db = conn . GetDatabase ( ) ;
296300 RedisKey key = Me ( ) ;
297301 db . KeyDelete ( key , CommandFlags . FireAndForget ) ;
@@ -319,7 +323,7 @@ public async Task IncrAsync()
319323 [ Fact ]
320324 public async Task IncrSync ( )
321325 {
322- await using var conn = Create ( ) ;
326+ await using var conn = ConnectFactory ( ) ;
323327 var db = conn . GetDatabase ( ) ;
324328 RedisKey key = Me ( ) ;
325329 Log ( key ) ;
@@ -348,7 +352,7 @@ public async Task IncrSync()
348352 [ Fact ]
349353 public async Task IncrDifferentSizes ( )
350354 {
351- await using var conn = Create ( ) ;
355+ await using var conn = ConnectFactory ( ) ;
352356 var db = conn . GetDatabase ( ) ;
353357 RedisKey key = Me ( ) ;
354358 db . KeyDelete ( key , CommandFlags . FireAndForget ) ;
@@ -378,30 +382,10 @@ private static void Incr(IDatabase database, RedisKey key, int delta, ref int to
378382 total += delta ;
379383 }
380384
381- [ Fact ]
382- public async Task ShouldUseSharedMuxer ( )
383- {
384- Log ( $ "Shared: { SharedFixtureAvailable } ") ;
385- if ( SharedFixtureAvailable )
386- {
387- await using var a = Create ( ) ;
388- Assert . IsNotType < ConnectionMultiplexer > ( a ) ;
389- await using var b = Create ( ) ;
390- Assert . Same ( a , b ) ;
391- }
392- else
393- {
394- await using var a = Create ( ) ;
395- Assert . IsType < ConnectionMultiplexer > ( a ) ;
396- await using var b = Create ( ) ;
397- Assert . NotSame ( a , b ) ;
398- }
399- }
400-
401385 [ Fact ]
402386 public async Task Delete ( )
403387 {
404- await using var conn = Create ( ) ;
388+ await using var conn = ConnectFactory ( ) ;
405389 var db = conn . GetDatabase ( ) ;
406390 var key = Me ( ) ;
407391 _ = db . StringSetAsync ( key , "Heyyyyy" ) ;
@@ -416,7 +400,7 @@ public async Task Delete()
416400 [ Fact ]
417401 public async Task DeleteAsync ( )
418402 {
419- await using var conn = Create ( ) ;
403+ await using var conn = ConnectFactory ( ) ;
420404 var db = conn . GetDatabase ( ) ;
421405 var key = Me ( ) ;
422406 _ = db . StringSetAsync ( key , "Heyyyyy" ) ;
@@ -431,7 +415,7 @@ public async Task DeleteAsync()
431415 [ Fact ]
432416 public async Task DeleteMany ( )
433417 {
434- await using var conn = Create ( ) ;
418+ await using var conn = ConnectFactory ( ) ;
435419 var db = conn . GetDatabase ( ) ;
436420 var key1 = Me ( ) ;
437421 var key2 = Me ( ) + "2" ;
@@ -450,7 +434,7 @@ public async Task DeleteMany()
450434 [ Fact ]
451435 public async Task DeleteManyAsync ( )
452436 {
453- await using var conn = Create ( ) ;
437+ await using var conn = ConnectFactory ( ) ;
454438 var db = conn . GetDatabase ( ) ;
455439 var key1 = Me ( ) ;
456440 var key2 = Me ( ) + "2" ;
@@ -470,7 +454,7 @@ public async Task DeleteManyAsync()
470454 public async Task WrappedDatabasePrefixIntegration ( )
471455 {
472456 var key = Me ( ) ;
473- await using var conn = Create ( ) ;
457+ await using var conn = ConnectFactory ( ) ;
474458 var db = conn . GetDatabase ( ) . WithKeyPrefix ( "abc" ) ;
475459 db . KeyDelete ( key , CommandFlags . FireAndForget ) ;
476460 db . StringIncrement ( key , flags : CommandFlags . FireAndForget ) ;
@@ -484,8 +468,8 @@ public async Task WrappedDatabasePrefixIntegration()
484468 [ Fact ]
485469 public async Task TransactionSync ( )
486470 {
487- await using var conn = Create ( ) ;
488- Assert . SkipUnless ( conn . RawConfig . CommandMap . IsAvailable ( RedisCommand . MULTI ) , "MULTI is not available" ) ;
471+ await using var conn = ConnectFactory ( ) ;
472+ Assert . SkipUnless ( conn . DefaultClient . RawConfig . CommandMap . IsAvailable ( RedisCommand . MULTI ) , "MULTI is not available" ) ;
489473 var db = conn . GetDatabase ( ) ;
490474
491475 RedisKey key = Me ( ) ;
@@ -504,8 +488,8 @@ public async Task TransactionSync()
504488 [ Fact ]
505489 public async Task TransactionAsync ( )
506490 {
507- await using var conn = Create ( ) ;
508- Assert . SkipUnless ( conn . RawConfig . CommandMap . IsAvailable ( RedisCommand . MULTI ) , "MULTI is not available" ) ;
491+ await using var conn = ConnectFactory ( ) ;
492+ Assert . SkipUnless ( conn . DefaultClient . RawConfig . CommandMap . IsAvailable ( RedisCommand . MULTI ) , "MULTI is not available" ) ;
509493
510494 var db = conn . GetDatabase ( ) ;
511495
0 commit comments