package net.sf.appstatus.web.pages;
import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.io.UnsupportedEncodingException;
import java.io.Writer;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.junit.Test;
import net.sf.appstatus.core.AppStatus;
import net.sf.appstatus.web.IPage;
import net.sf.appstatus.web.StatusWebHandler;
public class RadiatorTest {
@Test
public void testMaintenance() throws UnsupportedEncodingException, IOException {
final AppStatus appStatus = new AppStatus();
// Maintenance is on
appStatus.setMaintenance(true);
final StatusWebHandler statusWeb = new StatusWebHandler();
statusWeb.setAppStatus(appStatus);
statusWeb.setApplicationName("test");
final Map<String, IPage> pages = new HashMap<String, IPage>();
final RadiatorPage page = new RadiatorPage();
pages.put(page.getId(), page);
statusWeb.setPages(pages);
statusWeb.init();
final HttpServletRequest servlet = mock(HttpServletRequest.class);
final HttpServletRequest request = mock(HttpServletRequest.class);
final HttpServletResponse response = mock(HttpServletResponse.class);
final Writer responseWriter = new StringWriter();
when(response.getWriter()).thenReturn(new PrintWriter(responseWriter));
page.doGet(statusWeb, request, response);
assertTrue(responseWriter.toString().contains("btn-info"));
}
/**
* https://sourceforge.net/apps/mantisbt/appstatus/view.php?id=70
*
* @throws UnsupportedEncodingException
* @throws IOException
*/
@Test
public void testNoBatchs() throws UnsupportedEncodingException, IOException {
final AppStatus appStatus = new AppStatus();
final StatusWebHandler statusWeb = new StatusWebHandler();
statusWeb.setAppStatus(appStatus);
statusWeb.setApplicationName("test");
final Map<String, IPage> pages = new HashMap<String, IPage>();
final RadiatorPage page = new RadiatorPage();
pages.put(page.getId(), page);
statusWeb.setPages(pages);
statusWeb.init();
final HttpServletRequest servlet = mock(HttpServletRequest.class);
final HttpServletRequest request = mock(HttpServletRequest.class);
final HttpServletResponse response = mock(HttpServletResponse.class);
final Writer responseWriter = new StringWriter();
when(response.getWriter()).thenReturn(new PrintWriter(responseWriter));
page.doGet(statusWeb, request, response);
assertTrue(responseWriter.toString().contains("btn-success"));
}
}