Example #1
0
        public static void AddLocalFolder(this Mock <IMetaDataStorage> storage, string path, string id, Guid uuid)
        {
            var folder = new Mock <IMappedObject>();

            folder.Setup(f => f.Name).Returns(System.IO.Path.GetDirectoryName(path));
            folder.Setup(f => f.RemoteObjectId).Returns(id);
            folder.Setup(f => f.Type).Returns(MappedObjectType.Folder);
            folder.Setup(f => f.Guid).Returns(uuid);
            storage.AddMappedFolder(folder.Object, path);
        }
Example #2
0
        public static Mock <IMappedObject> AddLocalFolder(this Mock <IMetaDataStorage> db, IDirectoryInfo path, string id)
        {
            var folder = new Mock <IMappedObject>();

            folder.Setup(f => f.Name).Returns(path.Name);
            folder.Setup(f => f.RemoteObjectId).Returns(id);
            folder.Setup(f => f.Type).Returns(MappedObjectType.Folder);
            db.AddMappedFolder(folder.Object, path.FullName);
            return(folder);
        }
        public static void AddLocalFolder(this Mock <IMetaDataStorage> storage, string path, string id, Guid uuid)
        {
            var folder = new Mock <IMappedObject>();

            folder.SetupAllProperties();
            folder.Setup(o => o.Type).Returns(MappedObjectType.Folder);
            folder.Object.Name           = Path.GetDirectoryName(path);
            folder.Object.RemoteObjectId = id;
            folder.Object.Guid           = uuid;
            storage.AddMappedFolder(folder.Object, path);
        }
        public static Mock <IMappedObject> AddLocalFolder(this Mock <IMetaDataStorage> db, IDirectoryInfo path, string id)
        {
            var folder = new Mock <IMappedObject>();

            folder.SetupAllProperties();
            folder.Setup(o => o.Type).Returns(MappedObjectType.Folder);
            folder.Object.Name           = path.Name;
            folder.Object.RemoteObjectId = id;
            db.AddMappedFolder(folder.Object, path.FullName);
            return(folder);
        }
        public void StorageDeletesAllChildrenOfStoredEntry()
        {
            var objectId    = Guid.NewGuid().ToString();
            var subObjectId = Guid.NewGuid().ToString();
            var collection  = new Mock <IIgnoredEntitiesCollection>();
            var storage     = new Mock <IMetaDataStorage>(MockBehavior.Strict);
            var folder      = Mock.Of <IMappedObject>(f => f.Type == MappedObjectType.Folder && f.RemoteObjectId == objectId);
            var subFolder   = Mock.Of <IMappedObject>(f => f.RemoteObjectId == subObjectId && f.ParentId == objectId);
            var children    = new List <IMappedObject>();

            children.Add(subFolder);
            storage.AddMappedFolder(folder);
            storage.Setup(s => s.GetChildren(folder)).Returns(children);
            storage.Setup(s => s.RemoveObject(subFolder));
            storage.AddMappedFolder(subFolder);
            var entry     = Mock.Of <IIgnoredEntity>(e => e.ObjectId == objectId);
            var underTest = new IgnoredEntitiesStorage(collection.Object, storage.Object);

            underTest.AddOrUpdateEntryAndDeleteAllChildrenFromStorage(entry);

            collection.Verify(c => c.Add(entry), Times.Once);
            storage.Verify(s => s.RemoveObject(subFolder), Times.Once);
        }
Example #6
0
        public void FilterHandlesAlreadyMovedFolderEntries()
        {
            string path      = "path";
            string oldPath   = "oldpath";
            Guid   guid      = Guid.NewGuid();
            var    storage   = new Mock <IMetaDataStorage>();
            var    fsFactory = new Mock <IFileSystemInfoFactory>(MockBehavior.Strict);
            var    moveEvent = Mock.Of <IFSMovedEvent>(e => e.LocalPath == path && e.OldPath == oldPath && e.Type == WatcherChangeTypes.Renamed && e.IsDirectory == true);
            var    dirInfo   = Mock.Of <IDirectoryInfo>(d => d.FullName == path && d.Exists == true && d.Uuid == guid);

            fsFactory.AddIDirectoryInfo(dirInfo);
            storage.AddMappedFolder(new MappedObject("path", "remoteId", MappedObjectType.Folder, null, null)
            {
                Guid = guid
            }, path);
            var filter = new IgnoreAlreadyHandledFsEventsFilter(storage.Object, fsFactory.Object);

            Assert.That(filter.Handle(moveEvent), Is.True);
        }
        public void StorageDeletesAllChildrenOfStoredEntry() {
            var objectId = Guid.NewGuid().ToString();
            var subObjectId = Guid.NewGuid().ToString();
            var collection = new Mock<IIgnoredEntitiesCollection>();
            var storage = new Mock<IMetaDataStorage>(MockBehavior.Strict);
            var folder = Mock.Of<IMappedObject>(f => f.Type == MappedObjectType.Folder && f.RemoteObjectId == objectId);
            var subFolder = Mock.Of<IMappedObject>(f => f.RemoteObjectId == subObjectId && f.ParentId == objectId);
            var children = new List<IMappedObject>();
            children.Add(subFolder);
            storage.AddMappedFolder(folder);
            storage.Setup(s => s.GetChildren(folder)).Returns(children);
            storage.Setup(s => s.RemoveObject(subFolder));
            storage.AddMappedFolder(subFolder);
            var entry = Mock.Of<IIgnoredEntity>(e => e.ObjectId == objectId);
            var underTest = new IgnoredEntitiesStorage(collection.Object, storage.Object);

            underTest.AddOrUpdateEntryAndDeleteAllChildrenFromStorage(entry);

            collection.Verify(c => c.Add(entry), Times.Once);
            storage.Verify(s => s.RemoveObject(subFolder), Times.Once);
        }
        public void FilterHandlesAlreadyMovedFolderEntries() {
            string path = "path";
            string oldPath = "oldpath";
            Guid guid = Guid.NewGuid();
            var storage = new Mock<IMetaDataStorage>();
            var fsFactory = new Mock<IFileSystemInfoFactory>(MockBehavior.Strict);
            var moveEvent = Mock.Of<IFSMovedEvent>(e => e.LocalPath == path && e.OldPath == oldPath && e.Type == WatcherChangeTypes.Renamed && e.IsDirectory == true);
            var dirInfo = Mock.Of<IDirectoryInfo>(d => d.FullName == path && d.Exists == true && d.Uuid == guid);
            fsFactory.AddIDirectoryInfo(dirInfo);
            storage.AddMappedFolder(new MappedObject("path", "remoteId", MappedObjectType.Folder, null, null) { Guid = guid }, path);
            var filter = new IgnoreAlreadyHandledFsEventsFilter(storage.Object, fsFactory.Object);

            Assert.That(filter.Handle(moveEvent), Is.True);
        }