Beispiel #1
0
 public RemoteVsLocalFile(string filename,
                          SyncableFileRemote remoteFile,
                          SyncableFileLocal localFile,
                          SyncDirection syncDirection)
 {
     Filename   = filename;
     Remote     = remoteFile;
     Local      = localFile;
     Status     = "Comparing...";
     Comparison = GetComparison(Remote, Local, syncDirection);
     Status     = "Idle.";
 }
Beispiel #2
0
 public RemoteVsLocalFile(string filename,
                          SyncableFileRemote remoteFile,
                          SyncableFileLocal localFile,
                          SyncDirection syncDirection)
 {
     Filename   = filename;
     Remote     = remoteFile;
     Local      = localFile;
     Status     = "Comparing...";
     Comparison = GetComparison(Remote, Local, syncDirection);
     Status     = "Idle.";
 }
Beispiel #3
0
 private RemoteVsLocalFile RemVsLoc(SyncableFileLocal locFile, 
                                    SyncableFileRemote remNode, 
                                    SyncDirection syncDirection)
 {
     //return new RemoteVsLocalFile(locFile?.Name ?? remNode.Name)
     //{
     //    Local = locFile,
     //    Remote = RemoteFileInfo(remNode)
     //};
     var fName = locFile?.Name ?? remNode.Name;
     var remFile = RemoteFileInfo(remNode);
     return new RemoteVsLocalFile(fName, remFile, locFile, syncDirection);
 }
Beispiel #4
0
 private SyncableFileRemote RemoteFileInfo(SyncableFileRemote rem)
 {
     if (rem == null) return null;
     return new SyncableFileRemote
     {
         Name      = rem.Name,
         Size      = rem.Size,
         Version   = rem.Version ?? "",
         SHA1      = rem.SHA1,
         Nid       = rem.Nid,
         Vid       = rem.Vid,
         Fid       = rem.Fid
         //UrlOrPath = $"fid: {rem.Fid}"
     };
 }
Beispiel #5
0
        private async Task<FileContentDto> DownloadFile(SyncableFileRemote node, CancellationToken cancelToken)
        {
            FileContentDto ret = null;

            var list = await _client.Get<List<FileContentDto>>
                        (_urlPattern.f(node.Fid), cancelToken);

            if (list == null)
                return Error_(ret, "_client.Get<List<FileContentDto>>() == NULL", "");

            if (list.Count == 0)
                return Warn_(ret, "Remote file not found in server.", $"[nid: {node.Nid}]  {node.Name}");

            if (list.Count > 1)
                return Warn_(ret, "Duplicate files found in server.", string.Join(", ", list.Select(x => x.fid)));

            return Trace_(list[0], "Successfully downloaded file content from server", $"{node.Name}");
        }
Beispiel #6
0
        public void Result_Same()
        {
            var rem = new SyncableFileRemote();
            var loc = new SyncableFileLocal();

            loc.Size    = rem.Size    = 123;
            loc.Version = rem.Version = "v.456";
            loc.SHA1    = rem.SHA1    = "abc-def-ghi";

            var sut    = new RemoteVsLocalFile("file.txt", rem, loc, SyncDirection.Upload);

            sut.Comparison.MustBe(FileDiff.Same, "result state");
            sut.OddProperty.MustBe(null, "odd property");
            sut.NextStep.MustBe(FileTask.Ignore);
            sut.Target.MustBe(Target.Both);
        }