Skip to content
Snippets Groups Projects
FindExpertServletTest.java 1.76 KiB
package edu.ncsu.csc.itrust.unit.serverutils;

import static org.junit.Assert.*;
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.Writer;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.junit.Before;
import org.junit.Test;

import edu.ncsu.csc.itrust.server.FindExpertServlet;
import edu.ncsu.csc.itrust.unit.datagenerators.TestDataGenerator;
import edu.ncsu.csc.itrust.unit.testutils.TestDAOFactory;

public class FindExpertServletTest {
	
	private HttpServletRequest request;
	private HttpServletResponse response;
	
	private TestDataGenerator gen;
	private Delegator test;
	
	@Before
	public void setUp() throws Exception{
		gen = new TestDataGenerator();
		gen.clearAllTables();
		gen.standardData();

		
		request = mock(HttpServletRequest.class);
		response = mock(HttpServletResponse.class);
		test = new Delegator();
	}

	@Test
	public void testDoGetHttpServletRequestHttpServletResponse() throws Exception {
		Writer t = new StringWriter();
		PrintWriter temp = new PrintWriter(t);
		when(request.getParameter("query")).thenReturn("Kelly Doctor");
		when(response.getWriter()).thenReturn(temp);
		test.testDoGet(response, request);
		assertTrue(t.toString().contains("fTable"));
		assertTrue(t.toString().contains("Kelly Doctor"));
	}

	private class Delegator extends FindExpertServlet {
		private static final long serialVersionUID = 1L;
        
		public Delegator(){
			super(TestDAOFactory.getTestInstance());
		}
		
		public void testDoGet(HttpServletResponse r, HttpServletRequest req) throws ServletException, IOException{
			super.doGet(req, r);
		}
	}
}