public void FileMovedDetectionOnChangeEvent()
        {
            string fileName     = "old";
            string oldLocalPath = Path.Combine(Path.GetTempPath(), fileName);
            string remoteId     = "remoteId";
            string oldParentId  = "oldParentId";
            string newParentId  = "newParentId";
            var    remoteFile   = new Mock <IDocument>();

            remoteFile.Setup(f => f.Name).Returns(fileName);
            remoteFile.SetupPath("/new/" + fileName);
            remoteFile.Setup(f => f.Id).Returns(remoteId);
            remoteFile.SetupParent(Mock.Of <IFolder>(p => p.Id == newParentId));
            var mappedParentFolder = Mock.Of <IMappedObject>(p =>
                                                             p.RemoteObjectId == oldParentId &&
                                                             p.Type == MappedObjectType.Folder);
            var mappedFile = this.storage.AddLocalFile(oldLocalPath, remoteId);

            mappedFile.Setup(f => f.Name).Returns(fileName);
            mappedFile.Setup(f => f.ParentId).Returns(mappedParentFolder.RemoteObjectId);
            var fileEvent = new FileEvent(remoteFile: remoteFile.Object)
            {
                Remote = MetaDataChangeType.CHANGED
            };

            var underTest = new RemoteSituationDetection();

            Assert.AreEqual(SituationType.MOVED, underTest.Analyse(this.storage.Object, fileEvent));
        }
 public static Mock<IDocument> CreateRemoteDocumentMock(string documentContentStreamId, string id, string name, IFolder parent, long contentLength = 0, byte[] content = null, string changeToken = "changetoken") {
     var newRemoteObject = new Mock<IDocument>();
     newRemoteObject.Setup(d => d.ContentStreamId).Returns(documentContentStreamId);
     newRemoteObject.Setup(d => d.ContentStreamLength).Returns(contentLength);
     newRemoteObject.Setup(d => d.Id).Returns(id);
     newRemoteObject.Setup(d => d.Name).Returns(name);
     newRemoteObject.Setup(d => d.Parents).Returns(new List<IFolder>() { parent });
     newRemoteObject.Setup(d => d.ChangeToken).Returns(changeToken);
     newRemoteObject.SetupContent(content, name);
     newRemoteObject.SetupParent(parent);
     return newRemoteObject;
 }
Beispiel #3
0
        public static Mock <IDocument> CreateRemoteDocumentMock(string documentContentStreamId, string id, string name, IFolder parent, long contentLength = 0, byte[] content = null, string changeToken = "changetoken")
        {
            var newRemoteObject = new Mock <IDocument>();

            newRemoteObject.Setup(d => d.ContentStreamId).Returns(documentContentStreamId);
            newRemoteObject.Setup(d => d.ContentStreamLength).Returns(contentLength);
            newRemoteObject.Setup(d => d.Id).Returns(id);
            newRemoteObject.Setup(d => d.Name).Returns(name);
            newRemoteObject.Setup(d => d.ChangeToken).Returns(changeToken);
            newRemoteObject.SetupContent(content, name);
            newRemoteObject.SetupParent(parent);
            return(newRemoteObject);
        }
        public void FileMovedDetectionOnChangeEvent() {
            string fileName = "old";
            string oldLocalPath = Path.Combine(Path.GetTempPath(), fileName);
            string remoteId = "remoteId";
            string oldParentId = "oldParentId";
            string newParentId = "newParentId";
            var remoteFile = new Mock<IDocument>();
            remoteFile.Setup(f => f.Name).Returns(fileName);
            remoteFile.SetupPath("/new/" + fileName);
            remoteFile.Setup(f => f.Id).Returns(remoteId);
            remoteFile.SetupParent(Mock.Of<IFolder>(p => p.Id == newParentId));
            var mappedParentFolder = Mock.Of<IMappedObject>(p =>
                p.RemoteObjectId == oldParentId &&
                p.Type == MappedObjectType.Folder);
            var mappedFile = this.storage.AddLocalFile(oldLocalPath, remoteId);
            mappedFile.Setup(f => f.Name).Returns(fileName);
            mappedFile.Setup(f => f.ParentId).Returns(mappedParentFolder.RemoteObjectId);
            var fileEvent = new FileEvent(remoteFile: remoteFile.Object) { Remote = MetaDataChangeType.CHANGED };

            var underTest = new RemoteSituationDetection();

            Assert.AreEqual(SituationType.MOVED, underTest.Analyse(this.storage.Object, fileEvent));
        }