예제 #1
0
        public void Constructor_LdapNameDefinedInConfig_ReturnsLdapConfigWithServerConfigSetFromFactory()
        {
            var config = CreateConfig("<ldapServer default='true' value='ldapServer' />");

            A.CallTo(() => configRepository.GetConfig()).Returns(config);

            var serverConfig = A.Fake <IServerConfig>();

            A.CallTo(() => serverConfigFactory.Create(A <IConfig> .Ignored)).Returns(serverConfig);

            var ldapConfig = new LdapConfig("ldapServer",
                                            configRepository,
                                            serverConfigFactory,
                                            usersConfigFactory,
                                            groupsConfigFactory);

            Assert.AreSame(serverConfig, ldapConfig.Server);
        }
예제 #2
0
        private void Configure(object sender, EventArgs e)
        {
            var config = sender as IConfig;

            if (config != null)
            {
                config.Discarded -= Configure;
            }

            config = configRepository.GetConfig();
            var configSection = GetConfigSection(config);

            serverConfig = serverConfigFactory.Create(configSection);
            usersConfig  = usersConfigFactory.Create(configSection);
            groupsConfig = groupsConfigFactory.Create(configSection);

            container = new Container(this);

            // Auto reconfigure all values when this config object is disposed (droped from the cache)
            config.Discarded += Configure;
        }