コード例 #1
0
        public void ConfigurationAggregatesCommonMachineAndApplication()
        {
            string appName     = $"{nameof(ConfigurationAggregatesCommonMachineAndApplication)}_TestAppName";
            string machineName = $"{nameof(ConfigurationAggregatesCommonMachineAndApplication)}_TestMachineName";
            CoreConfigurationService configSvc = GetTestCoreConfigurationService(nameof(ConfigurationAggregatesCommonMachineAndApplication));

            configSvc.SetCommonConfiguration(new Dictionary <string, string>
            {
                { "CommonKey1", "CommonValue1" },
                { "CommonKey2", "CommonValue2" },
                { "CommonOverride", "BAD-Comomon" },
                { "CommonOverride2", "BAD-Common" }
            });
            configSvc.SetMachineConfiguration(machineName, new Dictionary <string, string>
            {
                { "MachineKey1", "MachineValue1" },
                { "MachineKey2", "MachineValue2" },
                { "MachineOverride", "BAD-Machine" },
                { "CommonOverride2", "GOOD-Machine" }
            });
            configSvc.SetApplicationConfiguration(new Dictionary <string, string>
            {
                { "ApplicationKey1", "ApplicationValue1" },
                { "ApplicationKey2", "ApplicationValue2" },
                { "CommonOverride", "GOOD-AppOverrideCommon" },
                { "MachineOverride", "GOOD-AppOverrideMachine" }
            }, appName);
            ApplicationConfiguration appConfig = configSvc.GetConfiguration(appName, machineName);

            AssertExpectations(appConfig);
        }
コード例 #2
0
        private CoreConfigurationService GetTestCoreConfigurationService(string testName)
        {
            string   appName           = $"{testName}_TestAppName";
            string   userDbPath        = $".\\{testName}_Test";
            string   configurationName = $"{testName}_TestConfigName";
            string   testUserName      = $"{testName}_TestUserName";
            Database userDb            = new SQLiteDatabase(testName);
            ApplicationRegistrationRepository coreRepo = new ApplicationRegistrationRepository();

            coreRepo.Database = new SQLiteDatabase($"{testName}_coredb");
            userDb.TryEnsureSchema <UserAccounts.Data.User>();
            Db.For <UserAccounts.Data.User>(userDb);

            CoreConfigurationService configSvc = new CoreConfigurationService(coreRepo, new Server.AppConf(), userDbPath);

            configSvc.DaoRepository = coreRepo;
            IApplicationNameProvider appNameProvider = Substitute.For <IApplicationNameProvider>();

            appNameProvider.GetApplicationName().Returns(appName);
            configSvc.ApplicationNameProvider = appNameProvider;

            IUserManager userMgr = Substitute.For <IUserManager>();

            UserAccounts.Data.User testUser = new UserAccounts.Data.User();
            testUser.UserName = testUserName;
            userMgr.GetUser(Arg.Any <IHttpContext>()).Returns(testUser);
            configSvc.UserManager = userMgr;
            return(configSvc);
        }
コード例 #3
0
        public void CanSetAndGetCommonConfiguration()
        {
            string appName                     = $"{nameof(CanSetAndGetCommonConfiguration)}_TestAppName";
            string configurationName           = $"{nameof(CanSetAndGetCommonConfiguration)}_TestConfigName";
            CoreConfigurationService configSvc = GetTestCoreConfigurationService(nameof(CanSetAndGetCommonConfiguration));

            configSvc.SetCommonConfiguration(new Dictionary <string, string>
            {
                { "key1", "value1" },
                { "key2", "value2" }
            });

            Dictionary <string, string> config = configSvc.GetCommonConfiguration();

            Expect.AreEqual(2, config.Keys.Count);
            Expect.AreEqual(2, config.Values.Count);
            Expect.AreEqual("value1", config["key1"]);
            Expect.AreEqual("value2", config["key2"]);
        }
コード例 #4
0
        public void ApplicationSettingOverridesMachine()
        {
            string appName                     = $"{nameof(ApplicationSettingOverridesMachine)}_TestAppName";
            string configurationName           = $"{nameof(ApplicationSettingOverridesMachine)}_TestConfigName";
            string expectedValue               = "ApplicationValue";
            string machineName                 = Machine.Current.Name;
            CoreConfigurationService configSvc = GetTestCoreConfigurationService(nameof(ApplicationSettingOverridesMachine));

            configSvc.SetMachineConfiguration(machineName, new Dictionary <string, string>
            {
                { "key1", "MachineValue" }
            }, configurationName);
            configSvc.SetApplicationConfiguration(new Dictionary <string, string>
            {
                { "key1", expectedValue },
                { "key2", "value2" }
            }, appName, configurationName);

            Dictionary <string, string> config = configSvc.GetConfiguration(appName, machineName, configurationName).ToDictionary();

            Expect.AreEqual(expectedValue, config["key1"]);
            Expect.AreEqual("value2", config["key2"]);
        }