package net.sf.appstatus.web.pages;
import static org.junit.Assert.assertFalse;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletOutputStream;
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 ServicesPageTest {
/**
* https://sourceforge.net/apps/mantisbt/appstatus/view.php?id=71
*
* @throws UnsupportedEncodingException
* @throws IOException
*/
@Test
public void testMissingProperties() throws UnsupportedEncodingException, IOException {
AppStatus appStatus = new AppStatus();
StatusWebHandler statusWeb = new StatusWebHandler();
statusWeb.setAppStatus(appStatus);
statusWeb.setApplicationName("test");
Map<String, IPage> pages = new HashMap<String, IPage>();
StatusPage page = new StatusPage();
pages.put(page.getId(), page);
statusWeb.setPages(pages);
statusWeb.init();
HttpServletRequest servlet = mock(HttpServletRequest.class);
HttpServletRequest request = mock(HttpServletRequest.class);
HttpServletResponse response = mock(HttpServletResponse.class);
final ByteArrayOutputStream writer = new ByteArrayOutputStream();
when(response.getOutputStream()).thenReturn(new ServletOutputStream() {
@Override
public void write(int b) throws IOException {
writer.write(b);
}
});
page.doGet(statusWeb, request, response);
assertFalse(writer.toString("UTF-8").contains("${propertiesTable}"));
}
}