public void CanInvokePrePushCallbackAndSucceed()
        {
            bool packBuilderCalled    = false;
            bool prePushHandlerCalled = false;
            PackBuilderProgressHandler packBuilderCb = (x, y, z) => { packBuilderCalled = true; return(true); };
            PrePushHandler             prePushHook   = (IEnumerable <PushUpdate> updates) =>
            {
                Assert.True(updates.Count() == 1, "Expected 1 update, received " + updates.Count());
                prePushHandlerCalled = true;
                return(true);
            };

            AssertPush(repo => repo.Network.Push(repo.Head));
            AssertPush(repo => repo.Network.Push(repo.Branches["master"]));

            PushOptions options = new PushOptions()
            {
                OnPushStatusError                = OnPushStatusError,
                OnPackBuilderProgress            = packBuilderCb,
                OnNegotiationCompletedBeforePush = prePushHook,
            };

            AssertPush(repo => repo.Network.Push(repo.Network.Remotes["origin"], "HEAD", @"refs/heads/master", options));
            Assert.True(packBuilderCalled);
            Assert.True(prePushHandlerCalled);
        }
Ejemplo n.º 2
0
        internal RemoteCallbacks(PushOptions pushOptions)
        {
            if (pushOptions == null)
            {
                return;
            }

            PushTransferProgress = pushOptions.OnPushTransferProgress;
            PackBuilderProgress = pushOptions.OnPackBuilderProgress;
            CredentialsProvider = pushOptions.CredentialsProvider;
            CertificateCheck = pushOptions.CertificateCheck;
            PushStatusError = pushOptions.OnPushStatusError;
            PrePushCallback = pushOptions.OnNegotiationCompletedBeforePush;
        }