public void GetADGroupUserAttributes_Called_DirectoryDisposed()
        {
            // Arrange
            var directoryShims = DirectoryShims.ShimDirectoryCalls();

            ShimDirectorySearcher.ConstructorDirectoryEntryString = (instance, _, __) =>
            {
                new ShimDirectorySearcher(instance)
                {
                    FindOne = () => directoryShims.SearchResultShim
                };
            };
            var table = new DataTable();

            table.Columns.Add(ColumnSid);
            _adSyncObject.SetField("_adUsers", table);

            // Act
            var result = _adSync.GetADGroupUserAttributes(string.Empty, string.Empty);

            // Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(SamplePropertyValue.ToLower(), result.FirstOrDefault());
            Assert.IsTrue(directoryShims.DirectorySearchersDisposed.Any());
            Assert.AreEqual(2, directoryShims.DirectoryEntriesDisposed.Count);
        }
        public void AddResourceToDataTable_Called_DirectoryDisposed()
        {
            // Arrange
            var directoryShims = DirectoryShims.ShimDirectoryCalls();

            ShimDirectorySearcher.ConstructorDirectoryEntryString = (instance, _, __) =>
            {
                new ShimDirectorySearcher(instance)
                {
                    FindOne = () => directoryShims.SearchResultShim
                };
            };
            var table = new DataTable();

            table.Columns.Add(ColumnSid);
            _adSyncObject.SetField("_adUsers", table);

            // Act
            _adSyncObject.Invoke("AddResourceToDataTable", string.Empty);

            // Assert
            Assert.AreEqual(SampleSid, table.Rows[0][ColumnSid]);
            Assert.IsTrue(directoryShims.DirectorySearchersDisposed.Any());
            Assert.IsTrue(directoryShims.DirectoryEntriesDisposed.Any());
        }
        public void userDeleted_Called_DirectoryDisposed()
        {
            // Arrange
            var directoryShims = DirectoryShims.ShimDirectoryCalls();

            // Act
            var result = _adSyncObject.Invoke("userDeleted", SampleSid);

            // Assert
            Assert.IsInstanceOfType(result, typeof(bool));
            Assert.IsFalse((bool)result);
            Assert.IsTrue(directoryShims.DirectoryEntriesDisposed.Any());
        }
Пример #4
0
        public void getUserFromAD_NameNotEmpty_DirectorySearcherEntry()
        {
            // Arrange
            const string userName = "******";

            ShimCoreFunctions.getDomain = () => string.Empty;
            var directoryShims = DirectoryShims.ShimDirectoryCalls();

            // Act
            CoreFunctions.getUserFromAD(userName);

            // Assert
            Assert.AreEqual(1, directoryShims.DirectorySearchersDisposed.Count);
            Assert.AreEqual(directoryShims.DirectoryEntriesDisposed[0], directoryShims.DirectorySearchersDisposed[0].SearchRoot);
            Assert.AreEqual($"(&(objectClass=user) (cn={userName}))", directoryShims.DirectorySearchersDisposed[0].Filter);
        }
Пример #5
0
        public void getUserFromAD_NameNotEmpty_CorretlyManagesDirectoryEntry()
        {
            // Arrange
            const string userName = "******";

            ShimCoreFunctions.getDomain = () => string.Empty;
            var directoryShims = DirectoryShims.ShimDirectoryCalls();

            // Act
            CoreFunctions.getUserFromAD(userName);

            // Assert
            Assert.AreEqual(1, directoryShims.DirectoryEntriesDisposed.Count);
            Assert.AreEqual(AuthenticationTypes.Secure, directoryShims.DirectoryEntriesDisposed[0].AuthenticationType);
            Assert.IsTrue(directoryShims.DirectoryEntriesDisposed[0].Path.StartsWith("LDAP://"));
        }
        public void GetGroups_Called_DirectoryDisposed()
        {
            // Arrange
            var directoryShims = DirectoryShims.ShimDirectoryCalls();

            directoryShims.DirectoryEntryShim.NameGet = () => SampleName;

            // Act
            var result = _adSync.GetGroups(string.Empty);

            // Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(1, result.Count);
            Assert.AreEqual(SampleName, result[0]);
            Assert.IsTrue(directoryShims.DirectorySearchersDisposed.Any());
            Assert.IsTrue(directoryShims.DirectoryEntriesDisposed.Any());
        }
        public void userDisabled_Called_DirectoryDisposed()
        {
            // Arrange
            var directoryShims = DirectoryShims.ShimDirectoryCalls();

            ShimDirectorySearcher.ConstructorDirectoryEntry = (instance, _) =>
            {
                new ShimDirectorySearcher(instance)
                {
                    FindOne = () => directoryShims.SearchResultShim
                };
            };

            // Act
            var result = _adSyncObject.Invoke("userDisabled", SampleSid);

            // Assert
            Assert.IsInstanceOfType(result, typeof(bool));
            Assert.IsTrue((bool)result);
            Assert.IsTrue(directoryShims.DirectorySearchersDisposed.Any());
            Assert.IsTrue(directoryShims.DirectoryEntriesDisposed.Any());
        }
        public void PopulateAllGroupUserAttributes_Called_DirectoryDisposed()
        {
            // Arrange
            var directoryShims = DirectoryShims.ShimDirectoryCalls();

            ShimDirectorySearcher.ConstructorDirectoryEntryString = (instance, _, __) =>
            {
                new ShimDirectorySearcher(instance)
                {
                    FindOne = () => directoryShims.SearchResultShim
                };
            };
            var table = new Hashtable
            {
                { SampleGroup, SampleGroup }
            };

            _adSyncObject.SetField("_adGroupNameAndPath", table);
            _adSyncObject.SetField("_groupName", SampleGroup);
            _adSyncObject.SetField("_adExclusions", new ArrayList());

            ShimADSync.GetSizeLimit = () => 1;
            ShimADSync.AllInstances.GetUserSIDString             = (_, __) => SampleSid;
            ShimADSync.AllInstances.userDisabledString           = (_, __) => false;
            ShimADSync.AllInstances.AddResourceToDataTableString = (_, __) => { };

            // Act
            var result = _adSyncObject.Invoke("PopulateAllGroupUserAttributes");

            // Assert
            Assert.IsInstanceOfType(result, typeof(bool));
            Assert.IsTrue((bool)result);
            var hasErrors = _adSyncObject.GetField("_hasErrors");

            Assert.IsInstanceOfType(hasErrors, typeof(bool));
            Assert.IsFalse((bool)hasErrors);
            Assert.IsTrue(directoryShims.DirectorySearchersDisposed.Any());
            Assert.IsTrue(directoryShims.DirectoryEntriesDisposed.Any());
        }