Polish ComponentScanParserScopedProxyTests

master
Sam Brannen 9 years ago
parent d49bf01c4a
commit 60cdfa535e
  1. 35
      spring-context/src/test/java/org/springframework/context/annotation/ComponentScanParserScopedProxyTests.java

@ -1,5 +1,5 @@
/*
* Copyright 2002-2013 the original author or authors.
* Copyright 2002-2015 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.
@ -16,24 +16,32 @@
package org.springframework.context.annotation;
import example.scannable.FooService;
import example.scannable.ScopedProxyTestBean;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
import org.springframework.aop.support.AopUtils;
import org.springframework.beans.FatalBeanException;
import org.springframework.beans.factory.parsing.BeanDefinitionParsingException;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.tests.context.SimpleMapScope;
import org.springframework.util.SerializationTestUtils;
import example.scannable.FooService;
import example.scannable.ScopedProxyTestBean;
import static org.hamcrest.CoreMatchers.*;
import static org.junit.Assert.*;
/**
* @author Mark Fisher
* @author Juergen Hoeller
* @author Sam Brannen
*/
public class ComponentScanParserScopedProxyTests {
@Rule
public final ExpectedException exception = ExpectedException.none();
@Test
public void testDefaultScopedProxy() {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
@ -42,6 +50,7 @@ public class ComponentScanParserScopedProxyTests {
ScopedProxyTestBean bean = (ScopedProxyTestBean) context.getBean("scopedProxyTestBean");
// should not be a proxy
assertFalse(AopUtils.isAopProxy(bean));
context.close();
}
@Test
@ -52,6 +61,7 @@ public class ComponentScanParserScopedProxyTests {
ScopedProxyTestBean bean = (ScopedProxyTestBean) context.getBean("scopedProxyTestBean");
// should not be a proxy
assertFalse(AopUtils.isAopProxy(bean));
context.close();
}
@Test
@ -68,6 +78,7 @@ public class ComponentScanParserScopedProxyTests {
FooService deserialized = (FooService) SerializationTestUtils.serializeAndDeserialize(bean);
assertNotNull(deserialized);
assertEquals("bar", deserialized.foo(1));
context.close();
}
@Test
@ -83,18 +94,16 @@ public class ComponentScanParserScopedProxyTests {
ScopedProxyTestBean deserialized = (ScopedProxyTestBean) SerializationTestUtils.serializeAndDeserialize(bean);
assertNotNull(deserialized);
assertEquals("bar", deserialized.foo(1));
context.close();
}
@Test
public void testInvalidConfigScopedProxy() {
try {
new ClassPathXmlApplicationContext(
"org/springframework/context/annotation/scopedProxyInvalidConfigTests.xml");
fail("should have thrown Exception; scope-resolver and scoped-proxy both provided");
}
catch (FatalBeanException e) {
// expected
}
@SuppressWarnings("resource")
public void testInvalidConfigScopedProxy() throws Exception {
exception.expect(BeanDefinitionParsingException.class);
exception.expectMessage(containsString("Cannot define both 'scope-resolver' and 'scoped-proxy' on <component-scan> tag"));
exception.expectMessage(containsString("Offending resource: class path resource [org/springframework/context/annotation/scopedProxyInvalidConfigTests.xml]"));
new ClassPathXmlApplicationContext("org/springframework/context/annotation/scopedProxyInvalidConfigTests.xml");
}
}

Loading…
Cancel
Save