Project

General

Profile

Download (2.81 KB) Statistics
| Branch: | Tag: | Revision:
1
package eu.etaxonomy.cdm.vaadin;
2

    
3
import javax.servlet.ServletContextEvent;
4
import javax.servlet.ServletContextListener;
5
import javax.servlet.ServletException;
6

    
7
import org.easymock.EasyMock;
8
import org.junit.Assert;
9
import org.junit.BeforeClass;
10
import org.junit.Ignore;
11
import org.springframework.mock.web.MockServletConfig;
12
import org.springframework.mock.web.MockServletContext;
13
import org.springframework.web.context.ContextLoaderListener;
14
import org.unitils.UnitilsJUnit4;
15
import org.unitils.database.DatabaseUnitils;
16
import org.unitils.database.annotations.Transactional;
17
import org.unitils.database.util.TransactionMode;
18

    
19
import com.vaadin.data.util.sqlcontainer.query.generator.filter.QueryBuilder;
20
import com.vaadin.server.DeploymentConfiguration;
21
import com.vaadin.server.ServiceException;
22
import com.vaadin.server.VaadinService;
23
import com.vaadin.server.VaadinServlet;
24
import com.vaadin.server.VaadinServletService;
25
import com.vaadin.server.VaadinSession;
26

    
27
import eu.etaxonomy.cdm.vaadin.util.CdmSQLStringDecorator;
28

    
29
@Ignore
30
@Transactional(TransactionMode.DISABLED)
31
public class CdmVaadinBaseTest extends UnitilsJUnit4 {
32

    
33
    private static MockServletContext servletContext;
34
    private static VaadinServlet vaadinServlet;
35
    private static VaadinServletService vaadinService;
36
    private static VaadinSession vaadinSession;
37
    private static boolean isVaadinServletEnvCreated = false;
38

    
39

    
40
    @BeforeClass
41
    public static void setup() {
42
        DatabaseUnitils.disableConstraints();
43

    
44
    	if(!isVaadinServletEnvCreated) {
45
    		createNewServletEnvironment();
46
    	}
47
    	QueryBuilder.setStringDecorator(new CdmSQLStringDecorator());
48

    
49
    	Assert.assertEquals(vaadinServlet, VaadinServlet.getCurrent());
50
        Assert.assertEquals(servletContext, VaadinServlet.getCurrent().getServletContext());
51
        Assert.assertEquals(vaadinSession, VaadinSession.getCurrent());
52
        Assert.assertEquals(vaadinService, VaadinService.getCurrent());
53
    }
54

    
55

    
56
    public static void createNewServletEnvironment() {
57
		servletContext = new MockServletContext("/webapp");
58

    
59
        ServletContextListener listener = new ContextLoaderListener();
60
        ServletContextEvent event = new ServletContextEvent(servletContext);
61
		listener.contextInitialized(event);
62

    
63
		MockServletConfig servletConfig = new MockServletConfig(servletContext);
64
		vaadinServlet = new VaadinServlet();
65

    
66

    
67
		try {
68
			vaadinServlet.init(servletConfig);
69
		} catch (ServletException e) {
70
			throw new RuntimeException(e);
71
		}
72

    
73
		try {
74
			vaadinService = new VaadinServletService(vaadinServlet,
75
			        EasyMock.createMock(DeploymentConfiguration.class));
76
		} catch (ServiceException e) {
77
			throw new RuntimeException(e);
78
		}
79
		VaadinService.setCurrent(vaadinService);
80

    
81
		vaadinSession = new VaadinSession(vaadinService);
82
		VaadinSession.setCurrent(vaadinSession);
83

    
84
		isVaadinServletEnvCreated = true;
85
    }
86

    
87

    
88
}
    (1-1/1)