package hudson.plugins.tfs.model;
import static org.junit.Assert.*;
import static org.mockito.Matchers.*;
import static org.mockito.Mockito.*;
import java.io.Reader;
import java.io.StringReader;
import java.util.List;
import hudson.plugins.tfs.SwedishLocaleTestCase;
import hudson.plugins.tfs.Util;
import hudson.plugins.tfs.util.MaskedArgumentListBuilder;
import org.junit.Test;
public class ProjectTest extends SwedishLocaleTestCase {
@Test
public void assertGetDetailedHistory() throws Exception {
Server server = mock(Server.class);
when(server.execute(isA(MaskedArgumentListBuilder.class))).thenReturn(new StringReader(
"-----------------------------------\n" +
"Changeset: 12472\n" +
"User: RNO\\_MCLWEB\n" +
"Date: 2008-jun-27 11:16:06\n" +
"\n" +
"Comment:\n" +
"Created team project folder $/tfsandbox via the Team Project Creation Wizard\n" +
"\n" +
"Items:\n" +
" add $/tfsandbox\n\n"));
Project project = new Project(server, "$/serverpath");
List<ChangeSet> list = project.getDetailedHistory(Util.getCalendar(2008, 06, 01), Util.getCalendar(2008, 07, 01));
assertNotNull("The returned list was null", list);
assertEquals("The number of change sets in list was incorrect", 1, list.size());
verify(server).execute(isA(MaskedArgumentListBuilder.class));
}
@Test
public void assertGetDetailedHistoryClosesReader() throws Exception {
Reader spy = spy(new StringReader(""));
Server server = mock(Server.class);
when(server.execute(isA(MaskedArgumentListBuilder.class))).thenReturn(spy);
new Project(server, "$/serverpath").getDetailedHistory(Util.getCalendar(2008, 06, 01), Util.getCalendar(2008, 07, 01));
verify(spy).close();
}
@Test
public void assertGetBriefHistory() throws Exception {
Server server = mock(Server.class);
when(server.execute(isA(MaskedArgumentListBuilder.class))).thenReturn(new StringReader(
"Changeset User Date Comment\n" +
"--------- -------------- -------------------- ----------------------------------------------------------------------------\n" +
"\n" +
"12495 SND\\redsolo_cp 2008-jun-27 13:21:25 changed and created one\n"));
Project project = new Project(server, "$/serverpath");
List<ChangeSet> list = project.getBriefHistory(Util.getCalendar(2008, 06, 01), Util.getCalendar(2008, 07, 01));
assertNotNull("The returned list was null", list);
assertEquals("The number of change sets in list was incorrect", 1, list.size());
verify(server).execute(isA(MaskedArgumentListBuilder.class));
}
@Test
public void assertGetBriefHistoryClosesReader() throws Exception {
Reader spy = spy(new StringReader(""));
Server server = mock(Server.class);
when(server.execute(isA(MaskedArgumentListBuilder.class))).thenReturn(spy);
new Project(server, "$/serverpath").getBriefHistory(Util.getCalendar(2008, 06, 01), Util.getCalendar(2008, 07, 01));
verify(spy).close();
}
@Test
public void assertGetFiles() throws Exception {
Server server = mock(Server.class);
when(server.execute(isA(MaskedArgumentListBuilder.class))).thenReturn(new StringReader(""));
Project project = new Project(server, "$/serverpath");
project.getFiles(".");
verify(server).execute(isA(MaskedArgumentListBuilder.class));
}
@Test
public void assertGetFilesClosesReader() throws Exception {
Reader spy = spy(new StringReader(""));
Server server = mock(Server.class);
when(server.execute(isA(MaskedArgumentListBuilder.class))).thenReturn(spy);
new Project(server, "$/serverpath").getFiles("localpath");
verify(spy).close();
}
}