Beispiel #1
0
        public void StartsTrackingBreakagesOnBranch()
        {
            var commandParser = CommandParser.For("track breakages for branch master");
            var processor     = new TeamcityWebhooksMessageProcessor(m_TrackedBuilds.Object, m_TrackedBranches.Object, commandParser);
            var response      = processor.ProcessMessage(new Message("a-channel", "a-user", "a-message"));

            Assert.AreEqual("Now tracking breakages for branch master", response.Responses.Single().Message);
            m_TrackedBranches.Verify(x => x.Set("a-channel:::master", new Tracked <Branch>(new Branch(TeamcityEventTypes.BreakingBuilds, "master", null), "a-channel")));
        }
Beispiel #2
0
        public void StartsTrackingBuild()
        {
            var commandParser = CommandParser.For("track build 12345");
            var processor     = new TeamcityWebhooksMessageProcessor(m_TrackedBuilds.Object, m_TrackedBranches.Object, commandParser);
            var response      = processor.ProcessMessage(new Message("a-channel", "a-user", "scbot track build 12345"));

            Assert.AreEqual("Now tracking build#12345", response.Responses.Single().Message);
            m_TrackedBuilds.Verify(x => x.Set("a-channel:::12345", new Tracked <Build>(new Build("12345"), "a-channel")));
        }
Beispiel #3
0
        public void DoesNotPostTwiceInTheSameChannel()
        {
            var commandParser = new Mock <ICommandParser>();
            var processor     = new TeamcityWebhooksMessageProcessor(new InMemoryKeyValueStore(), commandParser.Object);

            processor.ProcessMessage(new Message("a-channel", "a-user", "m#1"), "branch", "master", "breakages");
            processor.ProcessMessage(new Message("a-channel", "a-user", "m#1"), "branch", "master", "breakages");
            processor.Accept(new TeamcityEvent(TeamcityEventType.BuildFinished, "build-id", "buildType", "build name", BuildResultDelta.Broken, "master", TeamcityBuildState.Unknown, "", "1.0"));

            var response = processor.ProcessTimerTick();

            Assert.AreEqual(1, response.Responses.Count());
        }
Beispiel #4
0
        public void AcceptsEventsToHandle()
        {
            var processor = new TeamcityWebhooksMessageProcessor(m_TrackedBuilds.Object, m_TrackedBranches.Object, new Mock <ICommandParser>().Object);

            processor.Accept(new TeamcityEvent(TeamcityEventType.Unknown, "build-id", "buildType", "build name", BuildResultDelta.Unknown, "foo", TeamcityBuildState.Unknown, "", "1.0"));
        }