using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Net; using Xunit; using Xunit.Extensions; using Xunit.Abstractions; using Xunit.Sdk; using StackExchange; using StackExchange.Redis; using RedisStuy; using Moq; namespace RedisStudyTest { public class RedisHelperTest { [Fact] public void ConnectionMultiplexer_Singleton_Test() { var connect = RedisHelper.GetConnectionMultiplexer(); var connect2 = RedisHelper.GetConnectionMultiplexer(); Assert.Same(connect, connect2); } [Fact] public void ConnectionMultiplexerTest() { var connectionMultiplexer = RedisHelper.GetConnectionMultiplexer(); Assert.NotNull(connectionMultiplexer); //验证配置项 var options = ConfigurationOptions.Parse(connectionMultiplexer.Configuration); Assert.Equal(200, options.KeepAlive); Assert.Equal(1, options.DefaultDatabase); Assert.True(options.AllowAdmin); Assert.Contains(new IPEndPoint(IPAddress.Parse("127.0.0.1"), 6379), options.EndPoints); } [Fact] public void GetRedisDatabaseTest() { var db= RedisHelper.GetRedisDatabase(); Assert.True(db != null); Assert.Contains("127.0.0.1", db.Multiplexer.Configuration); Assert.Equal(1, db.Database); } [Fact] public void GetRedisDatabaseTest2() { var db = RedisHelper.GetRedisDatabase(-1); Assert.Equal(0, db.Database); db = RedisHelper.GetRedisDatabase(16); Assert.Equal(0, db.Database); db = RedisHelper.GetRedisDatabase(); Assert.Equal(1, db.Database); db = RedisHelper.GetRedisDatabase(1); Assert.Equal(1, db.Database); } [Fact] public void GetServerTest() { var redisServer = RedisHelper.GetDefaultRedisServer(); Assert.NotNull(redisServer); } [Fact] public void GetAllServerTest() { var redisServer = RedisHelper.GetAllRedisServer(); Assert.NotNull(redisServer); Assert.Single(redisServer); } } }