Ejemplo n.º 1
0
        private static async Task TestReportJobStarted(ReleaseStatus releaseStatus, bool returnNullRelease, int expectedEventCount)
        {
            // given
            VstsMessage vstsContext = new TestVstsMessage
            {
                VstsHub           = HubType.Release,
                VstsUri           = new Uri("http://vstsUri"),
                VstsPlanUri       = new Uri("http://vstsPlanUri"),
                ReleaseProperties = new VstsReleaseProperties(),
            };

            var mockBuildClient = new MockBuildClient()
            {
                MockBuild = new Build()
                {
                    Status = BuildStatus.None
                },
                ReturnNullBuild = false,
            };
            var mockReleaseClient = new MockReleaseClient()
            {
                MockRelease = new Release()
                {
                    Status = releaseStatus
                },
                ReturnNullRelease = returnNullRelease,
            };
            var mockTaskClient = new MockTaskClient();

            Assert.AreNotEqual(vstsContext.VstsUri, vstsContext.VstsPlanUri, "need to be different to ensure we can test correct one is used");
            var reportingHelper = new TestableJobStatusReportingHelper(vstsContext, new TraceLogger(), mockTaskClient, mockReleaseClient, mockBuildClient);

            // when
            await reportingHelper.ReportJobStarted(DateTime.UtcNow, "test message", default(CancellationToken));

            // then
            Assert.AreEqual(expectedEventCount, mockTaskClient.EventsReceived.Count);
            if (expectedEventCount != 0)
            {
                var taskEvent = mockTaskClient.EventsReceived[0] as JobStartedEvent;
                Assert.IsNotNull(taskEvent);
            }
        }
Ejemplo n.º 2
0
        private static async Task TestReportJobStarted(BuildStatus buildStatus, bool returnNullBuild, int expectedEventCount)
        {
            // given
            VstsMessage vstsContext = new TestVstsMessage
            {
                VstsHub         = HubType.Build,
                VstsUri         = new Uri("http://vstsUri"),
                VstsPlanUri     = new Uri("http://vstsPlanUri"),
                BuildProperties = new VstsBuildProperties(),
            };

            var mockBuildClient = new MockBuildClient()
            {
                MockBuild = new Build()
                {
                    Status = buildStatus
                },
                ReturnNullBuild = returnNullBuild,
            };
            var mockTaskClient    = new MockTaskClient();
            var mockReleaseClient = new MockReleaseClient();
            var reportingHelper   = new TestableJobStatusReportingHelper(vstsContext, new TraceLogger(), mockTaskClient, mockReleaseClient, mockBuildClient)
            {
                //CreateBuildClient = (uri, s) => ReportingBrokerJobCompletedTests.ReturnMockBuildClientIfUrlValid(uri, vstsContext, mockBuildClient),
                //CreateReleaseClient = (uri, t) => mockReleaseClient
            };

            // when
            await reportingHelper.ReportJobStarted(DateTime.UtcNow, "test message", default(CancellationToken));

            // then
            Assert.AreEqual(expectedEventCount, mockTaskClient.EventsReceived.Count);
            if (expectedEventCount != 0)
            {
                var taskEvent = mockTaskClient.EventsReceived[0] as JobStartedEvent;
                Assert.IsNotNull(taskEvent);
            }
        }