package hudson.plugins.tfs; import org.junit.Assert; import org.junit.Test; /** * A class to test {@link TeamBuildEndpoint}. */ public class TeamBuildEndpointTest { @Test public void decodeCommandAndJobNames_typical() throws Exception { final TeamBuildEndpoint cut = new TeamBuildEndpoint(); final String input = TeamBuildEndpoint.URL_PREFIX + "ping/a"; final boolean actual = cut.decodeCommandAndJobNames(input); Assert.assertEquals(true, actual); Assert.assertEquals("ping", cut.getCommandName()); Assert.assertEquals("a", cut.getJobName()); } @Test public void decodeCommandAndJobNames_withDecoding() throws Exception { final TeamBuildEndpoint cut = new TeamBuildEndpoint(); final String input = TeamBuildEndpoint.URL_PREFIX + "ping/a+job%20name%2Fcontaining%3Dencoded+characters%3F"; final boolean actual = cut.decodeCommandAndJobNames(input); Assert.assertEquals(true, actual); Assert.assertEquals("ping", cut.getCommandName()); Assert.assertEquals("a job name/containing=encoded characters?", cut.getJobName()); } @Test public void decodeCommandAndJobNames_noJob() throws Exception { final TeamBuildEndpoint cut = new TeamBuildEndpoint(); final String input = TeamBuildEndpoint.URL_PREFIX + "ping/"; final boolean actual = cut.decodeCommandAndJobNames(input); Assert.assertEquals(false, actual); Assert.assertEquals("ping", cut.getCommandName()); } @Test public void decodeCommandAndJobNames_noJobNoSlash() throws Exception { final TeamBuildEndpoint cut = new TeamBuildEndpoint(); final String input = TeamBuildEndpoint.URL_PREFIX + "ping"; final boolean actual = cut.decodeCommandAndJobNames(input); Assert.assertEquals(false, actual); Assert.assertEquals("ping", cut.getCommandName()); } }