//        private static object syncRoot = new object();
//        private static volatile IDirectoryAccountService instance;
        /** Static Methods **/
        public static IDirectoryAccountService GetDirectoryAccountService()
        {
            //DirectoryAccountService service;
            IDirectoryAccountService instance = null;

            if (instance == null)
            {
                //lock (syncRoot) {
                string className = ConfigurationManager.AppSettings["DirectoryAccountService.ClassName"];
                if (String.IsNullOrEmpty(className))
                {
                    throw new SettingsPropertyNotFoundException("DirectoryAccountService.ClassName is not found in the application or web config. \n Please add <add key=\"DirectoryAccountService.ClassName\" value=\"xyz\" /> to the config file.");
                }
                Type type = Type.GetType(className);

                if (type == null)
                {
                    throw new ConfigurationErrorsException("Invalid class type of " + className + " configured in AppSettings ");
                }
                instance = (IDirectoryAccountService)Activator.CreateInstance(type);
                //}
            }
            else
            {
                //CurrentService.Open();
            }

            return(instance);
        }
Beispiel #2
0
        public void create_active_directory_service_test()
        {
            ConfigurationManager.AppSettings["DirectoryAccountService.ClassName"] = "FrameworkExtKit.Services.DirectoryServices.ActiveDirectoryAccountService";
            ConfigurationManager.AppSettings["DirectoryAccountService.RootEntry"] = "LDAP://DIR.company.com";
            IDirectoryAccountService service = DefaultDirectoryServiceFactory.GetDirectoryAccountService();

            Assert.IsNotNull(service);
            Assert.IsTrue(service is ActiveDirectoryAccountService);
        }
Beispiel #3
0
        public void create_db_directory_service_test()
        {
            ConfigurationManager.AppSettings["DirectoryAccountService.ClassName"] = "FrameworkExtKit.Services.DirectoryServices.DB.DbDirectoryAccountService";
            ConfigurationManager.AppSettings["DirectoryAccountService.RootEntry"] = "DB://DBDirectoryService";
            IDirectoryAccountService service = DefaultDirectoryServiceFactory.GetDirectoryAccountService();

            Assert.IsNotNull(service);
            Assert.IsTrue(service is DbDirectoryAccountService);
        }
Beispiel #4
0
        public void create_invalid_directory_service_test()
        {
            ConfigurationManager.AppSettings["DirectoryAccountService.ClassName"] = "";
            ConfigurationManager.AppSettings["DirectoryAccountService.RootEntry"] = "DB://DBDirectoryService";

            Assert.Catch <Exception>(() => {
                IDirectoryAccountService service = DefaultDirectoryServiceFactory.GetDirectoryAccountService();
            },
                                     "DirectoryAccountService.ClassName is not found in the application or web config. \n Please add <add key=\"DirectoryAccountService.ClassName\" value=\"xyz\" /> to the config file."
                                     );
        }
 public void SetUp()
 {
     service = new LdapDirectoryAccountService();
 }