package org.jboss.test.faces.mockito; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertSame; import static org.junit.Assert.assertTrue; import javax.faces.context.ExternalContext; import javax.faces.context.FacesContext; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.mockito.Mockito; public class TestMockExternalContext { /** The environment. */ private MockFacesEnvironment environment; /** * Sets the up. */ @Before public void setUp() { environment = new MockFacesEnvironment(); } /** * Tear down. */ @After public void tearDown() { environment.release(); environment = null; } @Test public void testExternalContext() { environment.withExternalContext(); assertTrue(environment.getFacesContext().getExternalContext() instanceof ExternalContext); assertTrue(FacesContext.getCurrentInstance().getExternalContext() instanceof ExternalContext); assertSame(environment.getFacesContext().getExternalContext(), FacesContext.getCurrentInstance().getExternalContext()); } @Test public void externalContextShouldBeAbleToBeStubbed() { environment.withExternalContext(); ExternalContext externalContext = environment.getExternalContext(); Mockito.when(externalContext.getAuthType()).thenReturn("customAuthType"); assertEquals("customAuthType", FacesContext.getCurrentInstance().getExternalContext().getAuthType()); } }