Skip to content

Commit

Permalink
refactor degraded mode into limited functionality mode
Browse files Browse the repository at this point in the history
[#151223422] https://www.pivotaltracker.com/story/show/151223422
Signed-off-by: Henry Zhao <henryzh16@gmail.com>
  • Loading branch information
medvedzver authored and 6palace committed Sep 20, 2017
1 parent 4128620 commit b97788a
Show file tree
Hide file tree
Showing 13 changed files with 74 additions and 74 deletions.
Expand Up @@ -39,11 +39,11 @@
import static java.util.stream.Collectors.toList; import static java.util.stream.Collectors.toList;
import static javax.servlet.http.HttpServletResponse.SC_SERVICE_UNAVAILABLE; import static javax.servlet.http.HttpServletResponse.SC_SERVICE_UNAVAILABLE;


public class DegradedModeUaaFilter extends OncePerRequestFilter { public class LimitedModeUaaFilter extends OncePerRequestFilter {


public static final String ERROR_CODE = "uaa_unavailable"; public static final String ERROR_CODE = "uaa_unavailable";
public static final String ERROR_MESSAGE = "UAA intentionally in degraded mode, operation not permitted. Please try later."; public static final String ERROR_MESSAGE = "UAA intentionally in limited mode, operation not permitted. Please try later.";
private static Log logger = LogFactory.getLog(DegradedModeUaaFilter.class); private static Log logger = LogFactory.getLog(LimitedModeUaaFilter.class);


private Set<String> permittedEndpoints = emptySet(); private Set<String> permittedEndpoints = emptySet();
private Set<String> permittedMethods = emptySet(); private Set<String> permittedMethods = emptySet();
Expand All @@ -57,7 +57,7 @@ protected void doFilterInternal(HttpServletRequest request, HttpServletResponse
if ( isMethodAllowed(request) || isEndpointAllowed(request)) { if ( isMethodAllowed(request) || isEndpointAllowed(request)) {
filterChain.doFilter(request, response); filterChain.doFilter(request, response);
} else { } else {
logger.debug(format("Operation Not permitted in degraded mode for URL:%s and method:%s", logger.debug(format("Operation Not permitted in limited mode for URL:%s and method:%s",
request.getRequestURI(), request.getRequestURI(),
request.getMethod() request.getMethod()
) )
Expand Down
Expand Up @@ -37,20 +37,20 @@
import static org.springframework.http.HttpMethod.GET; import static org.springframework.http.HttpMethod.GET;
import static org.springframework.http.HttpMethod.POST; import static org.springframework.http.HttpMethod.POST;


public class DegradedModeUaaFilterTests { public class LimitedModeUaaFilterTests {


private MockHttpServletRequest request; private MockHttpServletRequest request;
private MockHttpServletResponse response; private MockHttpServletResponse response;
private FilterChain chain; private FilterChain chain;
private DegradedModeUaaFilter filter; private LimitedModeUaaFilter filter;


@Before @Before
public void setup() throws Exception { public void setup() throws Exception {
request = new MockHttpServletRequest(); request = new MockHttpServletRequest();
request.addHeader(ACCEPT, "*/*"); request.addHeader(ACCEPT, "*/*");
response = new MockHttpServletResponse(); response = new MockHttpServletResponse();
chain = mock(FilterChain.class); chain = mock(FilterChain.class);
filter = new DegradedModeUaaFilter(); filter = new LimitedModeUaaFilter();
} }


public void setPathInfo(String pathInfo) { public void setPathInfo(String pathInfo) {
Expand Down
2 changes: 1 addition & 1 deletion uaa/src/main/resources/uaa.yml
Expand Up @@ -589,7 +589,7 @@ uaa:
url: http://localhost:8080/uaa/approvals url: http://localhost:8080/uaa/approvals
login: login:
url: http://localhost:8080/uaa/authenticate url: http://localhost:8080/uaa/authenticate
degraded: limited_functionality:
enabled: false enabled: false
whitelist: whitelist:
endpoints: endpoints:
Expand Down
18 changes: 9 additions & 9 deletions uaa/src/main/webapp/WEB-INF/spring-servlet.xml
Expand Up @@ -230,7 +230,7 @@
key="#{T(org.cloudfoundry.identity.uaa.security.web.SecurityFilterChainPostProcessor.FilterPosition).position(2)}" /> key="#{T(org.cloudfoundry.identity.uaa.security.web.SecurityFilterChainPostProcessor.FilterPosition).position(2)}" />
<entry value-ref="corsFilter" <entry value-ref="corsFilter"
key="#{T(org.cloudfoundry.identity.uaa.security.web.SecurityFilterChainPostProcessor.FilterPosition).position(3)}" /> key="#{T(org.cloudfoundry.identity.uaa.security.web.SecurityFilterChainPostProcessor.FilterPosition).position(3)}" />
<entry value-ref="degradedModeUaaFilter" <entry value-ref="limitedModeUaaFilter"
key="#{T(org.cloudfoundry.identity.uaa.security.web.SecurityFilterChainPostProcessor.FilterPosition).position(4)}" /> key="#{T(org.cloudfoundry.identity.uaa.security.web.SecurityFilterChainPostProcessor.FilterPosition).position(4)}" />
<entry value-ref="identityZoneResolvingFilter" <entry value-ref="identityZoneResolvingFilter"
key="#{T(org.cloudfoundry.identity.uaa.security.web.SecurityFilterChainPostProcessor.FilterPosition).position(5)}"/> key="#{T(org.cloudfoundry.identity.uaa.security.web.SecurityFilterChainPostProcessor.FilterPosition).position(5)}"/>
Expand Down Expand Up @@ -550,18 +550,18 @@
<property name="userDatabase" ref="userDatabase"/> <property name="userDatabase" ref="userDatabase"/>
</bean> </bean>


<bean id="degradedModeUaaFilter" class="org.cloudfoundry.identity.uaa.web.DegradedModeUaaFilter"> <bean id="limitedModeUaaFilter" class="org.cloudfoundry.identity.uaa.web.LimitedModeUaaFilter">
<property name="enabled" value="${uaa.degraded.enabled:false}"/> <property name="enabled" value="${uaa.limited_functionality.enabled:false}"/>
<property name="permittedEndpoints" <property name="permittedEndpoints"
value="#{@config['uaa']==null ? null : value="#{@config['uaa']==null ? null :
@config['uaa']['degraded']==null ? null : @config['uaa']['limited_functionality']==null ? null :
@config['uaa']['degraded']['whitelist']==null ? null : @config['uaa']['limited_functionality']['whitelist']==null ? null :
@config['uaa']['degraded']['whitelist']['endpoints']}"/> @config['uaa']['limited_functionality']['whitelist']['endpoints']}"/>
<property name="permittedMethods" <property name="permittedMethods"
value="#{@config['uaa']==null ? null : value="#{@config['uaa']==null ? null :
@config['uaa']['degraded']==null ? null : @config['uaa']['limited_functionality']==null ? null :
@config['uaa']['degraded']['whitelist']==null ? null : @config['uaa']['limited_functionality']['whitelist']==null ? null :
@config['uaa']['degraded']['whitelist']['methods']}"/> @config['uaa']['limited_functionality']['whitelist']['methods']}"/>
</bean> </bean>


</beans> </beans>
Expand Up @@ -24,7 +24,7 @@
import org.cloudfoundry.identity.uaa.message.NotificationsService; import org.cloudfoundry.identity.uaa.message.NotificationsService;
import org.cloudfoundry.identity.uaa.message.util.FakeJavaMailSender; import org.cloudfoundry.identity.uaa.message.util.FakeJavaMailSender;
import org.cloudfoundry.identity.uaa.mock.oauth.CheckDefaultAuthoritiesMvcMockTests; import org.cloudfoundry.identity.uaa.mock.oauth.CheckDefaultAuthoritiesMvcMockTests;
import org.cloudfoundry.identity.uaa.web.DegradedModeUaaFilter; import org.cloudfoundry.identity.uaa.web.LimitedModeUaaFilter;
import org.cloudfoundry.identity.uaa.oauth.CheckTokenEndpoint; import org.cloudfoundry.identity.uaa.oauth.CheckTokenEndpoint;
import org.cloudfoundry.identity.uaa.oauth.UaaTokenServices; import org.cloudfoundry.identity.uaa.oauth.UaaTokenServices;
import org.cloudfoundry.identity.uaa.oauth.UaaTokenStore; import org.cloudfoundry.identity.uaa.oauth.UaaTokenStore;
Expand Down Expand Up @@ -200,9 +200,9 @@ public void defaults_and_required_properties() throws Exception {


context = getServletContext(profiles, false, new String[] {"login.yml", "uaa.yml", "required_configuration.yml"}, "file:./src/main/webapp/WEB-INF/spring-servlet.xml"); context = getServletContext(profiles, false, new String[] {"login.yml", "uaa.yml", "required_configuration.yml"}, "file:./src/main/webapp/WEB-INF/spring-servlet.xml");


DegradedModeUaaFilter degradedModeUaaFilter = context.getBean(DegradedModeUaaFilter.class); LimitedModeUaaFilter limitedModeUaaFilter = context.getBean(LimitedModeUaaFilter.class);
assertFalse(degradedModeUaaFilter.isEnabled()); assertFalse(limitedModeUaaFilter.isEnabled());
assertThat(degradedModeUaaFilter.getPermittedEndpoints(), assertThat(limitedModeUaaFilter.getPermittedEndpoints(),
containsInAnyOrder( containsInAnyOrder(
"/oauth/authorize/**", "/oauth/authorize/**",
"/oauth/token/**", "/oauth/token/**",
Expand All @@ -217,7 +217,7 @@ public void defaults_and_required_properties() throws Exception {
"/idp_discovery/**" "/idp_discovery/**"
) )
); );
assertThat(degradedModeUaaFilter.getPermittedMethods(), assertThat(limitedModeUaaFilter.getPermittedMethods(),
containsInAnyOrder( containsInAnyOrder(
"GET", "GET",
"HEAD", "HEAD",
Expand Down Expand Up @@ -447,9 +447,9 @@ public void all_properties_set() throws Exception {
String profiles = System.getProperty("spring.profiles.active"); String profiles = System.getProperty("spring.profiles.active");
context = getServletContext(profiles, false, new String[] {"login.yml", "uaa.yml", "test/bootstrap/all-properties-set.yml"}, "file:./src/main/webapp/WEB-INF/spring-servlet.xml"); context = getServletContext(profiles, false, new String[] {"login.yml", "uaa.yml", "test/bootstrap/all-properties-set.yml"}, "file:./src/main/webapp/WEB-INF/spring-servlet.xml");


DegradedModeUaaFilter degradedModeUaaFilter = context.getBean(DegradedModeUaaFilter.class); LimitedModeUaaFilter limitedModeUaaFilter = context.getBean(LimitedModeUaaFilter.class);
assertTrue(degradedModeUaaFilter.isEnabled()); assertTrue(limitedModeUaaFilter.isEnabled());
assertThat(degradedModeUaaFilter.getPermittedEndpoints(), assertThat(limitedModeUaaFilter.getPermittedEndpoints(),
containsInAnyOrder( containsInAnyOrder(
"/oauth/authorize/**", "/oauth/authorize/**",
"/oauth/token/**", "/oauth/token/**",
Expand All @@ -460,7 +460,7 @@ public void all_properties_set() throws Exception {
"/other-url/**" "/other-url/**"
) )
); );
assertThat(degradedModeUaaFilter.getPermittedMethods(), assertThat(limitedModeUaaFilter.getPermittedMethods(),
containsInAnyOrder( containsInAnyOrder(
"GET", "GET",
"HEAD", "HEAD",
Expand Down
Expand Up @@ -42,7 +42,7 @@
import org.cloudfoundry.identity.uaa.user.UaaAuthority; import org.cloudfoundry.identity.uaa.user.UaaAuthority;
import org.cloudfoundry.identity.uaa.util.JsonUtils; import org.cloudfoundry.identity.uaa.util.JsonUtils;
import org.cloudfoundry.identity.uaa.util.SetServerNameRequestPostProcessor; import org.cloudfoundry.identity.uaa.util.SetServerNameRequestPostProcessor;
import org.cloudfoundry.identity.uaa.web.DegradedModeUaaFilter; import org.cloudfoundry.identity.uaa.web.LimitedModeUaaFilter;
import org.cloudfoundry.identity.uaa.zone.BrandingInformation; import org.cloudfoundry.identity.uaa.zone.BrandingInformation;
import org.cloudfoundry.identity.uaa.zone.IdentityZone; import org.cloudfoundry.identity.uaa.zone.IdentityZone;
import org.cloudfoundry.identity.uaa.zone.IdentityZoneConfiguration; import org.cloudfoundry.identity.uaa.zone.IdentityZoneConfiguration;
Expand Down Expand Up @@ -662,7 +662,7 @@ public void testForgotPasswordPageDoesNotHaveCsrf() throws Exception {


@Test @Test
public void testForgotPasswordSubmitDoesNotValidateCsrf() throws Exception { public void testForgotPasswordSubmitDoesNotValidateCsrf() throws Exception {
assumeFalse("Test only runs in non degraded mode.", isDegraded()); assumeFalse("Test only runs in non limited mode.", isLimitedMode());
getMockMvc().perform( getMockMvc().perform(
post("/forgot_password.do") post("/forgot_password.do")
.param("username", "marissa") .param("username", "marissa")
Expand All @@ -685,7 +685,7 @@ public void testChangePasswordPageDoesHaveCsrf() throws Exception {


@Test @Test
public void testChangePasswordSubmitDoesValidateCsrf() throws Exception { public void testChangePasswordSubmitDoesValidateCsrf() throws Exception {
assumeFalse("Test only runs in non degraded mode.", isDegraded()); assumeFalse("Test only runs in non limited mode.", isLimitedMode());
ScimUser user = createUser(getUaa().getId()); ScimUser user = createUser(getUaa().getId());
getMockMvc().perform( getMockMvc().perform(
post("/change_password.do") post("/change_password.do")
Expand Down Expand Up @@ -1622,7 +1622,7 @@ public String[] getParameterValues(String name) {


@Test @Test
public void testDeactivatedProviderIsRemovedFromSamlLoginLinks() throws Exception { public void testDeactivatedProviderIsRemovedFromSamlLoginLinks() throws Exception {
assumeFalse("Test only runs in non degraded mode.", isDegraded()); assumeFalse("Test only runs in non limited mode.", isLimitedMode());
String alias = "login-saml-"+generator.generate(); String alias = "login-saml-"+generator.generate();
BaseClientDetails zoneAdminClient = new BaseClientDetails("admin", null, null, "client_credentials", "clients.admin,scim.read,scim.write"); BaseClientDetails zoneAdminClient = new BaseClientDetails("admin", null, null, "client_credentials", "clients.admin,scim.read,scim.write");
zoneAdminClient.setClientSecret("admin-secret"); zoneAdminClient.setClientSecret("admin-secret");
Expand Down Expand Up @@ -1680,7 +1680,7 @@ public void testChangeEmailPageHasCsrf() throws Exception {


@Test @Test
public void testChangeEmailSubmitWithMissingCsrf() throws Exception { public void testChangeEmailSubmitWithMissingCsrf() throws Exception {
assumeFalse("Test only runs in non degraded mode.", isDegraded()); assumeFalse("Test only runs in non limited mode.", isLimitedMode());
SecurityContext marissaContext = getMarissaSecurityContext(getWebApplicationContext()); SecurityContext marissaContext = getMarissaSecurityContext(getWebApplicationContext());


MockHttpServletRequestBuilder get = get("/change_email") MockHttpServletRequestBuilder get = get("/change_email")
Expand All @@ -1705,7 +1705,7 @@ public void testChangeEmailSubmitWithMissingCsrf() throws Exception {


@Test @Test
public void testChangeEmailSubmitWithInvalidCsrf() throws Exception { public void testChangeEmailSubmitWithInvalidCsrf() throws Exception {
assumeFalse("Test only runs in non degraded mode.", isDegraded()); assumeFalse("Test only runs in non limited mode.", isLimitedMode());
SecurityContext marissaContext = getMarissaSecurityContext(getWebApplicationContext()); SecurityContext marissaContext = getMarissaSecurityContext(getWebApplicationContext());


MockHttpServletRequestBuilder get = get("/change_email") MockHttpServletRequestBuilder get = get("/change_email")
Expand All @@ -1731,7 +1731,7 @@ public void testChangeEmailSubmitWithInvalidCsrf() throws Exception {


@Test @Test
public void testChangeEmailSubmitWithSpringSecurityForcedCsrf() throws Exception { public void testChangeEmailSubmitWithSpringSecurityForcedCsrf() throws Exception {
assumeFalse("Test only runs in non degraded mode.", isDegraded()); assumeFalse("Test only runs in non limited mode.", isLimitedMode());
SecurityContext marissaContext = getMarissaSecurityContext(getWebApplicationContext()); SecurityContext marissaContext = getMarissaSecurityContext(getWebApplicationContext());
//example shows to to test a request that is secured by csrf and you wish to bypass it //example shows to to test a request that is secured by csrf and you wish to bypass it
MockHttpServletRequestBuilder changeEmail = post("/change_email.do") MockHttpServletRequestBuilder changeEmail = post("/change_email.do")
Expand All @@ -1750,7 +1750,7 @@ public void testChangeEmailSubmitWithSpringSecurityForcedCsrf() throws Exception


@Test @Test
public void testChangeEmailSubmitWithCorrectCsrf() throws Exception { public void testChangeEmailSubmitWithCorrectCsrf() throws Exception {
assumeFalse("Test only runs in non degraded mode.", isDegraded()); assumeFalse("Test only runs in non limited mode.", isLimitedMode());
SecurityContext marissaContext = getMarissaSecurityContext(getWebApplicationContext()); SecurityContext marissaContext = getMarissaSecurityContext(getWebApplicationContext());


MockHttpServletRequestBuilder get = get("/change_email") MockHttpServletRequestBuilder get = get("/change_email")
Expand Down Expand Up @@ -1780,7 +1780,7 @@ public void testChangeEmailSubmitWithCorrectCsrf() throws Exception {


@Test @Test
public void testChangeEmailDoNotLoggedIn() throws Exception { public void testChangeEmailDoNotLoggedIn() throws Exception {
assumeFalse("Test only runs in non degraded mode.", isDegraded()); assumeFalse("Test only runs in non limited mode.", isLimitedMode());
SecurityContext marissaContext = getMarissaSecurityContext(getWebApplicationContext()); SecurityContext marissaContext = getMarissaSecurityContext(getWebApplicationContext());


MockHttpServletRequestBuilder changeEmail = post("/change_email.do") MockHttpServletRequestBuilder changeEmail = post("/change_email.do")
Expand Down Expand Up @@ -1808,7 +1808,7 @@ public void testChangeEmailDoNotLoggedIn() throws Exception {


@Test @Test
public void testChangeEmailNoCsrfReturns403AndInvalidRequest() throws Exception { public void testChangeEmailNoCsrfReturns403AndInvalidRequest() throws Exception {
assumeFalse("Test only runs in non degraded mode.", isDegraded()); assumeFalse("Test only runs in non limited mode.", isLimitedMode());
SecurityContext marissaContext = getMarissaSecurityContext(getWebApplicationContext()); SecurityContext marissaContext = getMarissaSecurityContext(getWebApplicationContext());


MockHttpServletRequestBuilder get = get("/change_email") MockHttpServletRequestBuilder get = get("/change_email")
Expand All @@ -1833,7 +1833,7 @@ public void testChangeEmailNoCsrfReturns403AndInvalidRequest() throws Exception


@Test @Test
public void testCsrfForInvitationAcceptPost() throws Exception { public void testCsrfForInvitationAcceptPost() throws Exception {
assumeFalse("Test only runs in non degraded mode.", isDegraded()); assumeFalse("Test only runs in non limited mode.", isLimitedMode());
SecurityContext marissaContext = getMarissaSecurityContext(getWebApplicationContext()); SecurityContext marissaContext = getMarissaSecurityContext(getWebApplicationContext());
AnonymousAuthenticationToken inviteToken = new AnonymousAuthenticationToken("invited-test", marissaContext.getAuthentication().getPrincipal(), asList(UaaAuthority.UAA_INVITED)); AnonymousAuthenticationToken inviteToken = new AnonymousAuthenticationToken("invited-test", marissaContext.getAuthentication().getPrincipal(), asList(UaaAuthority.UAA_INVITED));
MockHttpSession inviteSession = new MockHttpSession(); MockHttpSession inviteSession = new MockHttpSession();
Expand Down Expand Up @@ -2588,7 +2588,7 @@ public String[] getParameterValues(String name) {
}; };
} }


public boolean isDegraded() throws Exception { public boolean isLimitedMode() throws Exception {
return getWebApplicationContext().getBean(DegradedModeUaaFilter.class).isEnabled(); return getWebApplicationContext().getBean(LimitedModeUaaFilter.class).isEnabled();
} }
} }
Expand Up @@ -13,7 +13,7 @@
package org.cloudfoundry.identity.uaa.mock; package org.cloudfoundry.identity.uaa.mock;


import org.cloudfoundry.identity.uaa.login.LoginMockMvcTests; import org.cloudfoundry.identity.uaa.login.LoginMockMvcTests;
import org.cloudfoundry.identity.uaa.mock.degraded.DegradedModeLoginMockMvcTests; import org.cloudfoundry.identity.uaa.mock.limited.LimitedModeLoginMockMvcTests;
import org.cloudfoundry.identity.uaa.test.YamlServletProfileInitializerContextInitializer; import org.cloudfoundry.identity.uaa.test.YamlServletProfileInitializerContextInitializer;
import org.flywaydb.core.Flyway; import org.flywaydb.core.Flyway;
import org.junit.AfterClass; import org.junit.AfterClass;
Expand All @@ -32,7 +32,7 @@ public class DefaultConfigurationTestSuite extends UaaBaseSuite {


public static Class<?>[] suiteClasses() { public static Class<?>[] suiteClasses() {
//Class<?>[] result = UaaJunitSuiteRunner.allSuiteClasses(); //Class<?>[] result = UaaJunitSuiteRunner.allSuiteClasses();
Class<?>[] result = new Class[] {DegradedModeLoginMockMvcTests.class, LoginMockMvcTests.class}; Class<?>[] result = new Class[] {LimitedModeLoginMockMvcTests.class, LoginMockMvcTests.class};
//Class<?>[] result = new Class[] {IdentityProviderEndpointsMockMvcTests.class, SamlIDPRefreshMockMvcTests.class}; //Class<?>[] result = new Class[] {IdentityProviderEndpointsMockMvcTests.class, SamlIDPRefreshMockMvcTests.class};
//for now, sort the test classes until we have figured out all //for now, sort the test classes until we have figured out all
//test poisoning that is occurring //test poisoning that is occurring
Expand Down
Expand Up @@ -13,25 +13,25 @@
* **************************************************************************** * ****************************************************************************
*/ */


package org.cloudfoundry.identity.uaa.mock.degraded; package org.cloudfoundry.identity.uaa.mock.limited;


import org.cloudfoundry.identity.uaa.mock.token.JwtBearerGrantMockMvcTests; import org.cloudfoundry.identity.uaa.mock.token.JwtBearerGrantMockMvcTests;
import org.cloudfoundry.identity.uaa.web.DegradedModeUaaFilter; import org.cloudfoundry.identity.uaa.web.LimitedModeUaaFilter;
import org.junit.After; import org.junit.After;
import org.junit.Before; import org.junit.Before;


public class DegradedModeJwtBearerGrantMockMvcTests extends JwtBearerGrantMockMvcTests { public class LimitedModeJwtBearerGrantMockMvcTests extends JwtBearerGrantMockMvcTests {
private boolean original; private boolean original;


@Before @Before
public void setup () throws Exception { public void setup () throws Exception {
DegradedModeUaaFilter bean = getWebApplicationContext().getBean(DegradedModeUaaFilter.class); LimitedModeUaaFilter bean = getWebApplicationContext().getBean(LimitedModeUaaFilter.class);
original = bean.isEnabled(); original = bean.isEnabled();
bean.setEnabled(true); bean.setEnabled(true);
} }


@After @After
public void teardown() throws Exception { public void teardown() throws Exception {
getWebApplicationContext().getBean(DegradedModeUaaFilter.class).setEnabled(original); getWebApplicationContext().getBean(LimitedModeUaaFilter.class).setEnabled(original);
} }
} }
Expand Up @@ -13,22 +13,22 @@
* **************************************************************************** * ****************************************************************************
*/ */


package org.cloudfoundry.identity.uaa.mock.degraded; package org.cloudfoundry.identity.uaa.mock.limited;


import org.cloudfoundry.identity.uaa.login.LoginMockMvcTests; import org.cloudfoundry.identity.uaa.login.LoginMockMvcTests;
import org.cloudfoundry.identity.uaa.web.DegradedModeUaaFilter; import org.cloudfoundry.identity.uaa.web.LimitedModeUaaFilter;
import org.junit.After; import org.junit.After;
import org.junit.Before; import org.junit.Before;


public class DegradedModeLoginMockMvcTests extends LoginMockMvcTests { public class LimitedModeLoginMockMvcTests extends LoginMockMvcTests {


private boolean original; private boolean original;


@Before @Before
@Override @Override
public void setUpContext() throws Exception { public void setUpContext() throws Exception {
super.setUpContext(); super.setUpContext();
DegradedModeUaaFilter bean = getWebApplicationContext().getBean(DegradedModeUaaFilter.class); LimitedModeUaaFilter bean = getWebApplicationContext().getBean(LimitedModeUaaFilter.class);
original = bean.isEnabled(); original = bean.isEnabled();
bean.setEnabled(true); bean.setEnabled(true);
} }
Expand All @@ -38,7 +38,7 @@ public void setUpContext() throws Exception {
@Override @Override
public void tearDown() throws Exception { public void tearDown() throws Exception {
super.tearDown(); super.tearDown();
getWebApplicationContext().getBean(DegradedModeUaaFilter.class).setEnabled(original); getWebApplicationContext().getBean(LimitedModeUaaFilter.class).setEnabled(original);
} }


} }

0 comments on commit b97788a

Please sign in to comment.