public void TestGetAttributeFilter()
        {
            var logger                 = ContainerFactory.GetContainer().GetInstance <ILogger>();
            var userFilterFactory      = new UserFilterFactory();
            var attributeFilterFactory = new AttributeFilterFactory();
            var service                = new ActiveDirectoryService(logger, userFilterFactory, attributeFilterFactory);
            var filters                = new Dictionary <string, IAttributeFilter>();
            var filter                 = service.GetAttributeFilter("ReadLdapFilter", filters);

            Assert.IsNotNull(filter);
        }
        public void TestGetAttributeFilterMissing()
        {
            var logger                 = ContainerFactory.GetContainer().GetInstance <ILogger>();
            var userFilterFactory      = new UserFilterFactory();
            var attributeFilterFactory = new AttributeFilterFactory();
            var service                = new ActiveDirectoryService(logger, userFilterFactory, attributeFilterFactory);

            try
            {
                var filters = new Dictionary <string, IAttributeFilter>();
                service.GetAttributeFilter("Missing filter", filters);
                Assert.Fail();
            }
            catch (Exception)
            {
                Assert.Pass();
            }
        }
        public void TestBuildActiveDirectoryUser()
        {
            var logger                 = ContainerFactory.GetContainer().GetInstance <ILogger>();
            var config                 = ContainerFactory.GetContainer().GetInstance <IConfigurationService>().GetConfig();
            var jobConfig              = config.Jobs[0];
            var userFilterFactory      = new UserFilterFactory();
            var attributeFilterFactory = new AttributeFilterFactory();
            var service                = new ActiveDirectoryService(logger, userFilterFactory, attributeFilterFactory);

            var searchResult = SearchResultFactory.Construct(new
            {
                sAMAccountName = "leetho0",
                manager        = "Mike Gilbert",
                department     = "development",
                givenName      = "Thomas",
                sn             = "Lee"
            });

            var filters = new Dictionary <string, IAttributeFilter>();

            var user = service.BuildActiveDirectoryUser(searchResult, jobConfig, filters);

            Assert.AreEqual(user.Attributes["sAMAccountName"], "leetho0");
        }