From e5f034bdef888ed867ee1726d9ced95a27318e14 Mon Sep 17 00:00:00 2001 From: Rob Winch Date: Fri, 27 Sep 2013 11:52:32 -0500 Subject: [PATCH] SEC-2151: Fix tests --- .../core/DefaultParameterNameDiscoverer.java | 25 --------- ...tSecurityParameterNameDiscovererTests.java | 51 +++++++++++++++++-- 2 files changed, 48 insertions(+), 28 deletions(-) delete mode 100644 core/src/test/java/org/springframework/core/DefaultParameterNameDiscoverer.java diff --git a/core/src/test/java/org/springframework/core/DefaultParameterNameDiscoverer.java b/core/src/test/java/org/springframework/core/DefaultParameterNameDiscoverer.java deleted file mode 100644 index f6aa132ba8..0000000000 --- a/core/src/test/java/org/springframework/core/DefaultParameterNameDiscoverer.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright 2002-2013 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not - * use this file except in compliance with the License. You may obtain a copy of - * the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations under - * the License. - */ -package org.springframework.core; - -/** - * - * @author Rob Winch - * - */ -public class DefaultParameterNameDiscoverer extends PrioritizedParameterNameDiscoverer { - -} diff --git a/core/src/test/java/org/springframework/security/core/parameters/DefaultSecurityParameterNameDiscovererTests.java b/core/src/test/java/org/springframework/security/core/parameters/DefaultSecurityParameterNameDiscovererTests.java index ae2c326fd3..3befef4395 100644 --- a/core/src/test/java/org/springframework/security/core/parameters/DefaultSecurityParameterNameDiscovererTests.java +++ b/core/src/test/java/org/springframework/security/core/parameters/DefaultSecurityParameterNameDiscovererTests.java @@ -21,11 +21,12 @@ import java.util.Arrays; import java.util.List; import java.util.Set; +import org.junit.Assume; import org.junit.Before; import org.junit.Test; -import org.springframework.core.DefaultParameterNameDiscoverer; import org.springframework.core.LocalVariableTableParameterNameDiscoverer; import org.springframework.core.ParameterNameDiscoverer; +import org.springframework.core.SpringVersion; import org.springframework.security.access.method.P; import org.springframework.test.util.ReflectionTestUtils; @@ -45,6 +46,8 @@ public class DefaultSecurityParameterNameDiscovererTests { @Test public void constructorDefault() { + Assume.assumeTrue(SpringVersion.getVersion().startsWith("3.")); + List discoverers = (List) ReflectionTestUtils .getField(discoverer, "parameterNameDiscoverers"); @@ -57,11 +60,13 @@ public class DefaultSecurityParameterNameDiscovererTests { assertThat(annotationsToUse).containsOnly(P.class.getName()); assertThat(discoverers.get(1)).isInstanceOf( - DefaultParameterNameDiscoverer.class); + LocalVariableTableParameterNameDiscoverer.class); } @Test public void constructorDiscoverers() { + Assume.assumeTrue(SpringVersion.getVersion().startsWith("3.")); + discoverer = new DefaultSecurityParameterNameDiscoverer(Arrays.asList(new LocalVariableTableParameterNameDiscoverer())); List discoverers = (List) ReflectionTestUtils @@ -78,6 +83,46 @@ public class DefaultSecurityParameterNameDiscovererTests { assertThat(annotationsToUse).containsOnly(P.class.getName()); assertThat(discoverers.get(2)).isInstanceOf( - DefaultParameterNameDiscoverer.class); + LocalVariableTableParameterNameDiscoverer.class); + } + + @Test + public void constructorDefaultSpring4() { + Assume.assumeTrue(SpringVersion.getVersion().startsWith("4.")); + + List discoverers = (List) ReflectionTestUtils + .getField(discoverer, "parameterNameDiscoverers"); + + assertThat(discoverers.size()).isEqualTo(2); + + ParameterNameDiscoverer annotationDisc = discoverers.get(0); + assertThat(annotationDisc).isInstanceOf( + AnnotationParameterNameDiscoverer.class); + Set annotationsToUse = (Set)ReflectionTestUtils.getField(annotationDisc, "annotationClassesToUse"); + assertThat(annotationsToUse).containsOnly(P.class.getName()); + + assertThat(discoverers.get(1).getClass().getName()).isEqualTo("org.springframework.core.DefaultParameterNameDiscoverer"); + } + + @Test + public void constructorDiscoverersSpring4() { + Assume.assumeTrue(SpringVersion.getVersion().startsWith("4.")); + + discoverer = new DefaultSecurityParameterNameDiscoverer(Arrays.asList(new LocalVariableTableParameterNameDiscoverer())); + + List discoverers = (List) ReflectionTestUtils + .getField(discoverer, "parameterNameDiscoverers"); + + assertThat(discoverers.size()).isEqualTo(3); + assertThat(discoverers.get(0)).isInstanceOf( + LocalVariableTableParameterNameDiscoverer.class); + + ParameterNameDiscoverer annotationDisc = discoverers.get(1); + assertThat(annotationDisc).isInstanceOf( + AnnotationParameterNameDiscoverer.class); + Set annotationsToUse = (Set)ReflectionTestUtils.getField(annotationDisc, "annotationClassesToUse"); + assertThat(annotationsToUse).containsOnly(P.class.getName()); + + assertThat(discoverers.get(1).getClass().getName()).isEqualTo("org.springframework.core.DefaultParameterNameDiscoverer"); } } \ No newline at end of file