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

Commit 288b09d

Browse files
committed
Add RedisBatchTests
1 parent e5ad8f5 commit 288b09d

File tree

2 files changed

+45
-0
lines changed

2 files changed

+45
-0
lines changed
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
using System;
2+
using System.Linq;
3+
using NUnit.Framework;
4+
using ServiceStack.Text;
5+
6+
namespace ServiceStack.Redis.Tests
7+
{
8+
[TestFixture]
9+
public class RedisBatchTests
10+
: RedisClientTestsBase
11+
{
12+
public class Message
13+
{
14+
public long Id { get; set; }
15+
public string Key { get; set; }
16+
public string Value { get; set; }
17+
public string Description { get; set; }
18+
}
19+
20+
[Test]
21+
public void Store_batch_items_in_List()
22+
{
23+
var redisMessages = Redis.As<Message>();
24+
const int batchSize = 500;
25+
var nextIds = redisMessages.GetNextSequence(batchSize);
26+
27+
var msgBatch = batchSize.Times(i =>
28+
new Message {
29+
Id = nextIds - (batchSize - i) + 1,
30+
Key = i.ToString(),
31+
Value = Guid.NewGuid().ToString(),
32+
Description = "Description"
33+
});
34+
35+
redisMessages.Lists["listName"].AddRange(msgBatch);
36+
37+
var msgs = redisMessages.Lists["listName"].GetAll();
38+
Assert.That(msgs.Count, Is.EqualTo(batchSize));
39+
40+
Assert.That(msgs.First().Id, Is.EqualTo(1));
41+
Assert.That(msgs.Last().Id, Is.EqualTo(500));
42+
}
43+
}
44+
}

tests/ServiceStack.Redis.Tests/ServiceStack.Redis.Tests.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,7 @@
180180
<Compile Include="ConfigTests.cs" />
181181
<Compile Include="CustomCommandTests.cs" />
182182
<Compile Include="Issues\RedisCharacterizationTests.cs" />
183+
<Compile Include="RedisBatchTests.cs" />
183184
<Compile Include="RedisManagerPoolTests.cs" />
184185
<Compile Include="DiagnosticTests.cs" />
185186
<Compile Include="Examples\ServiceStack_Redis_UseCase.cs" />

0 commit comments

Comments
 (0)