Exemplo n.º 1
0
        public void SaveConfigTest()
        {
            RedisConfig redisConfig = new RedisConfig
            {
                AutoStart        = true,
                LocalCacheTime   = 10,
                MaxReadPoolSize  = 1024,
                MaxWritePoolSize = 1024,
                ReadServerList   = "10",
                RecordeLog       = true,
                WriteServerList  = "10"
            };

            redisConfig.RedisItems = new List <RedisItemConfig>
            {
                new RedisItemConfig()
                {
                    Text = "MasterChief"
                },
                new RedisItemConfig()
                {
                    Text = "Config."
                }
            };

            _configContext.Save(redisConfig, "prod");
            _configContext.Save(redisConfig, "alpha");

            RedisConfig prodRedisConfig = _configContext.Get <RedisConfig>("prod");

            Assert.IsNotNull(prodRedisConfig);

            prodRedisConfig = _configContext.Get <RedisConfig>("prod");//文件缓存测试
            Assert.IsNotNull(prodRedisConfig);

            RedisConfig alphaRedisConfig = _configContext.Get <RedisConfig>("alpha");

            Assert.IsNotNull(alphaRedisConfig);

            DaoConfig daoConfig = new DaoConfig
            {
                Log = "server=localhost;database=Sample;uid=sa;pwd=sasa"
            };

            _configContext.Save(daoConfig, "prod");
            _configContext.Save(daoConfig, "alpha");
            DaoConfig prodDaoConfig = _configContext.Get <DaoConfig>("prod");

            Assert.IsNotNull(prodDaoConfig);

            DaoConfig alphaDaoConfig = _configContext.Get <DaoConfig>("alpha");

            Assert.IsNotNull(alphaDaoConfig);
        }
Exemplo n.º 2
0
        public void Can_Start_Stop_Start_Subscribe()
        {
            //arrange
            var cts = new CancellationTokenSource();

            var context = new ConfigContext(new Couchbase.Configuration());

            context.Start(cts);
            context.Subscribe(this);

            context.Stop();

            cts = new CancellationTokenSource();
            context.Start(cts);

            var config = new BucketConfig
            {
                Name = "default",
                Rev  = 1
            };

            context.Publish(config);
            Task.Delay(10, cts.Token).GetAwaiter().GetResult();

            //assert
            Assert.Equal(1u, context.Get("default").Rev);
        }
Exemplo n.º 3
0
        public void Publish_GreaterRevisionExcepted()
        {
            //arrange
            var cts = new CancellationTokenSource();

            var context = new ConfigContext(new Couchbase.Configuration());

            context.Start(cts);
            context.Subscribe(this);

            var config1 = new BucketConfig
            {
                Name = "default",
                Rev  = 1
            };

            var config2 = new BucketConfig
            {
                Name = "default",
                Rev  = 3
            };

            //act
            context.Publish(config1);
            Task.Delay(1, cts.Token).GetAwaiter().GetResult();
            context.Publish(config2);
            Task.Delay(1, cts.Token).GetAwaiter().GetResult();

            //assert
            Assert.Equal(config2.Rev, context.Get("default").Rev);
        }
Exemplo n.º 4
0
        public void Can_Start_Stop_Start_Subscribe()
        {
            //arrange
            var cts = new CancellationTokenSource();

            var context = new ConfigContext(new ClusterOptions());

            context.Start(cts);
            context.Subscribe(_bucket);

            context.Stop();

            cts = new CancellationTokenSource();
            context.Start(cts);

            var config = new BucketConfig
            {
                Name = "default",
                Rev  = 1
            };

            context.Publish(config);
            _event.Wait(cts.Token);

            //assert
            Assert.Equal(1u, context.Get("default").Rev);
        }
Exemplo n.º 5
0
        public void Publish_GreaterRevisionExcepted()
        {
            //arrange
            var cts = new CancellationTokenSource();

            var context = new ConfigContext(new ClusterOptions());

            context.Start(cts);
            context.Subscribe(_bucket);

            var config1 = new BucketConfig
            {
                Name = "default",
                Rev  = 1
            };

            var config2 = new BucketConfig
            {
                Name = "default",
                Rev  = 3
            };

            //act
            context.Publish(config1);

            _event.Wait(cts.Token);

            context.Publish(config2);

            _event.Wait(cts.Token);

            //assert
            Assert.Equal(config2.Rev, context.Get("default").Rev);
        }
Exemplo n.º 6
0
        /// <summary>
        ///     根据appId获取请求通道配置信息
        /// </summary>
        /// <param name="appid">appId</param>
        /// <returns>AppConfig</returns>
        public CheckResult <AppConfig> Get(Guid appid)
        {
            var appConfig = _configContext.Get <AppConfig>(appid.ToString());

            return(appConfig != null
                ? CheckResult <AppConfig> .Success(appConfig)
                : CheckResult <AppConfig> .Fail($"{appid}配置参数缺失."));
        }
Exemplo n.º 7
0
        public void Publish_When_ConfigNotRegistered_Throws_BucketMissingException()
        {
            //arrange
            var cts = new CancellationTokenSource();

            var context = new ConfigContext(new Couchbase.Configuration());

            context.Start(cts);
            context.Subscribe(this);

            Assert.Throws <BucketMissingException>(() => context.Get("default"));
        }
Exemplo n.º 8
0
        public void Get_When_Bucket_Not_Subscribed_Throw_BucketMissingException()
        {
            //arrange
            var cts = new CancellationTokenSource();

            var context = new ConfigContext(new Couchbase.Configuration());

            context.Start(cts);
            context.Subscribe(this);

            //act/assert
            Assert.Throws <BucketMissingException>(() => context.Get("default"));
        }
Exemplo n.º 9
0
 /// <summary>
 ///     获取进程守护配置信息
 /// </summary>
 /// <returns>
 ///     DaemonConfig
 /// </returns>
 public virtual DaemonConfig GetConfig()
 {
     return(ConfigContext.Get <DaemonConfig>());
 }