package slacknotifications.teamcity.payload.util; import jetbrains.buildServer.messages.Status; import jetbrains.buildServer.serverSide.SBuildServer; import jetbrains.buildServer.serverSide.SFinishedBuild; import org.junit.Before; import org.junit.Test; import slacknotifications.teamcity.BuildStateEnum; import slacknotifications.teamcity.MockSBuildType; import slacknotifications.teamcity.MockSProject; import slacknotifications.teamcity.MockSRunningBuild; import slacknotifications.teamcity.payload.content.SlackNotificationPayloadContent; import static org.mockito.Mockito.mock; public class VariableMessageBuilderTest { MockSBuildType sBuildType = new MockSBuildType("Test Build", "A Test Build", "bt1"); MockSRunningBuild sRunningBuild = new MockSRunningBuild(sBuildType, "SubVersion", Status.NORMAL, "Running", "TestBuild01"); SFinishedBuild previousSuccessfulBuild = mock(SFinishedBuild.class); MockSProject sProject = new MockSProject("Test Project", "A test project", "project1", "ATestProject", sBuildType); SBuildServer sBuildServer; @Before public void setup(){ sBuildType.setProject(sProject); sBuildServer = mock(SBuildServer.class); } @Test public void testBuild() { SlackNotificationPayloadContent content = new SlackNotificationPayloadContent(sBuildServer, sRunningBuild, previousSuccessfulBuild, BuildStateEnum.BEFORE_BUILD_FINISHED); VariableMessageBuilder builder = VariableMessageBuilder.create("This is a test ${buildFullName}", new SlackNotificationBeanUtilsVariableResolver(content)); System.out.println(builder.build()); System.out.println(content.getBuildFullName()); } }