public void CreateFeatures()
        {
            var mockLocalRequest = new Mock<IRequest>();
            mockLocalRequest.SetupGet(x => x.Url).Returns(new Uri("http://localhost/"));
            localRequest = mockLocalRequest.Object;

            var mockNonLocalRequest = new Mock<IRequest>();
            mockNonLocalRequest.SetupGet(x => x.Url).Returns(new Uri("http://example.com"));
            nonLocalRequest = mockNonLocalRequest.Object;

            switchboard = new FeatureSwitchboard(null)
                .Add(alwaysEnabled, alwaysDisabled, localhostOnly);
        }
Esempio n. 2
0
        public Application(ISettings settings)
        {
            log.Debug("Starting up Dolstagis.Web");
            log.Trace(() => "Settings: " + Newtonsoft.Json.JsonConvert.SerializeObject(settings));

            Features  = new FeatureSwitchboard(this);
            Settings  = settings;
            Container = new Container();
            Container.Configure(x => {
                x.For <ISettings>().Use(settings);
                x.For <Application>().Use(this);
                x.AddRegistry <CoreServices>();
            });

            AddAllFeaturesInAssembly(this.GetType().Assembly);
        }
Esempio n. 3
0
        public void CreateFeatures()
        {
            var mockAlwaysEnabled = new Mock <IFeatureSwitch>();

            mockAlwaysEnabled.Setup(x => x.IsEnabledForRequest(It.IsAny <IRequest>()))
            .Returns(Task.FromResult(true));
            alwaysEnabledSwitch = mockAlwaysEnabled.Object;

            var mockAlwaysDisabled = new Mock <IFeatureSwitch>();

            mockAlwaysDisabled.Setup(x => x.IsEnabledForRequest(It.IsAny <IRequest>()))
            .Returns(Task.FromResult(false));
            alwaysDisabledSwitch = mockAlwaysDisabled.Object;

            var mockLocalhostOnly = new Mock <IFeatureSwitch>();

            mockLocalhostOnly.Setup(x => x.IsEnabledForRequest(It.IsAny <IRequest>()))
            .Returns(Task.FromResult(false));
            mockLocalhostOnly.Setup(x => x.IsEnabledForRequest(It.Is <IRequest>(req => req.Url.IsLoopback)))
            .Returns(Task.FromResult(true));
            localhostOnlySwitch = mockLocalhostOnly.Object;

            var mockLocalRequest = new Mock <IRequest>();

            mockLocalRequest.SetupGet(x => x.Url).Returns(new Uri("http://localhost/"));
            localRequest = mockLocalRequest.Object;

            var mockNonLocalRequest = new Mock <IRequest>();

            mockNonLocalRequest.SetupGet(x => x.Url).Returns(new Uri("http://example.com"));
            nonLocalRequest = mockNonLocalRequest.Object;


            switchboard = new FeatureSwitchboard(null)
                          .Add(this.alwaysEnabledSwitch, this.alwaysEnabled)
                          .Add(this.alwaysDisabledSwitch, this.alwaysDisabled)
                          .Add(this.localhostOnlySwitch, this.localhostOnly);
        }