/** * Construct a new {@link ContextConfigurationAttributes} instance for the * supplied {@link ContextConfiguration @ContextConfiguration} annotation and * the {@linkplain Class test class} that declared it. * @param declaringClass the test class that declared {@code @ContextConfiguration} * @param contextConfiguration the annotation from which to retrieve the attributes */ public ContextConfigurationAttributes(Class<?> declaringClass, ContextConfiguration contextConfiguration) { this(declaringClass, contextConfiguration.locations(), contextConfiguration.classes(), contextConfiguration.inheritLocations(), contextConfiguration.initializers(), contextConfiguration.inheritInitializers(), contextConfiguration.name(), contextConfiguration.loader()); }
@Test public void contextConfigurationLocationsAndInheritLocations() throws Exception { Class<MetaLocationsConfigTestCase> declaringClass = MetaLocationsConfigTestCase.class; AnnotationDescriptor<ContextConfiguration> descriptor = findAnnotationDescriptor(declaringClass, ContextConfiguration.class); assertNotNull(descriptor); assertEquals(declaringClass, descriptor.getRootDeclaringClass()); assertEquals(MetaLocationsConfig.class, descriptor.getComposedAnnotationType()); assertEquals(ContextConfiguration.class, descriptor.getAnnotationType()); assertNotNull(descriptor.getComposedAnnotation()); assertEquals(MetaLocationsConfig.class, descriptor.getComposedAnnotationType()); // direct access to annotation attributes: assertArrayEquals(new String[] { "foo.xml" }, descriptor.getAnnotation().locations()); assertFalse(descriptor.getAnnotation().inheritLocations()); }
@Test public void overriddenContextConfigurationLocationsAndInheritLocations() throws Exception { Class<?> declaringClass = OverriddenMetaLocationsConfigTestCase.class; AnnotationDescriptor<ContextConfiguration> descriptor = findAnnotationDescriptor(declaringClass, ContextConfiguration.class); assertNotNull(descriptor); assertEquals(declaringClass, descriptor.getRootDeclaringClass()); assertEquals(MetaLocationsConfig.class, descriptor.getComposedAnnotationType()); assertEquals(ContextConfiguration.class, descriptor.getAnnotationType()); assertNotNull(descriptor.getComposedAnnotation()); assertEquals(MetaLocationsConfig.class, descriptor.getComposedAnnotationType()); // direct access to annotation attributes: assertArrayEquals(new String[] { "foo.xml" }, descriptor.getAnnotation().locations()); assertFalse(descriptor.getAnnotation().inheritLocations()); // overridden attributes: AnnotationAttributes attributes = descriptor.getAnnotationAttributes(); assertArrayEquals(new String[] { "bar.xml" }, attributes.getStringArray("locations")); assertTrue(attributes.getBoolean("inheritLocations")); }
protected String getSpringContextLocation() { if (this.getClass().isAnnotationPresent(ContextConfiguration.class)) { ContextConfiguration config = this.getClass().getAnnotation(ContextConfiguration.class); String[] locations = config.locations(); return StringUtil.unsplit(",", locations); } else { return DEFAULT_SPRING_CONTEXT_LOCATION; } }
protected String getSpringContextLocation() { if (this.getClass().isAnnotationPresent(ContextConfiguration.class)) { ContextConfiguration config = this.getClass().getAnnotation(ContextConfiguration.class); String[] locations = config.locations(); return StringUtil.unsplit(",", locations); } else { return DEFAULT_SPRING_CONTEXT_LOCATION; } }
/** * Construct a new {@link ContextConfigurationAttributes} instance for the * supplied {@link ContextConfiguration @ContextConfiguration} annotation and * the {@linkplain Class test class} that declared it. * @param declaringClass the test class that declared {@code @ContextConfiguration} * @param contextConfiguration the annotation from which to retrieve the attributes */ public ContextConfigurationAttributes(Class<?> declaringClass, ContextConfiguration contextConfiguration) { this(declaringClass, contextConfiguration.locations(), contextConfiguration.classes(), contextConfiguration.inheritLocations(), contextConfiguration.initializers(), contextConfiguration.inheritInitializers(), contextConfiguration.name(), contextConfiguration.loader()); }
/** * Construct a new {@link ContextConfigurationAttributes} instance for the * supplied {@link ContextConfiguration @ContextConfiguration} annotation and * the {@linkplain Class test class} that declared it. * @param declaringClass the test class that declared {@code @ContextConfiguration} * @param contextConfiguration the annotation from which to retrieve the attributes */ public ContextConfigurationAttributes(Class<?> declaringClass, ContextConfiguration contextConfiguration) { this(declaringClass, contextConfiguration.locations(), contextConfiguration.classes(), contextConfiguration.inheritLocations(), contextConfiguration.initializers(), contextConfiguration.inheritInitializers(), contextConfiguration.name(), contextConfiguration.loader()); }
@Test public void testOperationViewsConfiguration() throws Exception { Class<?> clazz=getClass(); ContextConfiguration config=clazz.getAnnotation(ContextConfiguration.class); Assert.assertNotNull("Missing " + ContextConfiguration.class.getSimpleName(), config); String[] locations=config.locations(); Assert.assertEquals("Mismatched number of locations", 1, ArrayUtil.length(locations)); String configLocation=locations[0]; Resource resource=applicationContext.getResource(configLocation); Assert.assertNotNull("Cannot resolve " + configLocation, resource); Assert.assertTrue("Not found " + configLocation, resource.exists()); final Map<OperationType,String> viewsMap; InputStream in=resource.getInputStream(); try { viewsMap = AbstractIdkTestSupport.parseOperationViews(in); } finally { in.close(); } assertViewsMap(viewsMap); }