public void GetCommitterName_ShouldReturnCommitter_WhenCommitterDisplayIsNull()
        {
            var checkinEvent = new CheckinEvent { Committer = "Committer" };

            var committerName = checkinEvent.GetCommitterName();

            Assert.Equal("Committer", committerName);
        }
 public void SendCheckinNotification(CheckinEvent checkinEvent, int roomId)
 {
     var message = string.Format("{0} checked in changeset <a href=\"{1}\">{2}</a> ({4})<br>{3}",
         checkinEvent.GetCommitterName(), checkinEvent.GetChangesetUrl(), checkinEvent.Number,
         checkinEvent.Comment.Replace("\n", "<br>"), checkinEvent.TeamProject);
     _hipChatClient.RoomId = roomId;
     _hipChatClient.SendMessage(message, HipChatClient.BackgroundColor.yellow);
 }
        public void GetChangesetUrl_ShouldReturnNull_WhenUrlDoesNotExist()
        {
            var checkinEvent = new CheckinEvent { Artifacts = new List<ClientArtifact>() };

            var url = checkinEvent.GetChangesetUrl();

            Assert.Equal(null, url);
        }
        public void GetChangesetUrl_ShouldReturnChangesetUrl_WhenUrlExists()
        {
            const string checkinUrl = "http://some-tfs-server.com/path?query=0";
            var checkinEvent = new CheckinEvent { Artifacts = new List<ClientArtifact>() };
            checkinEvent.Artifacts.Add(new ClientArtifact { ArtifactType = "Changeset", Url = checkinUrl });

            var url = checkinEvent.GetChangesetUrl();

            Assert.Equal(checkinUrl, url);
        }
Beispiel #5
0
 public void SendCheckinNotification(CheckinEvent checkinEvent, int roomId)
 {
     var message = string.Format("{0} - <a href=\"{1}\">{2}</a>",
                                 checkinEvent.GetCommitterName(),
                                 checkinEvent.GetChangesetUrl(),
                                 checkinEvent.Comment.Replace("\n", "<br>"));
     _hipChatClient.From = GetFromValue("Source");
     _hipChatClient.RoomId = roomId;
     _hipChatClient.SendMessage(message, HipChatClient.BackgroundColor.yellow);
 }
        public void GetCommitterName_ShouldReturnCommitterDisplay_WhenItExists()
        {
            var checkinEvent = new CheckinEvent
            {
                CommitterDisplay = "Committer Display",
                Committer = "Committer"
            };

            var committerName = checkinEvent.GetCommitterName();

            Assert.Equal("Committer Display", committerName);
        }
        public void HandleCheckin(CheckinEvent checkinEvent)
        {
            var teamProjectMapping = FindTeamProjectMapping(checkinEvent.TeamProject);

            if (teamProjectMapping == null)
            {
                return;
            }

            if (IsNotificationSubscribedTo(teamProjectMapping, Notification.Checkin))
            {
                _hipChatNotifier.SendCheckinNotification(checkinEvent, teamProjectMapping.HipChatRoomId);
            }
        }
        public void HandleCheckin_ShouldSendNotification_WhenSubscribedImplicitly()
        {
            var notifier = Substitute.For<IHipChatNotifier>();
            var configProvider = CreateFakeConfigurationProvider();
            var notificationHandler = new NotificationHandler(notifier, configProvider);
            var checkinEvent = new CheckinEvent { TeamProject = "TestProject" };

            notificationHandler.HandleCheckin(checkinEvent);

            notifier.ReceivedWithAnyArgs().SendCheckinNotification(null, 0);
        }
        public void HandleCheckin_ShouldSendNotificationToCorrectRoom_WhenCheckinOccurs()
        {
            var notifier = Substitute.For<IHipChatNotifier>();
            var configProvider = CreateFakeConfigurationProvider();
            var notificationHandler = new NotificationHandler(notifier, configProvider);
            var checkinEvent = new CheckinEvent { TeamProject = "AnotherTestProject" };

            notificationHandler.HandleCheckin(checkinEvent);

            notifier.Received().SendCheckinNotification(checkinEvent, 456);
        }
        public void HandleCheckin_ShouldNotSendNotification_WhenNotSubscribed()
        {
            var notifier = Substitute.For<IHipChatNotifier>();
            var configProvider = CreateFakeConfigurationProvider();
            var notificationHandler = new NotificationHandler(notifier, configProvider);
            var checkinEvent = new CheckinEvent { TeamProject = "ProjectWithOnlyBuild" };

            notificationHandler.HandleCheckin(checkinEvent);

            notifier.DidNotReceiveWithAnyArgs().SendCheckinNotification(null, 0);
        }
        public void GetCommitterName_ShouldReturnFormattedCommitter_WhenNoCommitterDisplayAndStandardCommitterFormat()
        {
            var checkinEvent = new CheckinEvent { Committer = @"DOMAIN\user.name" };

            var displayName = checkinEvent.GetCommitterName();

            Assert.Equal("User Name", displayName);
        }
        public void GetCommitterName_ShouldReturnCommitter_WhenNoDisplayNameAndNonStanardCommitterFormat()
        {
            var checkinEvent = new CheckinEvent { Committer = @"DOMAIN\uname1" };

            var displayName = checkinEvent.GetCommitterName();

            Assert.Equal(@"DOMAIN\uname1", displayName);
        }