Skip to content
This repository was archived by the owner on Dec 24, 2022. It is now read-only.

Commit 0cac358

Browse files
committed
Test configuration consistency
Remove some of the duplication in RedisClient and ClientManager construction. Change locations with hard-coded "localhost" or "127.0.0.1" server addresses to use TestConfig.SingleHost. With these changes, we're down to 10 failures(not connection-related) when running the tests without a local instance of Redis
1 parent 0bee8be commit 0cac358

19 files changed

+124
-68
lines changed

tests/ServiceStack.Redis.Tests/Benchmarks/RedisMqHostBenchmarks.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
using System.Threading;
44
using NUnit.Framework;
55
using ServiceStack.Redis.Messaging;
6+
using ServiceStack.Redis.Tests.Support;
67

78
namespace ServiceStack.Redis.Tests.Benchmarks
89
{
@@ -26,7 +27,7 @@ private static RedisMqHost CreateMqHost()
2627

2728
private static RedisMqHost CreateMqHost(int noOfRetries)
2829
{
29-
var redisFactory = new BasicRedisClientManager();
30+
var redisFactory = RedisTestClientManagerFactory.GetBasicRedisClientManagerInstance();
3031
try
3132
{
3233
redisFactory.Exec(redis => redis.FlushAll());

tests/ServiceStack.Redis.Tests/Benchmarks/RedisMqHostPoolBenchmarks.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
using NUnit.Framework;
55
using ServiceStack.Redis.Messaging;
66
using ServiceStack.Text;
7+
using ServiceStack.Redis.Tests.Support;
78

89
namespace ServiceStack.Redis.Tests.Benchmarks
910
{
@@ -22,7 +23,7 @@ public class IncrBlocking
2223

2324
private static RedisMqHostPool CreateMqHostPool(int threadCount = 1)
2425
{
25-
var redisFactory = new BasicRedisClientManager();
26+
var redisFactory = RedisTestClientManagerFactory.GetBasicRedisClientManagerInstance();
2627
try
2728
{
2829
redisFactory.Exec(redis => redis.FlushAll());

tests/ServiceStack.Redis.Tests/Examples/TodoApp.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public class Todo
2323
public void Crud_TODO_App()
2424
{
2525
//Thread-safe client factory
26-
var redisManager = new PooledRedisClientManager("localhost:6379");
26+
var redisManager = new PooledRedisClientManager(TestConfig.SingleHostConnectionString);
2727

2828
redisManager.ExecAs<Todo>(redisTodos => {
2929
var todo = new Todo {

tests/ServiceStack.Redis.Tests/Generic/RedisClientListTestsBase.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
using ServiceStack.Common.Tests.Models;
77
using ServiceStack.Redis.Generic;
88
using ServiceStack.Text;
9+
using ServiceStack.Redis.Tests.Support;
910

1011
namespace ServiceStack.Redis.Tests.Generic
1112
{

tests/ServiceStack.Redis.Tests/Issues/DomainEventsTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public class DomainEventsTests
3333
public void Can_Retrieve_DomainEvents()
3434
{
3535
var userId = Guid.NewGuid();
36-
var client = new RedisClient("localhost");
36+
var client = new RedisClient(TestConfig.SingleHost);
3737
client.FlushAll();
3838

3939
client.As<DomainEvent>().Lists["urn:domainevents-" + userId].Add(new UserPromotedEvent { UserId = userId });
@@ -51,7 +51,7 @@ public void Can_Retrieve_DomainEvents()
5151
[Test]
5252
public void Can_from_Retrieve_DomainEvents_list()
5353
{
54-
var client = new RedisClient("localhost");
54+
var client = new RedisClient(TestConfig.SingleHost);
5555
var users = client.As<AggregateEvents>();
5656

5757
var userId = Guid.NewGuid();

tests/ServiceStack.Redis.Tests/ManagedListGenericTests.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
using System.Collections.Generic;
44
using System.Linq;
55
using ServiceStack.Redis.Generic;
6+
using ServiceStack.Redis.Tests.Support;
67

78
namespace ServiceStack.Redis.Tests
89
{
@@ -15,7 +16,7 @@ public class ManagedListGenericTests
1516
public void TestSetUp()
1617
{
1718
if (redisManager != null) redisManager.Dispose();
18-
redisManager = new BasicRedisClientManager(TestConfig.SingleHost);
19+
redisManager = RedisTestClientManagerFactory.GetBasicRedisClientManagerInstance();
1920
redisManager.Exec(r => r.FlushAll());
2021
}
2122

tests/ServiceStack.Redis.Tests/QueueTests.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public override void OnBeforeEachTest()
2929
[Test]
3030
public void TestSequentialWorkQueueUpdate()
3131
{
32-
using (var queue = new RedisSequentialWorkQueue<string>(10, 10, "127.0.0.1", 6379,1))
32+
using (var queue = new RedisSequentialWorkQueue<string>(10, 10, TestConfig.SingleHost, TestConfig.RedisPort,1))
3333
{
3434

3535
for (int i = 0; i < numMessages; ++i)
@@ -56,7 +56,7 @@ public void TestSequentialWorkQueueUpdate()
5656
[Test]
5757
public void TestSequentialWorkQueue()
5858
{
59-
using (var queue = new RedisSequentialWorkQueue<string>(10,10,"127.0.0.1",6379,1))
59+
using (var queue = new RedisSequentialWorkQueue<string>(10, 10, TestConfig.SingleHost, TestConfig.RedisPort, 1))
6060
{
6161

6262
for (int i = 0; i < numMessages; ++i)
@@ -117,7 +117,7 @@ public void TestSequentialWorkQueue()
117117
[Test]
118118
public void TestChronologicalWorkQueue()
119119
{
120-
using (var queue = new RedisChronologicalWorkQueue<string>(10, 10, "127.0.0.1", 6379))
120+
using (var queue = new RedisChronologicalWorkQueue<string>(10, 10, TestConfig.SingleHost, TestConfig.RedisPort))
121121
{
122122
const int numMessages = 6;
123123
var messages = new List<string>();
@@ -156,7 +156,7 @@ public void TestChronologicalWorkQueue()
156156
[Test]
157157
public void TestSimpleWorkQueue()
158158
{
159-
using (var queue = new RedisSimpleWorkQueue<string>(10, 10, "127.0.0.1", 6379))
159+
using (var queue = new RedisSimpleWorkQueue<string>(10, 10, TestConfig.SingleHost, TestConfig.RedisPort))
160160
{
161161
int numMessages = 6;
162162
var messages = new string[numMessages];

tests/ServiceStack.Redis.Tests/RedisClientTests.cs

Lines changed: 56 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ public class RedisClientTests
1616
{
1717
const string Value = "Value";
1818

19+
1920
public override void OnBeforeEachTest()
2021
{
2122
base.OnBeforeEachTest();
@@ -447,12 +448,13 @@ public void Can_store_multiple_keys()
447448
var keys = 5.Times(x => "key" + x);
448449
var vals = 5.Times(x => "val" + x);
449450

450-
var redis = RedisClient.New();
451-
452-
redis.SetAll(keys, vals);
451+
using (var redis = RedisClient.New())
452+
{
453+
redis.SetAll(keys, vals);
453454

454-
var all = redis.GetValues(keys);
455-
Assert.AreEqual(vals, all);
455+
var all = redis.GetValues(keys);
456+
Assert.AreEqual(vals, all);
457+
}
456458
}
457459

458460
[Test]
@@ -463,12 +465,13 @@ public void Can_store_Dictionary()
463465
var map = new Dictionary<string, string>();
464466
keys.ForEach(x => map[x] = "val" + x);
465467

466-
var redis = RedisClient.New();
467-
468-
redis.SetAll(map);
468+
using (var redis = RedisClient.New())
469+
{
470+
redis.SetAll(map);
469471

470-
var all = redis.GetValuesMap(keys);
471-
Assert.AreEqual(map, all);
472+
var all = redis.GetValuesMap(keys);
473+
Assert.AreEqual(map, all);
474+
}
472475
}
473476

474477
[Test]
@@ -478,11 +481,13 @@ public void Can_store_Dictionary_as_objects()
478481
map["key_a"] = "123";
479482
map["key_b"] = null;
480483

481-
var redis = RedisClient.New();
482-
redis.SetAll(map);
484+
using (var redis = RedisClient.New())
485+
{
486+
redis.SetAll(map);
483487

484-
Assert.That(redis.Get<string>("key_a"), Is.EqualTo("123"));
485-
Assert.That(redis.Get("key_b"), Is.EqualTo(""));
488+
Assert.That(redis.Get<string>("key_a"), Is.EqualTo("123"));
489+
Assert.That(redis.Get("key_b"), Is.EqualTo(""));
490+
}
486491
}
487492

488493

@@ -493,55 +498,63 @@ public void Can_store_Dictionary_as_bytes()
493498
map["key_a"] = "123".ToUtf8Bytes();
494499
map["key_b"] = null;
495500

496-
var redis = RedisClient.New();
497-
redis.SetAll(map);
501+
using (var redis = RedisClient.New())
502+
{
503+
redis.SetAll(map);
498504

499-
Assert.That(redis.Get<string>("key_a"), Is.EqualTo("123"));
500-
Assert.That(redis.Get("key_b"), Is.EqualTo(""));
505+
Assert.That(redis.Get<string>("key_a"), Is.EqualTo("123"));
506+
Assert.That(redis.Get("key_b"), Is.EqualTo(""));
507+
}
501508
}
502509

503510
[Test]
504511
public void Should_reset_slowlog()
505512
{
506-
var redis = RedisClient.New();
507-
redis.SlowlogReset();
513+
using (var redis = RedisClient.New())
514+
{
515+
redis.SlowlogReset();
516+
}
508517
}
509518

510519
[Test]
511520
public void Can_get_showlog()
512521
{
513-
var redis = RedisClient.New();
514-
var log = redis.GetSlowlog(10);
515-
516-
foreach (var t in log)
522+
using (var redis = RedisClient.New())
517523
{
518-
Console.WriteLine(t.Id);
519-
Console.WriteLine(t.Duration);
520-
Console.WriteLine(t.Timestamp);
521-
Console.WriteLine(string.Join(":", t.Arguments));
524+
var log = redis.GetSlowlog(10);
525+
526+
foreach (var t in log)
527+
{
528+
Console.WriteLine(t.Id);
529+
Console.WriteLine(t.Duration);
530+
Console.WriteLine(t.Timestamp);
531+
Console.WriteLine(string.Join(":", t.Arguments));
532+
}
522533
}
523534
}
524535

525536

526537
[Test]
527538
public void Can_change_db_at_runtime()
528539
{
529-
var redis = new RedisClient(TestConfig.SingleHost, TestConfig.RedisPort, db : 1);
530-
var val = Environment.TickCount;
531-
var key = "test" + val;
532-
try
533-
{
534-
redis.Set(key, val);
535-
redis.ChangeDb(2);
536-
Assert.That(redis.Get<int>(key), Is.EqualTo(0));
537-
redis.ChangeDb(1);
538-
Assert.That(redis.Get<int>(key), Is.EqualTo(val));
539-
redis.Dispose();
540-
}
541-
finally
540+
using (var redis = new RedisClient(TestConfig.SingleHost, TestConfig.RedisPort, db: 1))
542541
{
543-
redis.ChangeDb(1);
544-
redis.Del(key);
542+
var val = Environment.TickCount;
543+
var key = "test" + val;
544+
try
545+
{
546+
redis.Set(key, val);
547+
redis.ChangeDb(2);
548+
Assert.That(redis.Get<int>(key), Is.EqualTo(0));
549+
redis.ChangeDb(1);
550+
Assert.That(redis.Get<int>(key), Is.EqualTo(val));
551+
redis.Dispose();
552+
}
553+
finally
554+
{
555+
redis.ChangeDb(1);
556+
redis.Del(key);
557+
}
545558
}
546559
}
547560
}

tests/ServiceStack.Redis.Tests/RedisClientTestsBase.cs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,16 @@ protected void Log(string fmt, params object[] args)
1616
Debug.WriteLine("{0}", string.Format(fmt, args).Trim());
1717
}
1818

19+
[TestFixtureSetUp]
20+
public void TestFixtureSetUp()
21+
{
22+
RedisClient.NewFactoryFn = () => new RedisClient(TestConfig.SingleHost);
23+
}
24+
1925
[SetUp]
2026
public virtual void OnBeforeEachTest()
2127
{
22-
Redis = new RedisClient(TestConfig.SingleHost);
28+
Redis = RedisClient.New();
2329
}
2430

2531
[TearDown]

tests/ServiceStack.Redis.Tests/RedisClientsManagerExtensionsTests.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
using ServiceStack.Common.Extensions;
44
using ServiceStack.Common.Tests.Models;
55
using ServiceStack.Redis.Generic;
6+
using ServiceStack.Redis.Tests.Support;
67

78
namespace ServiceStack.Redis.Tests
89
{
@@ -15,7 +16,7 @@ public class RedisClientsManagerExtensionsTests
1516
public void OnBeforeEachTest()
1617
{
1718
if (redisManager != null) redisManager.Dispose();
18-
redisManager = new BasicRedisClientManager(TestConfig.SingleHost);
19+
redisManager = RedisTestClientManagerFactory.GetBasicRedisClientManagerInstance();
1920
redisManager.Exec(r => r.FlushAll());
2021
}
2122

0 commit comments

Comments
 (0)