|
21 | 21 | import java.lang.annotation.RetentionPolicy;
|
22 | 22 | import java.lang.annotation.Target;
|
23 | 23 | import java.util.Arrays;
|
24 |
| -import java.util.List; |
| 24 | +import java.util.HashSet; |
| 25 | +import java.util.Set; |
25 | 26 |
|
26 | 27 | import org.junit.Test;
|
27 | 28 |
|
|
38 | 39 | */
|
39 | 40 | public class ContextLoaderUtilsActiveProfilesTests extends AbstractContextLoaderUtilsTests {
|
40 | 41 |
|
| 42 | + private void assertResolvedProfiles(Class<?> testClass, String... expected) { |
| 43 | + assertNotNull(testClass); |
| 44 | + assertNotNull(expected); |
| 45 | + String[] actual = resolveActiveProfiles(testClass); |
| 46 | + Set<String> expectedSet = new HashSet<String>(Arrays.asList(expected)); |
| 47 | + Set<String> actualSet = new HashSet<String>(Arrays.asList(actual)); |
| 48 | + assertEquals(expectedSet, actualSet); |
| 49 | + } |
| 50 | + |
41 | 51 | @Test
|
42 | 52 | public void resolveActiveProfilesWithoutAnnotation() {
|
43 |
| - String[] profiles = resolveActiveProfiles(Enigma.class); |
44 |
| - assertArrayEquals(EMPTY_STRING_ARRAY, profiles); |
| 53 | + assertArrayEquals(EMPTY_STRING_ARRAY, resolveActiveProfiles(Enigma.class)); |
45 | 54 | }
|
46 | 55 |
|
47 | 56 | @Test
|
48 | 57 | public void resolveActiveProfilesWithNoProfilesDeclared() {
|
49 |
| - String[] profiles = resolveActiveProfiles(BareAnnotations.class); |
50 |
| - assertArrayEquals(EMPTY_STRING_ARRAY, profiles); |
| 58 | + assertArrayEquals(EMPTY_STRING_ARRAY, resolveActiveProfiles(BareAnnotations.class)); |
51 | 59 | }
|
52 | 60 |
|
53 | 61 | @Test
|
54 | 62 | public void resolveActiveProfilesWithEmptyProfiles() {
|
55 |
| - String[] profiles = resolveActiveProfiles(EmptyProfiles.class); |
56 |
| - assertArrayEquals(EMPTY_STRING_ARRAY, profiles); |
| 63 | + assertArrayEquals(EMPTY_STRING_ARRAY, resolveActiveProfiles(EmptyProfiles.class)); |
57 | 64 | }
|
58 | 65 |
|
59 | 66 | @Test
|
60 | 67 | public void resolveActiveProfilesWithDuplicatedProfiles() {
|
61 |
| - String[] profiles = resolveActiveProfiles(DuplicatedProfiles.class); |
62 |
| - assertNotNull(profiles); |
63 |
| - assertEquals(3, profiles.length); |
64 |
| - |
65 |
| - List<String> list = Arrays.asList(profiles); |
66 |
| - assertTrue(list.contains("foo")); |
67 |
| - assertTrue(list.contains("bar")); |
68 |
| - assertTrue(list.contains("baz")); |
| 68 | + assertResolvedProfiles(DuplicatedProfiles.class, "foo", "bar", "baz"); |
69 | 69 | }
|
70 | 70 |
|
71 | 71 | @Test
|
72 | 72 | public void resolveActiveProfilesWithLocalAnnotation() {
|
73 |
| - String[] profiles = resolveActiveProfiles(LocationsFoo.class); |
74 |
| - assertNotNull(profiles); |
75 |
| - assertArrayEquals(new String[] { "foo" }, profiles); |
| 73 | + assertResolvedProfiles(LocationsFoo.class, "foo"); |
76 | 74 | }
|
77 | 75 |
|
78 | 76 | @Test
|
79 | 77 | public void resolveActiveProfilesWithInheritedAnnotationAndLocations() {
|
80 |
| - String[] profiles = resolveActiveProfiles(InheritedLocationsFoo.class); |
81 |
| - assertNotNull(profiles); |
82 |
| - assertArrayEquals(new String[] { "foo" }, profiles); |
| 78 | + assertResolvedProfiles(InheritedLocationsFoo.class, "foo"); |
83 | 79 | }
|
84 | 80 |
|
85 | 81 | @Test
|
86 | 82 | public void resolveActiveProfilesWithInheritedAnnotationAndClasses() {
|
87 |
| - String[] profiles = resolveActiveProfiles(InheritedClassesFoo.class); |
88 |
| - assertNotNull(profiles); |
89 |
| - assertArrayEquals(new String[] { "foo" }, profiles); |
| 83 | + assertResolvedProfiles(InheritedClassesFoo.class, "foo"); |
90 | 84 | }
|
91 | 85 |
|
92 | 86 | @Test
|
93 | 87 | public void resolveActiveProfilesWithLocalAndInheritedAnnotations() {
|
94 |
| - String[] profiles = resolveActiveProfiles(LocationsBar.class); |
95 |
| - assertNotNull(profiles); |
96 |
| - assertEquals(2, profiles.length); |
97 |
| - |
98 |
| - List<String> list = Arrays.asList(profiles); |
99 |
| - assertTrue(list.contains("foo")); |
100 |
| - assertTrue(list.contains("bar")); |
| 88 | + assertResolvedProfiles(LocationsBar.class, "foo", "bar"); |
101 | 89 | }
|
102 | 90 |
|
103 | 91 | @Test
|
104 | 92 | public void resolveActiveProfilesWithOverriddenAnnotation() {
|
105 |
| - String[] profiles = resolveActiveProfiles(Animals.class); |
106 |
| - assertNotNull(profiles); |
107 |
| - assertEquals(2, profiles.length); |
108 |
| - |
109 |
| - List<String> list = Arrays.asList(profiles); |
110 |
| - assertTrue(list.contains("dog")); |
111 |
| - assertTrue(list.contains("cat")); |
| 93 | + assertResolvedProfiles(Animals.class, "dog", "cat"); |
112 | 94 | }
|
113 | 95 |
|
114 | 96 | /**
|
115 | 97 | * @since 4.0
|
116 | 98 | */
|
117 | 99 | @Test
|
118 | 100 | public void resolveActiveProfilesWithMetaAnnotation() {
|
119 |
| - String[] profiles = resolveActiveProfiles(MetaLocationsFoo.class); |
120 |
| - assertNotNull(profiles); |
121 |
| - assertArrayEquals(new String[] { "foo" }, profiles); |
| 101 | + assertResolvedProfiles(MetaLocationsFoo.class, "foo"); |
122 | 102 | }
|
123 | 103 |
|
124 | 104 | /**
|
125 | 105 | * @since 4.0
|
126 | 106 | */
|
127 | 107 | @Test
|
128 | 108 | public void resolveActiveProfilesWithMetaAnnotationAndOverrides() {
|
129 |
| - String[] profiles = resolveActiveProfiles(MetaLocationsFooWithOverrides.class); |
130 |
| - assertNotNull(profiles); |
131 |
| - assertArrayEquals(new String[] { "foo" }, profiles); |
| 109 | + assertResolvedProfiles(MetaLocationsFooWithOverrides.class, "foo"); |
132 | 110 | }
|
133 | 111 |
|
134 | 112 | /**
|
135 | 113 | * @since 4.0
|
136 | 114 | */
|
137 | 115 | @Test
|
138 | 116 | public void resolveActiveProfilesWithMetaAnnotationAndOverriddenAttributes() {
|
139 |
| - String[] profiles = resolveActiveProfiles(MetaLocationsFooWithOverriddenAttributes.class); |
140 |
| - assertNotNull(profiles); |
141 |
| - assertArrayEquals(new String[] { "foo1", "foo2" }, profiles); |
| 117 | + assertResolvedProfiles(MetaLocationsFooWithOverriddenAttributes.class, "foo1", "foo2"); |
142 | 118 | }
|
143 | 119 |
|
144 | 120 | /**
|
145 | 121 | * @since 4.0
|
146 | 122 | */
|
147 | 123 | @Test
|
148 | 124 | public void resolveActiveProfilesWithLocalAndInheritedMetaAnnotations() {
|
149 |
| - String[] profiles = resolveActiveProfiles(MetaLocationsBar.class); |
150 |
| - assertNotNull(profiles); |
151 |
| - assertEquals(2, profiles.length); |
152 |
| - |
153 |
| - List<String> list = Arrays.asList(profiles); |
154 |
| - assertTrue(list.contains("foo")); |
155 |
| - assertTrue(list.contains("bar")); |
| 125 | + assertResolvedProfiles(MetaLocationsBar.class, "foo", "bar"); |
156 | 126 | }
|
157 | 127 |
|
158 | 128 | /**
|
159 | 129 | * @since 4.0
|
160 | 130 | */
|
161 | 131 | @Test
|
162 | 132 | public void resolveActiveProfilesWithOverriddenMetaAnnotation() {
|
163 |
| - String[] profiles = resolveActiveProfiles(MetaAnimals.class); |
164 |
| - assertNotNull(profiles); |
165 |
| - assertEquals(2, profiles.length); |
166 |
| - |
167 |
| - List<String> list = Arrays.asList(profiles); |
168 |
| - assertTrue(list.contains("dog")); |
169 |
| - assertTrue(list.contains("cat")); |
| 133 | + assertResolvedProfiles(MetaAnimals.class, "dog", "cat"); |
170 | 134 | }
|
171 | 135 |
|
172 | 136 | /**
|
173 | 137 | * @since 4.0
|
174 | 138 | */
|
175 | 139 | @Test
|
176 | 140 | public void resolveActiveProfilesWithResolver() {
|
177 |
| - String[] profiles = resolveActiveProfiles(FooActiveProfilesResolverTestCase.class); |
178 |
| - assertNotNull(profiles); |
179 |
| - assertEquals(1, profiles.length); |
180 |
| - assertArrayEquals(new String[] { "foo" }, profiles); |
| 141 | + assertResolvedProfiles(FooActiveProfilesResolverTestCase.class, "foo"); |
181 | 142 | }
|
182 | 143 |
|
183 | 144 | /**
|
184 | 145 | * @since 4.0
|
185 | 146 | */
|
186 | 147 | @Test
|
187 | 148 | public void resolveActiveProfilesWithInheritedResolver() {
|
188 |
| - String[] profiles = resolveActiveProfiles(InheritedFooActiveProfilesResolverTestCase.class); |
189 |
| - assertNotNull(profiles); |
190 |
| - assertEquals(1, profiles.length); |
191 |
| - assertArrayEquals(new String[] { "foo" }, profiles); |
| 149 | + assertResolvedProfiles(InheritedFooActiveProfilesResolverTestCase.class, "foo"); |
192 | 150 | }
|
193 | 151 |
|
194 | 152 | /**
|
195 | 153 | * @since 4.0
|
196 | 154 | */
|
197 | 155 | @Test
|
198 | 156 | public void resolveActiveProfilesWithMergedInheritedResolver() {
|
199 |
| - String[] profiles = resolveActiveProfiles(MergedInheritedFooActiveProfilesResolverTestCase.class); |
200 |
| - assertNotNull(profiles); |
201 |
| - assertEquals(2, profiles.length); |
202 |
| - List<String> list = Arrays.asList(profiles); |
203 |
| - assertTrue(list.contains("foo")); |
204 |
| - assertTrue(list.contains("bar")); |
| 157 | + assertResolvedProfiles(MergedInheritedFooActiveProfilesResolverTestCase.class, "foo", "bar"); |
205 | 158 | }
|
206 | 159 |
|
207 | 160 | /**
|
208 | 161 | * @since 4.0
|
209 | 162 | */
|
210 | 163 | @Test
|
211 | 164 | public void resolveActiveProfilesWithOverridenInheritedResolver() {
|
212 |
| - String[] profiles = resolveActiveProfiles(OverridenInheritedFooActiveProfilesResolverTestCase.class); |
213 |
| - assertNotNull(profiles); |
214 |
| - assertEquals(1, profiles.length); |
215 |
| - assertArrayEquals(new String[] { "bar" }, profiles); |
| 165 | + assertResolvedProfiles(OverridenInheritedFooActiveProfilesResolverTestCase.class, "bar"); |
216 | 166 | }
|
217 | 167 |
|
218 | 168 | /**
|
@@ -279,6 +229,7 @@ private static class Animals extends LocationsBar {
|
279 | 229 | @ActiveProfiles
|
280 | 230 | @Retention(RetentionPolicy.RUNTIME)
|
281 | 231 | @Target(ElementType.TYPE)
|
| 232 | + // TODO Write test with @MetaProfilesWithOverrides. |
282 | 233 | private static @interface MetaProfilesWithOverrides {
|
283 | 234 |
|
284 | 235 | String[] profiles() default { "dog", "cat" };
|
|
0 commit comments