package hudson.plugins.tfs.commands; import static org.junit.Assert.*; import static org.mockito.Mockito.*; import java.io.InputStreamReader; import java.util.List; import hudson.plugins.tfs.model.WorkspaceMapping; import hudson.plugins.tfs.util.MaskedArgumentListBuilder; import org.junit.Test; public class GetWorkspaceMappingsCommandTest { @Test public void assertArguments() { ServerConfigurationProvider config = mock(ServerConfigurationProvider.class); when(config.getUrl()).thenReturn("https//tfs02.codeplex.com"); when(config.getUserName()).thenReturn("snd\\user_cp"); when(config.getUserPassword()).thenReturn("password"); MaskedArgumentListBuilder arguments = new GetWorkspaceMappingsCommand(config, "workspace").getArguments(); assertNotNull("Arguments were null", arguments); assertEquals("workfold -workspace:workspace -server:https//tfs02.codeplex.com -login:snd\\user_cp,password", arguments.toStringWithQuote()); } @Test public void assertProjectPathWasParsed() throws Exception { InputStreamReader reader = new InputStreamReader(GetWorkspaceMappingsCommandTest.class.getResourceAsStream("tf-workfold-list.txt")); GetWorkspaceMappingsCommand command = new GetWorkspaceMappingsCommand(mock(ServerConfigurationProvider.class), "workspace"); List<WorkspaceMapping> mappings = command.parse(reader); assertEquals("Project path was incorrect", "$/tfshudsonplugin", mappings.get(0).getProjectPath()); assertEquals("Project path was incorrect", "$/tfshudsonplugin/folder", mappings.get(1).getProjectPath()); } @Test public void assertLocalPathWasParsed() throws Exception { InputStreamReader reader = new InputStreamReader(GetWorkspaceMappingsCommandTest.class.getResourceAsStream("tf-workfold-list.txt")); GetWorkspaceMappingsCommand command = new GetWorkspaceMappingsCommand(mock(ServerConfigurationProvider.class), "workspace"); List<WorkspaceMapping> mappings = command.parse(reader); assertEquals("Local path was incorrect", "C:\\tfshudsonplugin_2\\workfolder1", mappings.get(0).getLocalPath()); assertEquals("Local path was incorrect", "C:\\tfshudsonplugin_3\\workfolder1", mappings.get(1).getLocalPath()); } }