Example #1
0
 public void Clone_LocalRepoEmpty_ReposAreIdentical()
 {
     using (var e = new TestEnvironment("hgresumetest", ApiServerType.Pull))
         using (var provider = GetTransportProviderForTest(e))
         {
             e.RemoteAddAndCommit();
             e.RemoteAddAndCommit();
             e.RemoteAddAndCommit();
             var transport = provider.Transport;
             transport.Clone();
             Assert.That(e.Local.Repository.GetTip().Number.Hash, Is.EqualTo(e.Remote.Repository.GetTip().Number.Hash));
         }
 }
Example #2
0
 public void Clone_LocalRepoEmpty_ReposAreIdentical()
 {
     using (var e = new TestEnvironment("hgresumetest", ApiServerType.Pull))
     using (var provider = GetTransportProviderForTest(e))
     {
         e.RemoteAddAndCommit();
         e.RemoteAddAndCommit();
         e.RemoteAddAndCommit();
         var transport = provider.Transport;
         transport.Clone();
         Assert.That(e.Local.Repository.GetTip().Number.Hash, Is.EqualTo(e.Remote.Repository.GetTip().Number.Hash));
     }
 }
Example #3
0
 public void Push_RemoteRepoIsUnrelated_Throws()
 {
     using (var e1 = new TestEnvironment("hgresumetest", ApiServerType.Push))
         using (var provider = GetTransportProviderForTest(e1))
         {
             e1.LocalAddAndCommit();
             e1.RemoteAddAndCommit();
             var transport = provider.Transport;
             Assert.That(() => transport.Push(), Throws.TypeOf <HgResumeOperationFailed>());
         }
 }
Example #4
0
 public void Pull_BundleInOneChunk_Success()
 {
     using (var e = new TestEnvironment("hgresumetest", ApiServerType.Pull))
         using (var provider = GetTransportProviderForTest(e))
         {
             e.LocalAddAndCommit();
             e.CloneRemoteFromLocal();
             e.RemoteAddAndCommit();
             var transport = provider.Transport;
             transport.Pull();
             Assert.That(e.Progress.AllMessages, Contains.Item("Pull operation completed successfully"));
         }
 }
Example #5
0
 public void Pull_BundleInOneChunk_Success()
 {
     using (var e = new TestEnvironment("hgresumetest", ApiServerType.Pull))
     using (var provider = GetTransportProviderForTest(e))
     {
         e.LocalAddAndCommit();
         e.CloneRemoteFromLocal();
         e.RemoteAddAndCommit();
         var transport = provider.Transport;
         transport.Pull();
         Assert.That(e.Progress.AllMessages, Contains.Item("Pull operation completed successfully"));
     }
 }
Example #6
0
 public void Pull_SucessfulPull_PullBundleDataIsRemoved()
 {
     using (var e = new TestEnvironment("hgresumetest", ApiServerType.Pull))
         using (var provider = GetTransportProviderForTest(e))
         {
             e.LocalAddAndCommit();
             e.CloneRemoteFromLocal();
             e.RemoteAddAndCommit();
             var transport = provider.Transport;
             transport.Pull();
             Assert.That(e.Progress.AllMessages, Contains.Item("Pull operation completed successfully"));
             var dirInfo = new DirectoryInfo(Path.Combine(transport.PathToLocalStorage, "pullData"));
             Assert.That(dirInfo.GetFiles().Length, Is.EqualTo(0));
         }
 }
Example #7
0
 public void Pull_InvalidBaseHashFromServer_ClientRecoversSuccessfully()
 {
     using (var e = new TestEnvironment("hgresumetest", ApiServerType.Pull))
         using (var provider = GetTransportProviderForTest(e))
         {
             e.LocalAddAndCommit();
             e.CloneRemoteFromLocal();
             e.RemoteAddAndCommit();
             var transport = provider.Transport;
             transport.Pull();
             // at this point the local server has cached the tip of the repo
             e.Remote.Repository.RollbackWorkingDirectoryToLastCheckin();
             transport.Pull();
             Assert.That(e.Progress.AllMessages, Has.No.Member("Pull operation failed"));
         }
 }
Example #8
0
 public void Pull_UserCancelsMidwayTheRemoteRepoChanges_PullFinishesSecondPull()
 {
     using (var e = new TestEnvironment("hgresumetest", ApiServerType.Pull))
         using (var provider = GetTransportProviderForTest(e))
         {
             e.LocalAddAndCommit();
             e.CloneRemoteFromLocal();
             e.RemoteAddAndCommitLargeFile();
             e.ApiServer.AddCancelResponse(2);
             var transport = provider.Transport;
             Assert.That(() => transport.Pull(), Throws.Exception.TypeOf <UserCancelledException>());
             e.Progress.CancelRequested = false;
             e.RemoteAddAndCommit();
             transport.Pull();
             IEnumerable <string> msgs = e.Progress.Messages.Where(x => x == "Pull operation completed successfully");
             Assert.That(msgs.ToList(), Has.Count.EqualTo(1));
         }
 }
Example #9
0
 public void Push_UserCancelsMidwayThenRepoChanges_PushDoesNotResume()
 {
     using (var e = new TestEnvironment("hgresumetest", ApiServerType.Push))
         using (var provider = GetTransportProviderForTest(e))
         {
             e.LocalAddAndCommit();
             e.CloneRemoteFromLocal();
             e.LocalAddAndCommitLargeFile();
             e.ApiServer.AddCancelResponse(2);
             var transport = provider.Transport;
             Assert.That(() => transport.Push(), Throws.Exception.TypeOf <UserCancelledException>());
             e.Progress.CancelRequested = false;
             e.RemoteAddAndCommit();
             transport.Push();
             Assert.That(e.Progress.AllMessagesString().Contains("Resuming push operation at"), Is.Not.True);
             Assert.That(e.Progress.AllMessages, Contains.Item("Finished sending"));
         }
 }
Example #10
0
 public void Pull_InvalidBaseHashFromServer_ClientRecoversSuccessfully()
 {
     using (var e = new TestEnvironment("hgresumetest", ApiServerType.Pull))
     using (var provider = GetTransportProviderForTest(e))
     {
         e.LocalAddAndCommit();
         e.CloneRemoteFromLocal();
         e.RemoteAddAndCommit();
         var transport = provider.Transport;
         transport.Pull();
         // at this point the local server has cached the tip of the repo
         e.Remote.Repository.RollbackWorkingDirectoryToLastCheckin();
         transport.Pull();
         Assert.That(e.Progress.AllMessages, Has.No.Member("Pull operation failed"));
     }
 }
Example #11
0
 public void Push_UserCancelsMidwayThenRepoChanges_PushDoesNotResume()
 {
     using (var e = new TestEnvironment("hgresumetest", ApiServerType.Push))
     using (var provider = GetTransportProviderForTest(e))
     {
         e.LocalAddAndCommit();
         e.CloneRemoteFromLocal();
         e.LocalAddAndCommitLargeFile();
         e.ApiServer.AddCancelResponse(2);
         var transport = provider.Transport;
         Assert.That(() => transport.Push(), Throws.Exception.TypeOf<UserCancelledException>());
         e.Progress.CancelRequested = false;
         e.RemoteAddAndCommit();
         transport.Push();
         Assert.That(e.Progress.AllMessagesString().Contains("Resuming push operation at"), Is.Not.True);
         Assert.That(e.Progress.AllMessages, Contains.Item("Finished sending"));
     }
 }
Example #12
0
 public void Push_RemoteRepoIsUnrelated_Throws()
 {
     using (var e1 = new TestEnvironment("hgresumetest", ApiServerType.Push))
     using (var provider = GetTransportProviderForTest(e1))
     {
         e1.LocalAddAndCommit();
         e1.RemoteAddAndCommit();
         var transport = provider.Transport;
         Assert.That(() => transport.Push(), Throws.TypeOf<HgResumeOperationFailed>());
     }
 }
Example #13
0
 public void Pull_UserCancelsMidwayTheRemoteRepoChanges_PullFinishesSecondPull()
 {
     using (var e = new TestEnvironment("hgresumetest", ApiServerType.Pull))
     using (var provider = GetTransportProviderForTest(e))
     {
         e.LocalAddAndCommit();
         e.CloneRemoteFromLocal();
         e.RemoteAddAndCommitLargeFile();
         e.ApiServer.AddCancelResponse(2);
         var transport = provider.Transport;
         Assert.That(() => transport.Pull(), Throws.Exception.TypeOf<UserCancelledException>());
         e.Progress.CancelRequested = false;
         e.RemoteAddAndCommit();
         transport.Pull();
         IEnumerable<string> msgs = e.Progress.Messages.Where(x => x == "Pull operation completed successfully");
         Assert.That(msgs.ToList(), Has.Count.EqualTo(1));
     }
 }
Example #14
0
 public void Pull_SucessfulPull_PullBundleDataIsRemoved()
 {
     using (var e = new TestEnvironment("hgresumetest", ApiServerType.Pull))
     using (var provider = GetTransportProviderForTest(e))
     {
         e.LocalAddAndCommit();
         e.CloneRemoteFromLocal();
         e.RemoteAddAndCommit();
         var transport = provider.Transport;
         transport.Pull();
         Assert.That(e.Progress.AllMessages, Contains.Item("Pull operation completed successfully"));
         var dirInfo = new DirectoryInfo(Path.Combine(transport.PathToLocalStorage, "pullData"));
         Assert.That(dirInfo.GetFiles().Length, Is.EqualTo(0));
     }
 }