Пример #1
0
        public void LabelSourceControlFailsIfLabelIsOnlyNumeric()
        {
            P4 p4 = CreateP4();

            p4.View       = "//depot/myproject/...";
            p4.ApplyLabel = true;

            try
            {
                p4.LabelSourceControl(IntegrationResultMother.CreateSuccessful("123"));
                Assert.Fail("Perforce labelling should fail if a purely numeric label is attempted to be applied");
            }
            catch (CruiseControlException)
            {}

            VerifyAll();
        }
Пример #2
0
        public void LabelSourceControlIfApplyLabelTrueWithMultiLineViews()
        {
            P4 p4 = CreateP4();

            p4.View       = "//depot/myproj/...,//myotherdepot/proj/...";
            p4.ApplyLabel = true;

            ProcessInfo labelSpecProcess = new ProcessInfo("spec");
            ProcessInfo labelSpecProcessWithStdInContent = new ProcessInfo("spec");

            labelSpecProcessWithStdInContent.StandardInputContent = "Label:	foo-123\n\nDescription:\n	Created by CCNet\n\nOptions:	unlocked\n\nView:\n //depot/myproj/...\n //myotherdepot/proj/...\n";
            ProcessInfo labelSyncProcess = new ProcessInfo("sync");

            processInfoCreatorMock.ExpectAndReturn("CreateProcessInfo", labelSpecProcess, p4, "label -i");
            mockProcessExecutor.ExpectAndReturn("Execute", new ProcessResult("", "", 0, false), labelSpecProcessWithStdInContent);
            processInfoCreatorMock.ExpectAndReturn("CreateProcessInfo", labelSyncProcess, p4, "labelsync -l foo-123");
            mockProcessExecutor.ExpectAndReturn("Execute", new ProcessResult("", "", 0, false), labelSyncProcess);

            // Execute
            p4.LabelSourceControl(IntegrationResultMother.CreateSuccessful("foo-123"));

            // Verify
            VerifyAll();
        }
Пример #3
0
        public void LabelSourceControlIfApplyLabelTrue()
        {
            P4 p4 = CreateP4();

            p4.View       = "//depot/myproject/...";
            p4.ApplyLabel = true;

            ProcessInfo labelSpecProcess = new ProcessInfo("spec");
            ProcessInfo labelSpecProcessWithStdInContent = new ProcessInfo("spec");

            labelSpecProcessWithStdInContent.StandardInputContent = "Label:	foo-123\n\nDescription:\n	Created by CCNet\n\nOptions:	unlocked\n\nView:\n //depot/myproject/...\n";
            ProcessInfo labelSyncProcess = new ProcessInfo("sync");

            processInfoCreatorMock.Setup(creator => creator.CreateProcessInfo(p4, "label -i")).Returns(labelSpecProcess).Verifiable();
            mockProcessExecutor.Setup(executor => executor.Execute(labelSpecProcessWithStdInContent)).Returns(new ProcessResult("", "", 0, false)).Verifiable();
            processInfoCreatorMock.Setup(creator => creator.CreateProcessInfo(p4, "labelsync -l foo-123")).Returns(labelSyncProcess).Verifiable();
            mockProcessExecutor.Setup(executor => executor.Execute(labelSyncProcess)).Returns(new ProcessResult("", "", 0, false)).Verifiable();

            // Execute
            p4.LabelSourceControl(IntegrationResultMother.CreateSuccessful("foo-123"));

            // Verify
            VerifyAll();
        }