コード例 #1
0
        public static bool IsActive(string featureId, IQueryHandler <IsFeatureActiveQuery, IsFeatureActiveQueryResult, Feature> handler = null)
        {
            if (string.IsNullOrWhiteSpace(featureId))
            {
                throw new ArgumentException("featureId must not be a null value.");
            }

            IsFeatureActiveQuery query = new IsFeatureActiveQuery(featureId);

            if (handler == null)
            {
                handler        = new IsFeatureActiveQueryHandler();
                handler.Config = new AppConfig();

                IReadRepository <Feature> read = new MongoReadRepository <Feature>();
                read.Initialize(handler.Config);
                handler.ReadRepository = read;

                IWriteRepository <Feature> write = new MongoWriteRepository <Feature>();
                write.Initialize(handler.Config);
                handler.WriteRepository = write;
            }

            IsFeatureActiveQueryResult result = handler.Retrieve(query);

            return(result.IsFeatureActive);
        }
コード例 #2
0
ファイル: FlagTest.cs プロジェクト: charleslbryant/Featurz
            public void IsActive_Should_Return_Inactive_When_Feature_Is_Null()
            {
                var featureRepo = Substitute.For <IReadRepository <Feature> >();
                var query       = new IsFeatureActiveQueryHandler();

                query.ReadRepository = featureRepo;
                string name = "test";

                IList <Feature> features = new List <Feature>();
                Feature         feature  = null;

                features.Add(feature);

                featureRepo.Where(x => x.Name == Arg.Any <string>()).ReturnsForAnyArgs(features);

                bool actual = Flag.IsActive(name, query);

                Assert.IsFalse(actual);
            }
コード例 #3
0
ファイル: FlagTest.cs プロジェクト: charleslbryant/Featurz
            public void IsActive_Should_Return_True_When_Feature_Is_Active()
            {
                var featureRepo = Substitute.For <IReadRepository <Feature> >();
                var query       = new IsFeatureActiveQueryHandler();

                query.ReadRepository = featureRepo;
                string   featureId = "1000";
                string   name      = "test";
                DateTime date      = DateTime.Now;

                IList <Feature> features = new List <Feature>();
                Feature         feature  = new Feature(featureId, date, name, "1", "F1", true);

                features.Add(feature);

                featureRepo.Where(x => x.Name == Arg.Any <string>()).ReturnsForAnyArgs(features);

                bool actual = Flag.IsActive(name, query);

                Assert.IsTrue(actual);
            }