package hudson.plugins.tfs.model; import static org.junit.Assert.*; import static org.mockito.Mockito.*; import hudson.plugins.tfs.TfTool; import org.junit.Before; import org.junit.Test; import org.mockito.Mock; import org.mockito.MockitoAnnotations; public class ServerTest { @Mock TfTool tool; @Before public void setup() { MockitoAnnotations.initMocks(this); } @Test public void assertGetWorkspacesReturnSameObject() { Server server = new Server("url"); assertNotNull("Workspaces object can not be null", server.getWorkspaces()); assertSame("getWorkspaces() returned different objects", server.getWorkspaces(), server.getWorkspaces()); } @Test public void assertGetProjectWithSameProjectPathReturnsSameInstance() { Server server = new Server("url"); assertNotNull("Project object can not be null", server.getProject("$/projectPath")); assertSame("getProject() returned different objects", server.getProject("$/projectPath"), server.getProject("$/projectPath")); } @Test public void assertGetProjectWithDifferentProjectPathReturnsNotSameInstance() { Server server = new Server("url"); assertNotSame("getProject() did not return different objects", server.getProject("$/projectPath"), server.getProject("$/otherPath")); } @Test public void assertLocalHostnameIsRetrievedFromTfTool() throws Exception { when(tool.getHostname()).thenReturn("thehostname"); Server server = new Server(tool, "url", null, null); assertEquals("Hostname was incorrect", "thehostname", server.getLocalHostname()); verify(tool).getHostname(); } }