Commit c9ae36ce authored by Nick Craver's avatar Nick Craver

Tests: remove database IDs from most

We've de-duped keys most places, and others are just calling with 0. Still some left, but this takes care of most
parent 01e6a1ce
......@@ -15,7 +15,7 @@ public void TestBatchNotSent()
{
using (var muxer = GetUnsecuredConnection())
{
var conn = muxer.GetDatabase(0);
var conn = muxer.GetDatabase();
conn.KeyDeleteAsync("batch");
conn.StringSetAsync("batch", "batch-not-sent");
var tasks = new List<Task>();
......@@ -35,7 +35,7 @@ public void TestBatchSent()
{
using (var muxer = GetUnsecuredConnection())
{
var conn = muxer.GetDatabase(0);
var conn = muxer.GetDatabase();
conn.KeyDeleteAsync("batch");
conn.StringSetAsync("batch", "batch-sent");
var tasks = new List<Task>();
......
......@@ -23,7 +23,7 @@ public void TestManualIncr()
using (var muxer = GetUnsecuredConnection(syncTimeout: 120000)) // big timeout while debugging
{
var key = Me();
var conn = muxer.GetDatabase(0);
var conn = muxer.GetDatabase();
for (int i = 0; i < 200; i++)
{
conn.KeyDelete(key);
......
......@@ -18,7 +18,7 @@ public async Task TestIncrBy()
{
using (var muxer = GetUnsecuredConnection())
{
var conn = muxer.GetDatabase(5);
var conn = muxer.GetDatabase();
var key = Me();
await conn.KeyDeleteAsync(key).ForAwait();
for (int i = 1; i < 1000; i++)
......@@ -37,9 +37,7 @@ public void Scan()
using (var muxer = GetUnsecuredConnection(waitForOpen: true))
{
Skip.IfMissingFeature(muxer, nameof(RedisFeatures.Scan), r => r.Scan);
const int db = 3;
var conn = muxer.GetDatabase(db);
var conn = muxer.GetDatabase();
var key = Me();
conn.KeyDeleteAsync(key);
......@@ -78,7 +76,7 @@ public void TestIncrementOnHashThatDoesntExist()
{
using (var muxer = GetUnsecuredConnection())
{
var conn = muxer.GetDatabase(0);
var conn = muxer.GetDatabase();
conn.KeyDeleteAsync("keynotexist");
var result1 = conn.Wait(conn.HashIncrementAsync("keynotexist", "fieldnotexist", 1));
var result2 = conn.Wait(conn.HashIncrementAsync("keynotexist", "anotherfieldnotexist", 1));
......@@ -93,12 +91,13 @@ public async Task TestIncrByFloat()
using (var muxer = GetUnsecuredConnection(waitForOpen: true))
{
Skip.IfMissingFeature(muxer, nameof(RedisFeatures.IncrementFloat), r => r.IncrementFloat);
var conn = muxer.GetDatabase(5);
await conn.KeyDeleteAsync("hash-test").ForAwait();
var conn = muxer.GetDatabase();
var key = Me();
await conn.KeyDeleteAsync(key).ForAwait();
for (int i = 1; i < 1000; i++)
{
Assert.Equal(i, await conn.HashIncrementAsync("hash-test", "a", 1.0).ForAwait());
Assert.Equal(-i, await conn.HashIncrementAsync("hash-test", "b", -1.0).ForAwait());
Assert.Equal(i, await conn.HashIncrementAsync(key, "a", 1.0).ForAwait());
Assert.Equal(-i, await conn.HashIncrementAsync(key, "b", -1.0).ForAwait());
}
}
}
......@@ -108,8 +107,8 @@ public async Task TestGetAll()
{
using (var muxer = GetUnsecuredConnection())
{
var conn = muxer.GetDatabase(6);
const string key = "hash test";
var conn = muxer.GetDatabase();
var key = Me();
await conn.KeyDeleteAsync(key).ForAwait();
var shouldMatch = new Dictionary<Guid, int>();
var random = new Random();
......@@ -140,8 +139,8 @@ public async Task TestGet()
{
using (var muxer = GetUnsecuredConnection())
{
const string key = "hash test";
var conn = muxer.GetDatabase(6);
var key = Me();
var conn = muxer.GetDatabase();
var shouldMatch = new Dictionary<Guid, int>();
var random = new Random();
......@@ -170,7 +169,7 @@ public async Task TestGet()
{
using (var muxer = GetUnsecuredConnection())
{
var conn = muxer.GetDatabase(9);
var conn = muxer.GetDatabase();
var hashkey = Me();
await conn.KeyDeleteAsync(hashkey).ForAwait();
......@@ -209,7 +208,7 @@ public async Task TestGet()
{
using (var muxer = GetUnsecuredConnection())
{
var conn = muxer.GetDatabase(9);
var conn = muxer.GetDatabase();
var hashkey = Me();
await conn.KeyDeleteAsync(hashkey).ForAwait();
......@@ -240,7 +239,7 @@ public async Task TestGet()
{
using (var muxer = GetUnsecuredConnection())
{
var conn = muxer.GetDatabase(9);
var conn = muxer.GetDatabase();
var hashkey = Me();
await conn.KeyDeleteAsync(hashkey).ForAwait();
var del0 = conn.HashDeleteAsync(hashkey, "field").ForAwait();
......@@ -261,7 +260,7 @@ public async Task TestGet()
{
using (var muxer = GetUnsecuredConnection())
{
var conn = muxer.GetDatabase(3);
var conn = muxer.GetDatabase();
var hashkey = Me();
conn.HashSetAsync(hashkey, "key1", "val1");
conn.HashSetAsync(hashkey, "key2", "val2");
......@@ -299,7 +298,7 @@ public async Task TestGet()
{
using (var outer = GetUnsecuredConnection())
{
var conn = outer.GetDatabase(3).CreateTransaction();
var conn = outer.GetDatabase().CreateTransaction();
{
var hashkey = Me();
conn.HashSetAsync(hashkey, "key1", "val1");
......@@ -336,7 +335,7 @@ public async Task TestGet()
{
using (var muxer = GetUnsecuredConnection())
{
var conn = muxer.GetDatabase(9);
var conn = muxer.GetDatabase();
var hashkey = Me();
await conn.KeyDeleteAsync(hashkey).ForAwait();
var ex0 = conn.HashExistsAsync(hashkey, "field").ForAwait();
......@@ -356,7 +355,7 @@ public async Task TestGet()
{
using (var muxer = GetUnsecuredConnection())
{
var conn = muxer.GetDatabase(9);
var conn = muxer.GetDatabase();
var hashKey = Me();
await conn.KeyDeleteAsync(hashKey).ForAwait();
......@@ -381,7 +380,7 @@ public async Task TestGet()
{
using (var muxer = GetUnsecuredConnection())
{
var conn = muxer.GetDatabase(9);
var conn = muxer.GetDatabase();
var hashkey = Me();
await conn.KeyDeleteAsync(hashkey).ForAwait();
......@@ -406,7 +405,7 @@ public async Task TestGet()
{
using (var muxer = GetUnsecuredConnection())
{
var conn = muxer.GetDatabase(9);
var conn = muxer.GetDatabase();
var hashkey = Me();
await conn.KeyDeleteAsync(hashkey).ForAwait();
......@@ -427,7 +426,7 @@ public async Task TestGet()
{
using (var muxer = GetUnsecuredConnection())
{
var conn = muxer.GetDatabase(9);
var conn = muxer.GetDatabase();
var hashkey = Me();
await conn.KeyDeleteAsync(hashkey).ForAwait();
......@@ -462,7 +461,7 @@ public async Task TestGet()
{
using (var muxer = GetUnsecuredConnection())
{
var conn = muxer.GetDatabase(9);
var conn = muxer.GetDatabase();
var hashkey = Me();
await conn.KeyDeleteAsync(hashkey).ForAwait();
......@@ -486,7 +485,7 @@ public async Task TestGet()
{
using (var muxer = GetUnsecuredConnection())
{
var conn = muxer.GetDatabase(9);
var conn = muxer.GetDatabase();
var hashkey = Me();
await conn.KeyDeleteAsync(hashkey).ForAwait();
......
......@@ -12,16 +12,15 @@ public void Execute()
{
using (var muxer = GetUnsecuredConnection())
{
const int DB = 5;
const string Key = "issue-10-list";
var conn = muxer.GetDatabase(DB);
conn.KeyDeleteAsync(Key); // contents: nil
conn.ListLeftPushAsync(Key, "abc"); // "abc"
conn.ListLeftPushAsync(Key, "def"); // "def", "abc"
conn.ListLeftPushAsync(Key, "ghi"); // "ghi", "def", "abc",
conn.ListSetByIndexAsync(Key, 1, "jkl"); // "ghi", "jkl", "abc"
var key = Me();
var conn = muxer.GetDatabase();
conn.KeyDeleteAsync(key); // contents: nil
conn.ListLeftPushAsync(key, "abc"); // "abc"
conn.ListLeftPushAsync(key, "def"); // "def", "abc"
conn.ListLeftPushAsync(key, "ghi"); // "ghi", "def", "abc",
conn.ListSetByIndexAsync(key, 1, "jkl"); // "ghi", "jkl", "abc"
var contents = conn.Wait(conn.ListRangeAsync(Key, 0, -1));
var contents = conn.Wait(conn.ListRangeAsync(key, 0, -1));
Assert.Equal(3, contents.Length);
Assert.Equal("ghi", contents[0]);
Assert.Equal("jkl", contents[1]);
......
......@@ -2,7 +2,6 @@
using System.Diagnostics;
using System.Threading;
using System.Threading.Tasks;
using Xunit;
using Xunit.Abstractions;
namespace StackExchange.Redis.Tests.Booksleeve.Issues
......@@ -32,14 +31,14 @@ private void Prep(int db, string key)
[FactLongRunning]
public async Task ExecuteMassiveDelete()
{
const int db = 4;
var dbId = TestConfig.GetDedicatedDB();
var key = Me();
Prep(db, key);
Prep(dbId, key);
var watch = Stopwatch.StartNew();
using (var muxer = GetUnsecuredConnection())
using (var throttle = new SemaphoreSlim(1))
{
var conn = muxer.GetDatabase(db);
var conn = muxer.GetDatabase(dbId);
var originally = await conn.SetLengthAsync(key).ForAwait();
int keepChecking = 1;
Task last = null;
......
......@@ -15,7 +15,7 @@ public void LoopLotsOfTrivialStuff()
Trace.WriteLine("### init");
using (var muxer = GetUnsecuredConnection())
{
var conn = muxer.GetDatabase(0);
var conn = muxer.GetDatabase();
conn.KeyDelete("lots-trivial");
}
const int COUNT = 2;
......@@ -24,14 +24,14 @@ public void LoopLotsOfTrivialStuff()
Trace.WriteLine("### incr:" + i);
using (var muxer = GetUnsecuredConnection())
{
var conn = muxer.GetDatabase(0);
var conn = muxer.GetDatabase();
Assert.Equal(i + 1, conn.StringIncrement("lots-trivial"));
}
}
Trace.WriteLine("### close");
using (var muxer = GetUnsecuredConnection())
{
var conn = muxer.GetDatabase(0);
var conn = muxer.GetDatabase();
Assert.Equal(COUNT, (long)conn.StringGet("lots-trivial"));
}
}
......@@ -41,7 +41,7 @@ public void ExecuteWithEmptyStartingPoint()
{
using (var muxer = GetUnsecuredConnection())
{
var conn = muxer.GetDatabase(0);
var conn = muxer.GetDatabase();
var task = new { priority = 3 };
conn.KeyDeleteAsync("item:1");
conn.HashSetAsync("item:1", "something else", "abc");
......@@ -51,7 +51,7 @@ public void ExecuteWithEmptyStartingPoint()
conn.Wait(taskResult);
var priority = Int32.Parse(taskResult.Result);
var priority = int.Parse(taskResult.Result);
Assert.Equal(3, priority);
}
......@@ -64,7 +64,7 @@ public void ExecuteWithNonHashStartingPoint()
{
using (var muxer = GetUnsecuredConnection())
{
var conn = muxer.GetDatabase(0);
var conn = muxer.GetDatabase();
var task = new { priority = 3 };
conn.KeyDeleteAsync("item:1");
conn.StringSetAsync("item:1", "not a hash");
......
......@@ -14,9 +14,9 @@ public void Execute()
{
using (var muxer = GetUnsecuredConnection())
{
const string key = "somekey1";
var key = Me();
var con = muxer.GetDatabase(1);
var con = muxer.GetDatabase();
// set the field value and expiration
con.HashSetAsync(key, "field1", Encoding.UTF8.GetBytes("hello world"));
con.KeyExpireAsync(key, TimeSpan.FromSeconds(7200));
......
......@@ -10,10 +10,9 @@ public class SO11766033 : BookSleeveTestBase
[Fact]
public void TestNullString()
{
const int db = 3;
using (var muxer = GetUnsecuredConnection(true))
{
var redis = muxer.GetDatabase(db);
var redis = muxer.GetDatabase();
const string expectedTestValue = null;
var uid = Me();
redis.StringSetAsync(uid, "abc");
......@@ -26,10 +25,9 @@ public void TestNullString()
[Fact]
public void TestEmptyString()
{
const int db = 3;
using (var muxer = GetUnsecuredConnection(true))
{
var redis = muxer.GetDatabase(db);
var redis = muxer.GetDatabase();
const string expectedTestValue = "";
var uid = Me();
......
......@@ -14,12 +14,13 @@ public class Performance : BookSleeveTestBase
public void VerifyPerformanceImprovement()
{
int asyncTimer, sync, op = 0, asyncFaF, syncFaF;
var key = Me();
using (var muxer = GetUnsecuredConnection())
{
// do these outside the timings, just to ensure the core methods are JITted etc
for (int db = 0; db < 5; db++)
{
muxer.GetDatabase(db).KeyDeleteAsync("perftest");
muxer.GetDatabase(db).KeyDeleteAsync(key);
}
var timer = Stopwatch.StartNew();
......@@ -31,13 +32,13 @@ public void VerifyPerformanceImprovement()
{
var conn = muxer.GetDatabase(db);
for (int j = 0; j < 10; j++)
conn.StringIncrementAsync("perftest");
conn.StringIncrementAsync(key);
}
}
asyncFaF = (int)timer.ElapsedMilliseconds;
var final = new Task<RedisValue>[5];
for (int db = 0; db < 5; db++)
final[db] = muxer.GetDatabase(db).StringGetAsync("perftest");
final[db] = muxer.GetDatabase(db).StringGetAsync(key);
muxer.WaitAll(final);
timer.Stop();
asyncTimer = (int)timer.ElapsedMilliseconds;
......@@ -54,7 +55,7 @@ public void VerifyPerformanceImprovement()
for (int db = 0; db < 5; db++)
{
conn.Db = db;
conn.Remove("perftest");
conn.Remove(key);
}
var timer = Stopwatch.StartNew();
......@@ -68,7 +69,7 @@ public void VerifyPerformanceImprovement()
op++;
for (int j = 0; j < 10; j++)
{
conn.Increment("perftest");
conn.Increment(key);
op++;
}
}
......@@ -78,7 +79,7 @@ public void VerifyPerformanceImprovement()
for (int db = 0; db < 5; db++)
{
conn.Db = db;
final[db] = Encoding.ASCII.GetString(conn.Get("perftest"));
final[db] = Encoding.ASCII.GetString(conn.Get(key));
}
timer.Stop();
sync = (int)timer.ElapsedMilliseconds;
......
......@@ -126,8 +126,7 @@ public void MultiIncrWithoutReplies()
{
using (var muxer = GetScriptConn())
{
const int DB = 0; // any database number
var conn = muxer.GetDatabase(DB);
var conn = muxer.GetDatabase();
var prefix = Me();
// prime some initial values
conn.KeyDeleteAsync(new RedisKey[] { prefix + "a", prefix + "b", prefix + "c" });
......@@ -159,8 +158,7 @@ public void MultiIncrByWithoutReplies()
{
using (var muxer = GetScriptConn())
{
const int DB = 0; // any database number
var conn = muxer.GetDatabase(DB);
var conn = muxer.GetDatabase();
var prefix = Me();
// prime some initial values
conn.KeyDeleteAsync(new RedisKey[] { prefix + "a", prefix + "b", prefix + "c" });
......@@ -192,7 +190,7 @@ public void DisableStringInference()
{
using (var muxer = GetScriptConn())
{
var conn = muxer.GetDatabase(0);
var conn = muxer.GetDatabase();
var key = Me();
conn.StringSet(key, "bar");
var result = (byte[])conn.ScriptEvaluate("return redis.call('get', KEYS[1])", new RedisKey[] { key });
......@@ -205,7 +203,7 @@ public void FlushDetection()
{ // we don't expect this to handle everything; we just expect it to be predictable
using (var muxer = GetScriptConn(allowAdmin: true))
{
var conn = muxer.GetDatabase(0);
var conn = muxer.GetDatabase();
var key = Me();
conn.StringSet(key, "bar");
var result = (string)conn.ScriptEvaluate("return redis.call('get', KEYS[1])", new RedisKey[] { key }, null);
......@@ -263,7 +261,7 @@ public void NonAsciiScripts()
using (var muxer = GetScriptConn())
{
const string evil = "return '僕'";
var conn = muxer.GetDatabase(0);
var conn = muxer.GetDatabase();
GetServer(muxer).ScriptLoad(evil);
var result = (string)conn.ScriptEvaluate(evil, null, null);
......@@ -278,7 +276,7 @@ public void ScriptThrowsError()
{
using (var muxer = GetScriptConn())
{
var conn = muxer.GetDatabase(0);
var conn = muxer.GetDatabase();
var result = conn.ScriptEvaluateAsync("return redis.error_reply('oops')", null, null);
try
{
......@@ -297,9 +295,8 @@ public void ScriptThrowsErrorInsideTransaction()
{
using (var muxer = GetScriptConn())
{
const int db = 0;
const string key = "ScriptThrowsErrorInsideTransaction";
var conn = muxer.GetDatabase(db);
var key = Me();
var conn = muxer.GetDatabase();
conn.KeyDeleteAsync(key);
var beforeTran = (string)conn.StringGet(key);
Assert.Null(beforeTran);
......
......@@ -14,7 +14,7 @@ public void Append()
{
using (var muxer = GetUnsecuredConnection(waitForOpen: true))
{
var conn = muxer.GetDatabase(2);
var conn = muxer.GetDatabase();
var server = GetServer(muxer);
var key = Me();
conn.KeyDelete(key);
......@@ -49,7 +49,7 @@ public void Set()
{
using (var muxer = GetUnsecuredConnection())
{
var conn = muxer.GetDatabase(2);
var conn = muxer.GetDatabase();
var key = Me();
conn.KeyDeleteAsync(key);
......@@ -69,7 +69,7 @@ public void SetNotExists()
{
using (var muxer = GetUnsecuredConnection())
{
var conn = muxer.GetDatabase(2);
var conn = muxer.GetDatabase();
var prefix = Me();
conn.KeyDeleteAsync(prefix + "1");
conn.KeyDeleteAsync(prefix + "2");
......@@ -101,7 +101,7 @@ public void Ranges()
using (var muxer = GetUnsecuredConnection(waitForOpen: true))
{
Skip.IfMissingFeature(muxer, nameof(RedisFeatures.StringSetRange), r => r.StringSetRange);
var conn = muxer.GetDatabase(2);
var conn = muxer.GetDatabase();
var key = Me();
conn.KeyDeleteAsync(key);
......@@ -121,7 +121,7 @@ public void IncrDecr()
{
using (var muxer = GetUnsecuredConnection())
{
var conn = muxer.GetDatabase(2);
var conn = muxer.GetDatabase();
var key = Me();
conn.KeyDeleteAsync(key);
......@@ -150,7 +150,7 @@ public void IncrDecrFloat()
using (var muxer = GetUnsecuredConnection(waitForOpen: true))
{
Skip.IfMissingFeature(muxer, nameof(RedisFeatures.IncrementFloat), r => r.IncrementFloat);
var conn = muxer.GetDatabase(2);
var conn = muxer.GetDatabase();
var key = Me();
conn.KeyDelete(key);
......@@ -179,7 +179,7 @@ public void GetRange()
{
using (var muxer = GetUnsecuredConnection(waitForOpen: true))
{
var conn = muxer.GetDatabase(2);
var conn = muxer.GetDatabase();
var key = Me();
conn.KeyDeleteAsync(key);
......@@ -199,7 +199,7 @@ public void BitCount()
{
Skip.IfMissingFeature(muxer, nameof(RedisFeatures.BitwiseOperations), r => r.BitwiseOperations);
var conn = muxer.GetDatabase(0);
var conn = muxer.GetDatabase();
var key = Me();
conn.StringSetAsync(key, "foobar");
var r1 = conn.StringBitCountAsync(key);
......@@ -218,7 +218,7 @@ public void BitOp()
using (var muxer = GetUnsecuredConnection(waitForOpen: true))
{
Skip.IfMissingFeature(muxer, nameof(RedisFeatures.BitwiseOperations), r => r.BitwiseOperations);
var conn = muxer.GetDatabase(0);
var conn = muxer.GetDatabase();
var prefix = Me();
var key1 = prefix + "1";
var key2 = prefix + "2";
......@@ -254,7 +254,7 @@ public void RangeString()
{
using (var muxer = GetUnsecuredConnection())
{
var conn = muxer.GetDatabase(0);
var conn = muxer.GetDatabase();
var key = Me();
conn.StringSetAsync(key, "hello world");
var result = conn.StringGetRangeAsync(key, 2, 6);
......
......@@ -11,24 +11,26 @@ public class Databases : TestBase
[Fact]
public async Task CountKeys()
{
var db1Id = TestConfig.GetDedicatedDB();
var db2Id = TestConfig.GetDedicatedDB();
using (var muxer = Create(allowAdmin: true))
{
var server = GetAnyMaster(muxer);
server.FlushDatabase(61, CommandFlags.FireAndForget);
server.FlushDatabase(62, CommandFlags.FireAndForget);
server.FlushDatabase(db1Id, CommandFlags.FireAndForget);
server.FlushDatabase(db2Id, CommandFlags.FireAndForget);
}
using (var muxer = Create())
{
RedisKey key = Me();
var db61 = muxer.GetDatabase(61);
var db62 = muxer.GetDatabase(62);
var db61 = muxer.GetDatabase(db1Id);
var db62 = muxer.GetDatabase(db2Id);
db61.StringSet("abc", "def", flags: CommandFlags.FireAndForget);
db61.StringIncrement(key, flags: CommandFlags.FireAndForget);
db62.StringIncrement(key, flags: CommandFlags.FireAndForget);
var server = GetAnyMaster(muxer);
var c0 = server.DatabaseSizeAsync(61);
var c1 = server.DatabaseSizeAsync(62);
var c0 = server.DatabaseSizeAsync(db1Id);
var c1 = server.DatabaseSizeAsync(db2Id);
Assert.Equal(2, await c0);
Assert.Equal(1, await c1);
......@@ -41,9 +43,9 @@ public void MultiDatabases()
using (var muxer = Create())
{
RedisKey key = Me();
var db0 = muxer.GetDatabase(0);
var db1 = muxer.GetDatabase(1);
var db2 = muxer.GetDatabase(2);
var db0 = muxer.GetDatabase(TestConfig.GetDedicatedDB());
var db1 = muxer.GetDatabase(TestConfig.GetDedicatedDB());
var db2 = muxer.GetDatabase(TestConfig.GetDedicatedDB());
db0.Ping();
db0.KeyDelete(key, CommandFlags.FireAndForget);
......
using System.IO;
using System;
using System.Collections.Generic;
using Newtonsoft.Json;
using System.Threading;
namespace StackExchange.Redis.Tests
{
......@@ -11,6 +11,9 @@ public static class TestConfig
public static Config Current { get; }
private static int _db = 17;
public static int GetDedicatedDB() => Interlocked.Increment(ref _db);
static TestConfig()
{
Current = new Config();
......
......@@ -12,7 +12,7 @@ public void Execute()
{
using (var conn = Create())
{
var db = conn.GetDatabase(0);
var db = conn.GetDatabase();
RedisKey key = Me();
db.KeyDelete(key, CommandFlags.FireAndForget);
db.SortedSetAdd(key, "c", 3, When.Always, CommandFlags.FireAndForget);
......
......@@ -17,7 +17,7 @@ public async Task SetExpirationToPassed()
using (var conn = Create())
{
// Given
var cache = conn.GetDatabase(59);
var cache = conn.GetDatabase();
cache.KeyDelete(key);
cache.HashSet(key, "full", "test", When.NotExists, CommandFlags.PreferMaster);
......
......@@ -14,16 +14,17 @@ public void TestScan()
{
using (var muxer = Create(allowAdmin: true))
{
const int Database = 43;
var db = muxer.GetDatabase(Database);
var dbId = TestConfig.GetDedicatedDB();
var db = muxer.GetDatabase(dbId);
var server = GetAnyMaster(muxer);
var prefix = Me();
server.FlushDatabase(flags: CommandFlags.FireAndForget);
const int Count = 1000;
for (int i = 0; i < Count; i++)
db.StringSet("x" + i, "y" + i, flags: CommandFlags.FireAndForget);
db.StringSet(prefix + "x" + i, "y" + i, flags: CommandFlags.FireAndForget);
var count = server.Keys(Database).Count();
var count = server.Keys(dbId).Count();
Assert.Equal(Count, count);
}
}
......@@ -33,16 +34,17 @@ public void FlushFetchRandomKey()
{
using (var conn = Create(allowAdmin: true))
{
const int dbId = 63;
var dbId = TestConfig.GetDedicatedDB();
var db = conn.GetDatabase(dbId);
var prefix = Me();
conn.GetServer(TestConfig.Current.MasterServerAndPort).FlushDatabase(dbId);
string anyKey = db.KeyRandom();
Assert.Null(anyKey);
db.StringSet("abc", "def");
db.StringSet(prefix + "abc", "def");
byte[] keyBytes = db.KeyRandom();
Assert.Equal("abc", Encoding.UTF8.GetString(keyBytes));
Assert.Equal(prefix + "abc", Encoding.UTF8.GetString(keyBytes));
}
}
......@@ -52,17 +54,18 @@ public void Zeros()
using (var conn = Create())
{
var db = conn.GetDatabase();
db.KeyDelete("abc");
db.StringSet("abc", 123);
int k = (int)db.StringGet("abc");
var key = Me();
db.KeyDelete(key);
db.StringSet(key, 123);
int k = (int)db.StringGet(key);
Assert.Equal(123, k);
db.KeyDelete("abc");
int i = (int)db.StringGet("abc");
db.KeyDelete(key);
int i = (int)db.StringGet(key);
Assert.Equal(0, i);
Assert.True(db.StringGet("abc").IsNull);
int? value = (int?)db.StringGet("abc");
Assert.True(db.StringGet(key).IsNull);
int? value = (int?)db.StringGet(key);
Assert.False(value.HasValue);
}
}
......
......@@ -104,10 +104,10 @@ public void TestOpCountByVersionLocal_UpLevel()
private void TestLockOpCountByVersion(ConnectionMultiplexer conn, int expectedOps, bool existFirst)
{
const int DB = 0, LockDuration = 30;
const int LockDuration = 30;
RedisKey Key = Me();
var db = conn.GetDatabase(DB);
var db = conn.GetDatabase();
db.KeyDelete(Key);
RedisValue newVal = "us:" + Guid.NewGuid().ToString();
RedisValue expectedVal = newVal;
......@@ -237,7 +237,7 @@ public void TestBasicLockNotTaken(TestMode testMode)
Task<TimeSpan?> ttl = null;
const int LOOP = 50;
var db = conn.GetDatabase(0);
var db = conn.GetDatabase();
var key = Me();
for (int i = 0; i < LOOP; i++)
{
......@@ -260,7 +260,7 @@ public void TestBasicLockTaken(TestMode testMode)
{
using (var conn = Create(testMode))
{
var db = conn.GetDatabase(0);
var db = conn.GetDatabase();
var key = Me();
db.KeyDelete(key);
db.StringSet(key, "old-value", TimeSpan.FromSeconds(20));
......
......@@ -13,7 +13,7 @@ public void AddSortedSetEveryWay()
{
using (var conn = Create())
{
var db = conn.GetDatabase(3);
var db = conn.GetDatabase();
RedisKey key = Me();
db.KeyDelete(key);
......@@ -45,7 +45,7 @@ public void AddHashEveryWay()
{
using (var conn = Create())
{
var db = conn.GetDatabase(3);
var db = conn.GetDatabase();
RedisKey key = Me();
db.KeyDelete(key);
......@@ -77,7 +77,7 @@ public void AddSetEveryWay()
{
using (var conn = Create())
{
var db = conn.GetDatabase(3);
var db = conn.GetDatabase();
RedisKey key = Me();
db.KeyDelete(key);
......@@ -98,7 +98,7 @@ public void AddSetEveryWayNumbers()
{
using (var conn = Create())
{
var db = conn.GetDatabase(3);
var db = conn.GetDatabase();
RedisKey key = Me();
db.KeyDelete(key);
......@@ -114,4 +114,4 @@ public void AddSetEveryWayNumbers()
}
}
}
}
\ No newline at end of file
}
......@@ -29,11 +29,11 @@ public void Simple()
conn.RegisterProfiler(profiler);
conn.BeginProfiling(profiler.MyContext);
var db = conn.GetDatabase(4);
var db = conn.GetDatabase();
db.StringSet(key, "world");
var val = db.StringGet(key);
Assert.Equal("world", (string)val);
var result=db.ScriptEvaluate(LuaScript.Prepare("return redis.call('get', @key)"), new { key = (RedisKey)key });
var result = db.ScriptEvaluate(LuaScript.Prepare("return redis.call('get', @key)"), new { key = (RedisKey)key });
Assert.Equal("world", result.AsString());
var cmds = conn.FinishProfiling(profiler.MyContext);
......
......@@ -20,7 +20,7 @@ public void ConnectToSSDB()
RedisKey key = Me();
using (var conn = ConnectionMultiplexer.Connect(config))
{
var db = conn.GetDatabase(0);
var db = conn.GetDatabase();
db.KeyDelete(key);
Assert.True(db.StringGet(key).IsNull);
db.StringSet(key, "abc");
......
......@@ -18,23 +18,23 @@ public void KeysScan(bool supported)
string[] disabledCommands = supported ? null : new[] { "scan" };
using (var conn = Create(disabledCommands: disabledCommands, allowAdmin: true))
{
const int DB = 7;
var db = conn.GetDatabase(DB);
var dbId = TestConfig.GetDedicatedDB();
var db = conn.GetDatabase(dbId);
var prefix = Me() + ":";
var server = GetServer(conn);
server.FlushDatabase(DB);
server.FlushDatabase(dbId);
for (int i = 0; i < 100; i++)
{
db.StringSet(prefix + i, Guid.NewGuid().ToString(), flags: CommandFlags.FireAndForget);
}
var seq = server.Keys(DB, pageSize: 50);
var seq = server.Keys(dbId, pageSize: 50);
bool isScanning = seq is IScanningCursor;
Assert.Equal(supported, isScanning);
Assert.Equal(100, seq.Distinct().Count());
Assert.Equal(100, seq.Distinct().Count());
Assert.Equal(100, server.Keys(DB, prefix + "*").Distinct().Count());
Assert.Equal(100, server.Keys(dbId, prefix + "*").Distinct().Count());
// 7, 70, 71, ..., 79
Assert.Equal(11, server.Keys(DB, prefix + "7*").Distinct().Count());
Assert.Equal(11, server.Keys(dbId, prefix + "7*").Distinct().Count());
}
}
......@@ -44,15 +44,15 @@ public void ScansIScanning()
using (var conn = Create(allowAdmin: true))
{
var prefix = Me() + Guid.NewGuid();
const int DB = 7;
var db = conn.GetDatabase(DB);
var dbId = TestConfig.GetDedicatedDB();
var db = conn.GetDatabase(dbId);
var server = GetServer(conn);
server.FlushDatabase(DB);
server.FlushDatabase(dbId);
for (int i = 0; i < 100; i++)
{
db.StringSet(prefix + i, Guid.NewGuid().ToString(), flags: CommandFlags.FireAndForget);
}
var seq = server.Keys(DB, prefix + "*", pageSize: 15);
var seq = server.Keys(dbId, prefix + "*", pageSize: 15);
using (var iter = seq.GetEnumerator())
{
IScanningCursor s0 = (IScanningCursor)seq, s1 = (IScanningCursor)iter;
......@@ -91,14 +91,13 @@ public void ScanResume()
{
using (var conn = Create(allowAdmin: true))
{
const int DB = 7;
// only goes up to 3.*, so...
Skip.IfMissingFeature(conn, nameof(RedisFeatures.Scan), x => x.Scan);
var db = conn.GetDatabase(DB);
var dbId = TestConfig.GetDedicatedDB();
var db = conn.GetDatabase(dbId);
var prefix = Me();
var server = GetServer(conn);
server.FlushDatabase(DB);
server.FlushDatabase(dbId);
int i;
for (i = 0; i < 100; i++)
{
......@@ -110,7 +109,7 @@ public void ScanResume()
int snapOffset = 0, snapPageSize = 0;
i = 0;
var seq = server.Keys(DB, prefix + ":*", pageSize: 15);
var seq = server.Keys(dbId, prefix + ":*", pageSize: 15);
foreach (var key in seq)
{
if (i == 57)
......@@ -137,7 +136,7 @@ public void ScanResume()
// make the following assertion:
// Assert.Equal(12, snapOffset);
seq = server.Keys(DB, prefix + ":*", pageSize: 15, cursor: snapCursor, pageOffset: snapOffset);
seq = server.Keys(dbId, prefix + ":*", pageSize: 15, cursor: snapCursor, pageOffset: snapOffset);
var seqCur = (IScanningCursor)seq;
Assert.Equal(snapCursor, seqCur.Cursor);
Assert.Equal(snapPageSize, seqCur.PageSize);
......
......@@ -484,7 +484,7 @@ public void LuaScriptWithWrappedDatabase()
using (var conn = Create(allowAdmin: true))
{
Skip.IfMissingFeature(conn, nameof(RedisFeatures.Scripting), f => f.Scripting);
var db = conn.GetDatabase(0);
var db = conn.GetDatabase();
var wrappedDb = KeyspaceIsolation.DatabaseExtensions.WithKeyPrefix(db, "prefix-");
var key = Me();
db.KeyDelete(key);
......@@ -510,7 +510,7 @@ public void LoadedLuaScriptWithWrappedDatabase()
using (var conn = Create(allowAdmin: true))
{
Skip.IfMissingFeature(conn, nameof(RedisFeatures.Scripting), f => f.Scripting);
var db = conn.GetDatabase(0);
var db = conn.GetDatabase();
var wrappedDb = KeyspaceIsolation.DatabaseExtensions.WithKeyPrefix(db, "prefix2-");
var key = Me();
db.KeyDelete(key);
......
......@@ -14,7 +14,7 @@ public void BlankPrefixYieldsSame_Bytes()
{
using (var conn = Create())
{
var raw = conn.GetDatabase(1);
var raw = conn.GetDatabase();
var prefixed = raw.WithKeyPrefix(new byte[0]);
Assert.Same(raw, prefixed);
}
......@@ -25,7 +25,7 @@ public void BlankPrefixYieldsSame_String()
{
using (var conn = Create())
{
var raw = conn.GetDatabase(1);
var raw = conn.GetDatabase();
var prefixed = raw.WithKeyPrefix("");
Assert.Same(raw, prefixed);
}
......@@ -37,7 +37,7 @@ public void NullPrefixIsError_Bytes()
Assert.Throws<ArgumentNullException>(() => {
using (var conn = Create())
{
var raw = conn.GetDatabase(1);
var raw = conn.GetDatabase();
var prefixed = raw.WithKeyPrefix((byte[])null);
}
});
......@@ -49,7 +49,7 @@ public void NullPrefixIsError_String()
Assert.Throws<ArgumentNullException>(() => {
using (var conn = Create())
{
var raw = conn.GetDatabase(1);
var raw = conn.GetDatabase();
var prefixed = raw.WithKeyPrefix((string)null);
}
});
......@@ -72,7 +72,7 @@ public void BasicSmokeTest()
{
using(var conn = Create())
{
var raw = conn.GetDatabase(1);
var raw = conn.GetDatabase();
var prefix = Me();
var foo = raw.WithKeyPrefix(prefix);
......@@ -106,31 +106,32 @@ public void ConditionTest()
{
using(var conn = Create())
{
var raw = conn.GetDatabase(2);
var raw = conn.GetDatabase();
var foo = raw.WithKeyPrefix("tran:");
var prefix = Me() + ":";
var foo = raw.WithKeyPrefix(prefix);
raw.KeyDelete("tran:abc");
raw.KeyDelete("tran:i");
raw.KeyDelete(prefix + "abc");
raw.KeyDelete(prefix + "i");
// execute while key exists
raw.StringSet("tran:abc", "def");
raw.StringSet(prefix + "abc", "def");
var tran = foo.CreateTransaction();
tran.AddCondition(Condition.KeyExists("abc"));
tran.StringIncrementAsync("i");
tran.Execute();
int i = (int)raw.StringGet("tran:i");
int i = (int)raw.StringGet(prefix + "i");
Assert.Equal(1, i);
// repeat without key
raw.KeyDelete("tran:abc");
raw.KeyDelete(prefix + "abc");
tran = foo.CreateTransaction();
tran.AddCondition(Condition.KeyExists("abc"));
tran.StringIncrementAsync("i");
tran.Execute();
i = (int)raw.StringGet("tran:i");
i = (int)raw.StringGet(prefix + "i");
Assert.Equal(1, i);
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment