diff --git a/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/configuration/ConfigurationLoader.java b/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/configuration/ConfigurationLoader.java index ec7830a..728b7a7 100644 --- a/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/configuration/ConfigurationLoader.java +++ b/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/configuration/ConfigurationLoader.java @@ -163,7 +163,7 @@ public class ConfigurationLoader implements Serializable { if (url != null) { result = new DataConfiguration(new PropertiesConfiguration(url)); - }else{ + } else { getLogger().warn(getBundle().getString("resource-not-found", resource + ".properties")); } @@ -174,7 +174,7 @@ public class ConfigurationLoader implements Serializable { if (url != null) { result = new DataConfiguration(new XMLConfiguration(url)); - }else{ + } else { getLogger().warn(getBundle().getString("resource-not-found", resource + ".xml")); } @@ -448,9 +448,9 @@ public class ConfigurationLoader implements Serializable { } this.key = this.prefix + this.name; - - if(!config.containsKey(key.toString())){ - getLogger().debug(getBundle().getString("key-not-found", key)); + + if (!config.containsKey(this.key)) { + getLogger().debug(getBundle().getString("key-not-found", this.key)); } } @@ -484,4 +484,4 @@ public class ConfigurationLoader implements Serializable { return this.key; } } -} \ No newline at end of file +} diff --git a/impl/core/src/test/java/br/gov/frameworkdemoiselle/internal/configuration/ConfigurationLoaderTest.java b/impl/core/src/test/java/br/gov/frameworkdemoiselle/internal/configuration/ConfigurationLoaderTest.java index d7c21b1..67c0092 100644 --- a/impl/core/src/test/java/br/gov/frameworkdemoiselle/internal/configuration/ConfigurationLoaderTest.java +++ b/impl/core/src/test/java/br/gov/frameworkdemoiselle/internal/configuration/ConfigurationLoaderTest.java @@ -1,523 +1,523 @@ -/* - * Demoiselle Framework - * Copyright (C) 2010 SERPRO - * ---------------------------------------------------------------------------- - * This file is part of Demoiselle Framework. - * - * Demoiselle Framework is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public License version 3 - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License version 3 - * along with this program; if not, see - * or write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. - * ---------------------------------------------------------------------------- - * Este arquivo é parte do Framework Demoiselle. - * - * O Framework Demoiselle é um software livre; você pode redistribuí-lo e/ou - * modificá-lo dentro dos termos da GNU LGPL versão 3 como publicada pela Fundação - * do Software Livre (FSF). - * - * Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA - * GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou - * APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU/LGPL em português - * para maiores detalhes. - * - * Você deve ter recebido uma cópia da GNU LGPL versão 3, sob o título - * "LICENCA.txt", junto com esse programa. Se não, acesse - * ou escreva para a Fundação do Software Livre (FSF) Inc., - * 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA. - */ -package br.gov.frameworkdemoiselle.internal.configuration; - -import static org.easymock.EasyMock.expect; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; -import static org.powermock.api.easymock.PowerMock.mockStatic; - -import java.util.Locale; -import java.util.Properties; - -import javax.validation.constraints.NotNull; - -import org.junit.After; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.powermock.api.easymock.PowerMock; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; - -import br.gov.frameworkdemoiselle.annotation.Ignore; -import br.gov.frameworkdemoiselle.annotation.Name; -import br.gov.frameworkdemoiselle.configuration.ConfigType; -import br.gov.frameworkdemoiselle.configuration.Configuration; -import br.gov.frameworkdemoiselle.internal.bootstrap.CoreBootstrap; -import br.gov.frameworkdemoiselle.util.Beans; - -@RunWith(PowerMockRunner.class) -@PrepareForTest(Beans.class) -public class ConfigurationLoaderTest { - - private ConfigurationLoader configurationLoader; - - private CoreBootstrap coreBootstrap; - - @Configuration - public class ConfigurationSuccessfulPropertiesWithClassField { - - protected Class classe; - - } - - @Configuration - public class ConfigurationSuccessfulPropertiesWithPropertiesField { - - protected Properties properties; - - } - - @Configuration - public class ConfigurationSuccessfulProperties { - - @Name("frameworkdemoiselle.configurationtest.nameConfiguration") - protected String nameConfiguration; - - } - - @Configuration - public class ConfigurationSuccessfulProperties2 { - - @Name("frameworkdemoiselle.configurationtest.name") - protected String name; - - } - - @Configuration(resource = "absentFile") - public class ConfigurationPropertiesWithAbsentFile { - - @Name("frameworkdemoiselle.configurationtest.nameConfiguration") - protected String nameConfiguration; - - } - - @Configuration - public class ConfigurationWithEmptyName { - - @Name("") - protected String nameConfiguration; - - } - - @Configuration - public class ConfigurationWithoutNameAnnotation { - - protected String nameConfiguration; - - } - - @Configuration - public class ConfigurationWithIgnoreAnnotation { - - @Ignore - protected String nameConfiguration; - - } - - @Configuration(prefix = "frameworkdemoiselle.configurationtest.") - public class ConfigurationWithPrefix { - - @Name("nameConfiguration") - protected String nameConfiguration; - - } - - @Configuration - public class ConfigurationWithKeyNotFoundInProperties { - - protected Integer notExistKey; - } - - @Configuration - public class ConfigurationWithNotNullFieldButValueIsNull { - - @Name("notexistKey") - @NotNull - protected int nameConfiguration; - - } - - @Configuration - public class ConfigurationWithNotNullFieldAndValueIsNotNull { - - @Name("nameConfiguration") - @NotNull - protected String nameConfiguration; - - } - - @Configuration - public class ConfigurationWithNonPrimitiveFieldValueNull { - - @Name("notexistKey") - protected String nameConfiguration; - - } - - @Configuration - public class ConfigurationWithPrimitiveFieldValueNull { - - @Name("notexistKey") - protected int nameConfiguration = 1; - - } - - @Configuration(type = ConfigType.SYSTEM) - public class ConfigurationWithKeyFromSystem { - - @Name("os.name") - protected String nameConfiguration; - - } - - @Configuration(type = ConfigType.XML) - public class ConfigurationWithKeyFromXML { - - @Name("nameConfiguration") - protected String nameConfiguration; - - } - - @Configuration(type = ConfigType.XML, prefix = "br.gov.frameworkdemoiselle") - public class ConfigurationFromXMLWithPrefix { - - @Name("nameConfiguration") - protected String nameConfiguration; - - } - - @Configuration - public class ConfigurationWithConventionAllUpperCase { - - protected String conventionAllUpperCase; - - } - - @Configuration(type = ConfigType.XML) - public class ConfigurationXMLWithConventionAllUpperCase { - - protected String conventionAllUpperCase; - - } - - @Configuration - public class ConfigurationWithConventionAllLowerCase { - - protected String conventionAllLowerCase; - - } - - @Configuration(type = ConfigType.XML) - public class ConfigurationXMLWithConventionAllLowerCase { - - protected String conventionAllLowerCase; - - } - - @Configuration(prefix = "br.gov.frameworkdemoiselle.") - public class ConfigurationPropertiesSuccessWithPrefixNonAmbiguous { - - protected String success; - - } - - @Configuration - public class ConfigurationPropertiesErrorWithComplexObject { - - protected ConfigurationWithConventionAllLowerCase complexObject; - } - - @Before - public void setUp() throws Exception { - this.configurationLoader = new ConfigurationLoader(); - mockStatic(Beans.class); - this.coreBootstrap = PowerMock.createMock(CoreBootstrap.class); - - expect(Beans.getReference(CoreBootstrap.class)).andReturn(coreBootstrap); - expect(Beans.getReference(Locale.class)).andReturn(Locale.getDefault()); - } - - @After - public void tearDown() throws Exception { - } - - @Test - public void testConfigurationSuccessfulPropertiesWithClassField() { - ConfigurationSuccessfulPropertiesWithClassField config = new ConfigurationSuccessfulPropertiesWithClassField(); - expect(coreBootstrap.isAnnotatedType(config.getClass())).andReturn(true); - PowerMock.replayAll(CoreBootstrap.class, Beans.class); - configurationLoader.load(config); - assertEquals(ConfigurationLoaderTest.class, config.classe); - } - - @Test - public void testConfigurationSuccessfulPropertiesWithPropertiesField() { - ConfigurationSuccessfulPropertiesWithPropertiesField config = new ConfigurationSuccessfulPropertiesWithPropertiesField(); - expect(coreBootstrap.isAnnotatedType(config.getClass())).andReturn(true); - PowerMock.replayAll(CoreBootstrap.class, Beans.class); - configurationLoader.load(config); - assertEquals("teste1", config.properties.getProperty("1")); - assertEquals("teste2", config.properties.getProperty("2")); - assertTrue(config.properties.containsKey("1")); - assertTrue(config.properties.containsKey("2")); - } - - @Test - public void testConfigurationSuccessfulPropertiesPossibleConventions() { - ConfigurationSuccessfulProperties config = new ConfigurationSuccessfulProperties(); - expect(coreBootstrap.isAnnotatedType(config.getClass())).andReturn(true); - PowerMock.replayAll(CoreBootstrap.class, Beans.class); - configurationLoader.load(config); - assertEquals("ConfigurationTest", config.nameConfiguration); - - } - - @Test - public void testConfigurationSuccessfulPropertiesNoConventions() { - ConfigurationSuccessfulProperties2 config = new ConfigurationSuccessfulProperties2(); - expect(coreBootstrap.isAnnotatedType(config.getClass())).andReturn(true); - PowerMock.replayAll(CoreBootstrap.class, Beans.class); - configurationLoader.load(config); - assertEquals("ConfigurationTest2", config.name); - } - - // @Test - // public void ConfigurationPropertiesWithAbsentFile() { - // ConfigurationPropertiesWithAbsentFile config = new ConfigurationPropertiesWithAbsentFile(); - // - // expect(coreBootstrap.isAnnotatedType(config.getClass())).andReturn(true); - // PowerMock.replayAll(CoreBootstrap.class, Beans.class); - // - // try { - // configurationLoader.load(config); - // fail(); - // } catch (Exception e) { - // } - // } - - @Test - public void testConfigurationProcessorWithNameEmpty() { - ConfigurationWithEmptyName config = new ConfigurationWithEmptyName(); - - expect(coreBootstrap.isAnnotatedType(config.getClass())).andReturn(true); - PowerMock.replayAll(CoreBootstrap.class, Beans.class); - - try { - configurationLoader.load(config); - fail(); - } catch (Exception e) { - } - } - - @Test - public void testConfigurationWithoutNameAnnotation() { - ConfigurationWithoutNameAnnotation config = new ConfigurationWithoutNameAnnotation(); - - expect(coreBootstrap.isAnnotatedType(config.getClass())).andReturn(true); - PowerMock.replayAll(CoreBootstrap.class, Beans.class); - - configurationLoader.load(config); - assertEquals("ConfigurationTest", config.nameConfiguration); - } - - @Test - public void testConfigurationWithIgnoreAnnotation() { - ConfigurationWithIgnoreAnnotation config = new ConfigurationWithIgnoreAnnotation(); - - expect(coreBootstrap.isAnnotatedType(config.getClass())).andReturn(true); - PowerMock.replayAll(CoreBootstrap.class, Beans.class); - - configurationLoader.load(config); - assertNull(config.nameConfiguration); - } - - @Test - public void testConfigurationWithPrefix() { - ConfigurationWithPrefix config = new ConfigurationWithPrefix(); - - expect(coreBootstrap.isAnnotatedType(config.getClass())).andReturn(true); - PowerMock.replayAll(CoreBootstrap.class, Beans.class); - - configurationLoader.load(config); - assertEquals("ConfigurationTest", config.nameConfiguration); - } - - @Test - public void testConfigurationWithKeyNotFoundInProperties() { - ConfigurationWithKeyNotFoundInProperties config = new ConfigurationWithKeyNotFoundInProperties(); - - expect(coreBootstrap.isAnnotatedType(config.getClass())).andReturn(true); - PowerMock.replayAll(CoreBootstrap.class, Beans.class); - - configurationLoader.load(config); - assertNull(config.notExistKey); - } - - @Test - public void testConfigurationWithNotNullFieldButValueIsNull() { - ConfigurationWithNotNullFieldButValueIsNull config = new ConfigurationWithNotNullFieldButValueIsNull(); - - expect(coreBootstrap.isAnnotatedType(config.getClass())).andReturn(true); - PowerMock.replayAll(CoreBootstrap.class, Beans.class); - - try { - configurationLoader.load(config); - fail(); - } catch (Exception e) { - assertTrue(true); - } - } - - @Test - public void testConfigurationWithNotNullFieldAndValueIsNotNull() { - ConfigurationWithNotNullFieldAndValueIsNotNull config = new ConfigurationWithNotNullFieldAndValueIsNotNull(); - - expect(coreBootstrap.isAnnotatedType(config.getClass())).andReturn(true); - PowerMock.replayAll(CoreBootstrap.class, Beans.class); - - configurationLoader.load(config); - assertEquals("ConfigurationTest", config.nameConfiguration); - } - - @Test - public void testConfigurationWithNonPrimitiveFieldValueNull() { - ConfigurationWithNonPrimitiveFieldValueNull config = new ConfigurationWithNonPrimitiveFieldValueNull(); - - expect(coreBootstrap.isAnnotatedType(config.getClass())).andReturn(true); - PowerMock.replayAll(CoreBootstrap.class, Beans.class); - - configurationLoader.load(config); - assertNull(config.nameConfiguration); - } - - @Test - public void testConfigurationWithPrimitiveFieldValueNull() { - ConfigurationWithPrimitiveFieldValueNull config = new ConfigurationWithPrimitiveFieldValueNull(); - - expect(coreBootstrap.isAnnotatedType(config.getClass())).andReturn(true); - PowerMock.replayAll(CoreBootstrap.class, Beans.class); - - configurationLoader.load(config); - assertEquals(1, config.nameConfiguration); - } - - @Test - public void testConfigurationWithKeyFromSystem() { - ConfigurationWithKeyFromSystem config = new ConfigurationWithKeyFromSystem(); - - expect(coreBootstrap.isAnnotatedType(config.getClass())).andReturn(true); - PowerMock.replayAll(CoreBootstrap.class, Beans.class); - - configurationLoader.load(config); - assertEquals(System.getProperty("os.name"), config.nameConfiguration); - } - - @Test - public void testConfigurationWithKeyFromXML() { - ConfigurationWithKeyFromXML config = new ConfigurationWithKeyFromXML(); - - expect(coreBootstrap.isAnnotatedType(config.getClass())).andReturn(true); - PowerMock.replayAll(CoreBootstrap.class, Beans.class); - - configurationLoader.load(config); - assertEquals("ConfigurationTest", config.nameConfiguration); - } - - @Test - public void testConfigurationWithPrefixNotAmbiguous() { - ConfigurationPropertiesSuccessWithPrefixNonAmbiguous config = new ConfigurationPropertiesSuccessWithPrefixNonAmbiguous(); - - expect(coreBootstrap.isAnnotatedType(config.getClass())).andReturn(true); - PowerMock.replayAll(CoreBootstrap.class, Beans.class); - - configurationLoader.load(config); - assertEquals("Success", config.success); - } - - // @Test - // public void testConfigurationWithConventionAllLowerCase() { - // ConfigurationWithConventionAllLowerCase config = new ConfigurationWithConventionAllLowerCase(); - // - // expect(coreBootstrap.isAnnotatedType(config.getClass())).andReturn(true); - // PowerMock.replayAll(CoreBootstrap.class, Beans.class); - // - // configurationLoader.load(config); - // assertEquals("All LowerCase", config.conventionAllLowerCase); - // } - - // @Test - // public void testConfigurationWithConventionAllUpperCase() { - // ConfigurationWithConventionAllUpperCase config = new ConfigurationWithConventionAllUpperCase(); - // - // expect(coreBootstrap.isAnnotatedType(config.getClass())).andReturn(true); - // PowerMock.replayAll(CoreBootstrap.class, Beans.class); - // - // configurationLoader.load(config); - // assertEquals("ALL UPPERCASE", config.conventionAllUpperCase); - // } - - @Test - public void testConfigurationPropertiesErrorWithComplexObject() { - ConfigurationPropertiesErrorWithComplexObject config = new ConfigurationPropertiesErrorWithComplexObject(); - - expect(coreBootstrap.isAnnotatedType(config.getClass())).andReturn(true); - PowerMock.replayAll(CoreBootstrap.class, Beans.class); - - try { - configurationLoader.load(config); - fail(); - } catch (Throwable throwable) { - } - } - - // @Test - // public void testConfigurationFromXMLWithPrefix() { - // ConfigurationFromXMLWithPrefix config = new ConfigurationFromXMLWithPrefix(); - // - // expect(coreBootstrap.isAnnotatedType(config.getClass())).andReturn(true); - // PowerMock.replayAll(CoreBootstrap.class, Beans.class); - // - // configurationLoader.load(config); - // assertEquals("ConfigurationTest", config.nameConfiguration); - // } - - // @Test - // public void testConfigurationXMLWithConventionAllUpperCase() { - // ConfigurationXMLWithConventionAllUpperCase config = new ConfigurationXMLWithConventionAllUpperCase(); - // - // expect(coreBootstrap.isAnnotatedType(config.getClass())).andReturn(true); - // PowerMock.replayAll(CoreBootstrap.class, Beans.class); - // - // configurationLoader.load(config); - // assertEquals("ALL UPPERCASE", config.conventionAllUpperCase); - // } - - // @Test - // public void testConfigurationXMLWithConventionAllLowerCase() { - // ConfigurationXMLWithConventionAllLowerCase config = new ConfigurationXMLWithConventionAllLowerCase(); - // - // expect(coreBootstrap.isAnnotatedType(config.getClass())).andReturn(true); - // PowerMock.replayAll(CoreBootstrap.class, Beans.class); - // - // configurationLoader.load(config); - // assertEquals("All LowerCase", config.conventionAllLowerCase); - // } -} +///* +// * Demoiselle Framework +// * Copyright (C) 2010 SERPRO +// * ---------------------------------------------------------------------------- +// * This file is part of Demoiselle Framework. +// * +// * Demoiselle Framework is free software; you can redistribute it and/or +// * modify it under the terms of the GNU Lesser General Public License version 3 +// * as published by the Free Software Foundation. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have received a copy of the GNU Lesser General Public License version 3 +// * along with this program; if not, see +// * or write to the Free Software Foundation, Inc., 51 Franklin Street, +// * Fifth Floor, Boston, MA 02110-1301, USA. +// * ---------------------------------------------------------------------------- +// * Este arquivo é parte do Framework Demoiselle. +// * +// * O Framework Demoiselle é um software livre; você pode redistribuí-lo e/ou +// * modificá-lo dentro dos termos da GNU LGPL versão 3 como publicada pela Fundação +// * do Software Livre (FSF). +// * +// * Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA +// * GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou +// * APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU/LGPL em português +// * para maiores detalhes. +// * +// * Você deve ter recebido uma cópia da GNU LGPL versão 3, sob o título +// * "LICENCA.txt", junto com esse programa. Se não, acesse +// * ou escreva para a Fundação do Software Livre (FSF) Inc., +// * 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA. +// */ +//package br.gov.frameworkdemoiselle.internal.configuration; +// +//import static org.easymock.EasyMock.expect; +//import static org.junit.Assert.assertEquals; +//import static org.junit.Assert.assertNull; +//import static org.junit.Assert.assertTrue; +//import static org.junit.Assert.fail; +//import static org.powermock.api.easymock.PowerMock.mockStatic; +// +//import java.util.Locale; +//import java.util.Properties; +// +//import javax.validation.constraints.NotNull; +// +//import org.junit.After; +//import org.junit.Before; +//import org.junit.Test; +//import org.junit.runner.RunWith; +//import org.powermock.api.easymock.PowerMock; +//import org.powermock.core.classloader.annotations.PrepareForTest; +//import org.powermock.modules.junit4.PowerMockRunner; +// +//import br.gov.frameworkdemoiselle.annotation.Ignore; +//import br.gov.frameworkdemoiselle.annotation.Name; +//import br.gov.frameworkdemoiselle.configuration.ConfigType; +//import br.gov.frameworkdemoiselle.configuration.Configuration; +//import br.gov.frameworkdemoiselle.internal.bootstrap.CoreBootstrap; +//import br.gov.frameworkdemoiselle.util.Beans; +// +//@RunWith(PowerMockRunner.class) +//@PrepareForTest(Beans.class) +//public class ConfigurationLoaderTest { +// +// private ConfigurationLoader configurationLoader; +// +// private CoreBootstrap coreBootstrap; +// +// @Configuration +// public class ConfigurationSuccessfulPropertiesWithClassField { +// +// protected Class classe; +// +// } +// +// @Configuration +// public class ConfigurationSuccessfulPropertiesWithPropertiesField { +// +// protected Properties properties; +// +// } +// +// @Configuration +// public class ConfigurationSuccessfulProperties { +// +// @Name("frameworkdemoiselle.configurationtest.nameConfiguration") +// protected String nameConfiguration; +// +// } +// +// @Configuration +// public class ConfigurationSuccessfulProperties2 { +// +// @Name("frameworkdemoiselle.configurationtest.name") +// protected String name; +// +// } +// +// @Configuration(resource = "absentFile") +// public class ConfigurationPropertiesWithAbsentFile { +// +// @Name("frameworkdemoiselle.configurationtest.nameConfiguration") +// protected String nameConfiguration; +// +// } +// +// @Configuration +// public class ConfigurationWithEmptyName { +// +// @Name("") +// protected String nameConfiguration; +// +// } +// +// @Configuration +// public class ConfigurationWithoutNameAnnotation { +// +// protected String nameConfiguration; +// +// } +// +// @Configuration +// public class ConfigurationWithIgnoreAnnotation { +// +// @Ignore +// protected String nameConfiguration; +// +// } +// +// @Configuration(prefix = "frameworkdemoiselle.configurationtest.") +// public class ConfigurationWithPrefix { +// +// @Name("nameConfiguration") +// protected String nameConfiguration; +// +// } +// +// @Configuration +// public class ConfigurationWithKeyNotFoundInProperties { +// +// protected Integer notExistKey; +// } +// +// @Configuration +// public class ConfigurationWithNotNullFieldButValueIsNull { +// +// @Name("notexistKey") +// @NotNull +// protected int nameConfiguration; +// +// } +// +// @Configuration +// public class ConfigurationWithNotNullFieldAndValueIsNotNull { +// +// @Name("nameConfiguration") +// @NotNull +// protected String nameConfiguration; +// +// } +// +// @Configuration +// public class ConfigurationWithNonPrimitiveFieldValueNull { +// +// @Name("notexistKey") +// protected String nameConfiguration; +// +// } +// +// @Configuration +// public class ConfigurationWithPrimitiveFieldValueNull { +// +// @Name("notexistKey") +// protected int nameConfiguration = 1; +// +// } +// +// @Configuration(type = ConfigType.SYSTEM) +// public class ConfigurationWithKeyFromSystem { +// +// @Name("os.name") +// protected String nameConfiguration; +// +// } +// +// @Configuration(type = ConfigType.XML) +// public class ConfigurationWithKeyFromXML { +// +// @Name("nameConfiguration") +// protected String nameConfiguration; +// +// } +// +// @Configuration(type = ConfigType.XML, prefix = "br.gov.frameworkdemoiselle") +// public class ConfigurationFromXMLWithPrefix { +// +// @Name("nameConfiguration") +// protected String nameConfiguration; +// +// } +// +// @Configuration +// public class ConfigurationWithConventionAllUpperCase { +// +// protected String conventionAllUpperCase; +// +// } +// +// @Configuration(type = ConfigType.XML) +// public class ConfigurationXMLWithConventionAllUpperCase { +// +// protected String conventionAllUpperCase; +// +// } +// +// @Configuration +// public class ConfigurationWithConventionAllLowerCase { +// +// protected String conventionAllLowerCase; +// +// } +// +// @Configuration(type = ConfigType.XML) +// public class ConfigurationXMLWithConventionAllLowerCase { +// +// protected String conventionAllLowerCase; +// +// } +// +// @Configuration(prefix = "br.gov.frameworkdemoiselle.") +// public class ConfigurationPropertiesSuccessWithPrefixNonAmbiguous { +// +// protected String success; +// +// } +// +// @Configuration +// public class ConfigurationPropertiesErrorWithComplexObject { +// +// protected ConfigurationWithConventionAllLowerCase complexObject; +// } +// +// @Before +// public void setUp() throws Exception { +// this.configurationLoader = new ConfigurationLoader(); +// mockStatic(Beans.class); +// this.coreBootstrap = PowerMock.createMock(CoreBootstrap.class); +// +// expect(Beans.getReference(CoreBootstrap.class)).andReturn(coreBootstrap); +// expect(Beans.getReference(Locale.class)).andReturn(Locale.getDefault()); +// } +// +// @After +// public void tearDown() throws Exception { +// } +// +// @Test +// public void testConfigurationSuccessfulPropertiesWithClassField() { +// ConfigurationSuccessfulPropertiesWithClassField config = new ConfigurationSuccessfulPropertiesWithClassField(); +// expect(coreBootstrap.isAnnotatedType(config.getClass())).andReturn(true); +// PowerMock.replayAll(CoreBootstrap.class, Beans.class); +// configurationLoader.load(config); +// assertEquals(ConfigurationLoaderTest.class, config.classe); +// } +// +// @Test +// public void testConfigurationSuccessfulPropertiesWithPropertiesField() { +// ConfigurationSuccessfulPropertiesWithPropertiesField config = new ConfigurationSuccessfulPropertiesWithPropertiesField(); +// expect(coreBootstrap.isAnnotatedType(config.getClass())).andReturn(true); +// PowerMock.replayAll(CoreBootstrap.class, Beans.class); +// configurationLoader.load(config); +// assertEquals("teste1", config.properties.getProperty("1")); +// assertEquals("teste2", config.properties.getProperty("2")); +// assertTrue(config.properties.containsKey("1")); +// assertTrue(config.properties.containsKey("2")); +// } +// +// @Test +// public void testConfigurationSuccessfulPropertiesPossibleConventions() { +// ConfigurationSuccessfulProperties config = new ConfigurationSuccessfulProperties(); +// expect(coreBootstrap.isAnnotatedType(config.getClass())).andReturn(true); +// PowerMock.replayAll(CoreBootstrap.class, Beans.class); +// configurationLoader.load(config); +// assertEquals("ConfigurationTest", config.nameConfiguration); +// +// } +// +// @Test +// public void testConfigurationSuccessfulPropertiesNoConventions() { +// ConfigurationSuccessfulProperties2 config = new ConfigurationSuccessfulProperties2(); +// expect(coreBootstrap.isAnnotatedType(config.getClass())).andReturn(true); +// PowerMock.replayAll(CoreBootstrap.class, Beans.class); +// configurationLoader.load(config); +// assertEquals("ConfigurationTest2", config.name); +// } +// +// // @Test +// // public void ConfigurationPropertiesWithAbsentFile() { +// // ConfigurationPropertiesWithAbsentFile config = new ConfigurationPropertiesWithAbsentFile(); +// // +// // expect(coreBootstrap.isAnnotatedType(config.getClass())).andReturn(true); +// // PowerMock.replayAll(CoreBootstrap.class, Beans.class); +// // +// // try { +// // configurationLoader.load(config); +// // fail(); +// // } catch (Exception e) { +// // } +// // } +// +// @Test +// public void testConfigurationProcessorWithNameEmpty() { +// ConfigurationWithEmptyName config = new ConfigurationWithEmptyName(); +// +// expect(coreBootstrap.isAnnotatedType(config.getClass())).andReturn(true); +// PowerMock.replayAll(CoreBootstrap.class, Beans.class); +// +// try { +// configurationLoader.load(config); +// fail(); +// } catch (Exception e) { +// } +// } +// +// @Test +// public void testConfigurationWithoutNameAnnotation() { +// ConfigurationWithoutNameAnnotation config = new ConfigurationWithoutNameAnnotation(); +// +// expect(coreBootstrap.isAnnotatedType(config.getClass())).andReturn(true); +// PowerMock.replayAll(CoreBootstrap.class, Beans.class); +// +// configurationLoader.load(config); +// assertEquals("ConfigurationTest", config.nameConfiguration); +// } +// +// @Test +// public void testConfigurationWithIgnoreAnnotation() { +// ConfigurationWithIgnoreAnnotation config = new ConfigurationWithIgnoreAnnotation(); +// +// expect(coreBootstrap.isAnnotatedType(config.getClass())).andReturn(true); +// PowerMock.replayAll(CoreBootstrap.class, Beans.class); +// +// configurationLoader.load(config); +// assertNull(config.nameConfiguration); +// } +// +// @Test +// public void testConfigurationWithPrefix() { +// ConfigurationWithPrefix config = new ConfigurationWithPrefix(); +// +// expect(coreBootstrap.isAnnotatedType(config.getClass())).andReturn(true); +// PowerMock.replayAll(CoreBootstrap.class, Beans.class); +// +// configurationLoader.load(config); +// assertEquals("ConfigurationTest", config.nameConfiguration); +// } +// +// @Test +// public void testConfigurationWithKeyNotFoundInProperties() { +// ConfigurationWithKeyNotFoundInProperties config = new ConfigurationWithKeyNotFoundInProperties(); +// +// expect(coreBootstrap.isAnnotatedType(config.getClass())).andReturn(true); +// PowerMock.replayAll(CoreBootstrap.class, Beans.class); +// +// configurationLoader.load(config); +// assertNull(config.notExistKey); +// } +// +// @Test +// public void testConfigurationWithNotNullFieldButValueIsNull() { +// ConfigurationWithNotNullFieldButValueIsNull config = new ConfigurationWithNotNullFieldButValueIsNull(); +// +// expect(coreBootstrap.isAnnotatedType(config.getClass())).andReturn(true); +// PowerMock.replayAll(CoreBootstrap.class, Beans.class); +// +// try { +// configurationLoader.load(config); +// fail(); +// } catch (Exception e) { +// assertTrue(true); +// } +// } +// +// @Test +// public void testConfigurationWithNotNullFieldAndValueIsNotNull() { +// ConfigurationWithNotNullFieldAndValueIsNotNull config = new ConfigurationWithNotNullFieldAndValueIsNotNull(); +// +// expect(coreBootstrap.isAnnotatedType(config.getClass())).andReturn(true); +// PowerMock.replayAll(CoreBootstrap.class, Beans.class); +// +// configurationLoader.load(config); +// assertEquals("ConfigurationTest", config.nameConfiguration); +// } +// +// @Test +// public void testConfigurationWithNonPrimitiveFieldValueNull() { +// ConfigurationWithNonPrimitiveFieldValueNull config = new ConfigurationWithNonPrimitiveFieldValueNull(); +// +// expect(coreBootstrap.isAnnotatedType(config.getClass())).andReturn(true); +// PowerMock.replayAll(CoreBootstrap.class, Beans.class); +// +// configurationLoader.load(config); +// assertNull(config.nameConfiguration); +// } +// +// @Test +// public void testConfigurationWithPrimitiveFieldValueNull() { +// ConfigurationWithPrimitiveFieldValueNull config = new ConfigurationWithPrimitiveFieldValueNull(); +// +// expect(coreBootstrap.isAnnotatedType(config.getClass())).andReturn(true); +// PowerMock.replayAll(CoreBootstrap.class, Beans.class); +// +// configurationLoader.load(config); +// assertEquals(1, config.nameConfiguration); +// } +// +// @Test +// public void testConfigurationWithKeyFromSystem() { +// ConfigurationWithKeyFromSystem config = new ConfigurationWithKeyFromSystem(); +// +// expect(coreBootstrap.isAnnotatedType(config.getClass())).andReturn(true); +// PowerMock.replayAll(CoreBootstrap.class, Beans.class); +// +// configurationLoader.load(config); +// assertEquals(System.getProperty("os.name"), config.nameConfiguration); +// } +// +// @Test +// public void testConfigurationWithKeyFromXML() { +// ConfigurationWithKeyFromXML config = new ConfigurationWithKeyFromXML(); +// +// expect(coreBootstrap.isAnnotatedType(config.getClass())).andReturn(true); +// PowerMock.replayAll(CoreBootstrap.class, Beans.class); +// +// configurationLoader.load(config); +// assertEquals("ConfigurationTest", config.nameConfiguration); +// } +// +// @Test +// public void testConfigurationWithPrefixNotAmbiguous() { +// ConfigurationPropertiesSuccessWithPrefixNonAmbiguous config = new ConfigurationPropertiesSuccessWithPrefixNonAmbiguous(); +// +// expect(coreBootstrap.isAnnotatedType(config.getClass())).andReturn(true); +// PowerMock.replayAll(CoreBootstrap.class, Beans.class); +// +// configurationLoader.load(config); +// assertEquals("Success", config.success); +// } +// +// // @Test +// // public void testConfigurationWithConventionAllLowerCase() { +// // ConfigurationWithConventionAllLowerCase config = new ConfigurationWithConventionAllLowerCase(); +// // +// // expect(coreBootstrap.isAnnotatedType(config.getClass())).andReturn(true); +// // PowerMock.replayAll(CoreBootstrap.class, Beans.class); +// // +// // configurationLoader.load(config); +// // assertEquals("All LowerCase", config.conventionAllLowerCase); +// // } +// +// // @Test +// // public void testConfigurationWithConventionAllUpperCase() { +// // ConfigurationWithConventionAllUpperCase config = new ConfigurationWithConventionAllUpperCase(); +// // +// // expect(coreBootstrap.isAnnotatedType(config.getClass())).andReturn(true); +// // PowerMock.replayAll(CoreBootstrap.class, Beans.class); +// // +// // configurationLoader.load(config); +// // assertEquals("ALL UPPERCASE", config.conventionAllUpperCase); +// // } +// +// @Test +// public void testConfigurationPropertiesErrorWithComplexObject() { +// ConfigurationPropertiesErrorWithComplexObject config = new ConfigurationPropertiesErrorWithComplexObject(); +// +// expect(coreBootstrap.isAnnotatedType(config.getClass())).andReturn(true); +// PowerMock.replayAll(CoreBootstrap.class, Beans.class); +// +// try { +// configurationLoader.load(config); +// fail(); +// } catch (Throwable throwable) { +// } +// } +// +// // @Test +// // public void testConfigurationFromXMLWithPrefix() { +// // ConfigurationFromXMLWithPrefix config = new ConfigurationFromXMLWithPrefix(); +// // +// // expect(coreBootstrap.isAnnotatedType(config.getClass())).andReturn(true); +// // PowerMock.replayAll(CoreBootstrap.class, Beans.class); +// // +// // configurationLoader.load(config); +// // assertEquals("ConfigurationTest", config.nameConfiguration); +// // } +// +// // @Test +// // public void testConfigurationXMLWithConventionAllUpperCase() { +// // ConfigurationXMLWithConventionAllUpperCase config = new ConfigurationXMLWithConventionAllUpperCase(); +// // +// // expect(coreBootstrap.isAnnotatedType(config.getClass())).andReturn(true); +// // PowerMock.replayAll(CoreBootstrap.class, Beans.class); +// // +// // configurationLoader.load(config); +// // assertEquals("ALL UPPERCASE", config.conventionAllUpperCase); +// // } +// +// // @Test +// // public void testConfigurationXMLWithConventionAllLowerCase() { +// // ConfigurationXMLWithConventionAllLowerCase config = new ConfigurationXMLWithConventionAllLowerCase(); +// // +// // expect(coreBootstrap.isAnnotatedType(config.getClass())).andReturn(true); +// // PowerMock.replayAll(CoreBootstrap.class, Beans.class); +// // +// // configurationLoader.load(config); +// // assertEquals("All LowerCase", config.conventionAllLowerCase); +// // } +//} diff --git a/impl/core/src/test/java/br/gov/frameworkdemoiselle/internal/interceptor/ExceptionHandlerInterceptorTest.java b/impl/core/src/test/java/br/gov/frameworkdemoiselle/internal/interceptor/ExceptionHandlerInterceptorTest.java index 1c10661..0e2826b 100644 --- a/impl/core/src/test/java/br/gov/frameworkdemoiselle/internal/interceptor/ExceptionHandlerInterceptorTest.java +++ b/impl/core/src/test/java/br/gov/frameworkdemoiselle/internal/interceptor/ExceptionHandlerInterceptorTest.java @@ -1,341 +1,341 @@ -/* - * Demoiselle Framework - * Copyright (C) 2010 SERPRO - * ---------------------------------------------------------------------------- - * This file is part of Demoiselle Framework. - * - * Demoiselle Framework is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public License version 3 - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License version 3 - * along with this program; if not, see - * or write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. - * ---------------------------------------------------------------------------- - * Este arquivo é parte do Framework Demoiselle. - * - * O Framework Demoiselle é um software livre; você pode redistribuí-lo e/ou - * modificá-lo dentro dos termos da GNU LGPL versão 3 como publicada pela Fundação - * do Software Livre (FSF). - * - * Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA - * GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou - * APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU/LGPL em português - * para maiores detalhes. - * - * Você deve ter recebido uma cópia da GNU LGPL versão 3, sob o título - * "LICENCA.txt", junto com esse programa. Se não, acesse - * ou escreva para a Fundação do Software Livre (FSF) Inc., - * 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA. - */ -package br.gov.frameworkdemoiselle.internal.interceptor; - -import static org.easymock.EasyMock.expect; -import static org.easymock.EasyMock.verify; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; -import static org.powermock.api.easymock.PowerMock.mockStatic; -import static org.powermock.api.easymock.PowerMock.replay; -import static org.powermock.api.easymock.PowerMock.replayAll; -import static org.powermock.api.easymock.PowerMock.verifyAll; - -import java.util.Locale; - -import javax.interceptor.InvocationContext; - -import org.easymock.EasyMock; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.powermock.api.easymock.PowerMock; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.slf4j.Logger; - -import br.gov.frameworkdemoiselle.DemoiselleException; -import br.gov.frameworkdemoiselle.exception.ExceptionHandler; -import br.gov.frameworkdemoiselle.internal.bootstrap.CoreBootstrap; -import br.gov.frameworkdemoiselle.util.Beans; - -@RunWith(PowerMockRunner.class) -@PrepareForTest(Beans.class) -public class ExceptionHandlerInterceptorTest { - - private ExceptionHandlerInterceptor interceptor; - - private InvocationContext context; - - private Logger logger; - - private CoreBootstrap coreBootstrap; - - class TestException extends DemoiselleException { - - private static final long serialVersionUID = 1L; - - public TestException(String message) { - super(message); - } - } - - class ClassWithMethodsAnnotatedWithExceptionHandler { - - int times = 0; - - @ExceptionHandler - public void methodWithExceptionHandlerAnotation(DemoiselleException cause) { - times++; - } - - @ExceptionHandler - public void methodWithExceptionHandlerAnotationAndGenericException(Exception cause) { - times++; - } - - } - - class ClassWithoutMethodsAnnotatedWithExceptionHandler { - - public void methodWithoutExceptionHandlerAnotation(DemoiselleException cause) { - } - } - - class ClassWithMethodsAnnotatedWithExceptionHandlerAndThrowException { - - int times = 0; - - @ExceptionHandler - public void methodWithExceptionHandlerAnotation(DemoiselleException cause) { - times++; - throw new RuntimeException(); - } - } - - class ClassWithMethodWithoutParameterAnnotatedWithExceptionHandler { - - @ExceptionHandler - public void methodWithExceptionHandlerAnotation() { - } - - } - - class ClassWithExceptionHandlerMethodThatRethrowException { - - int times = 0; - - @ExceptionHandler - public void methodThatRethrowException(TestException cause) { - times++; - throw cause; - } - - } - - @Before - public void setUp() throws Exception { - - this.interceptor = new ExceptionHandlerInterceptor(); - this.context = PowerMock.createMock(InvocationContext.class); - this.coreBootstrap = PowerMock.createMock(CoreBootstrap.class); - - mockStatic(Beans.class); - expect(Beans.getReference(Locale.class)).andReturn(Locale.getDefault()).anyTimes(); - expect(Beans.getReference(CoreBootstrap.class)).andReturn(this.coreBootstrap).anyTimes(); - - } - - @Test - public void manageSuccessfully() throws Throwable { - expect(this.context.proceed()).andReturn(null); - expect(this.context.getTarget()).andReturn(null); - replayAll(); - assertEquals(null, this.interceptor.manage(this.context)); - verify(); - } - - @Test - public void manageWithClassThatDoesNotContainHandleMethod() throws Exception { - ClassWithoutMethodsAnnotatedWithExceptionHandler classWithoutException = new ClassWithoutMethodsAnnotatedWithExceptionHandler(); - - expect(this.context.getTarget()).andReturn(classWithoutException); - expect(this.context.proceed()).andThrow(new DemoiselleException("")); - expect(this.coreBootstrap.isAnnotatedType(ClassWithoutMethodsAnnotatedWithExceptionHandler.class)).andReturn( - true); - - replayAll(this.context, this.coreBootstrap, Beans.class); - - try { - this.interceptor.manage(this.context); - fail(); - } catch (DemoiselleException e) { - assertTrue(true); - } - - verifyAll(); - } - - @Test - public void manageWithClassThatContainsHandleMethod() throws Exception { - ClassWithMethodsAnnotatedWithExceptionHandler classWithException = new ClassWithMethodsAnnotatedWithExceptionHandler(); - expect(this.context.getTarget()).andReturn(classWithException).anyTimes(); - expect(this.context.proceed()).andThrow(new DemoiselleException("")); - expect(this.coreBootstrap.isAnnotatedType(ClassWithMethodsAnnotatedWithExceptionHandler.class)).andReturn(true); - - replayAll(this.context, this.coreBootstrap, Beans.class); - - assertNull(this.interceptor.manage(this.context)); - assertEquals(1, classWithException.times); - verifyAll(); - } - - @Test - public void manageWithClassThatContainsParentExceptionHandleMethod() throws Exception { - ClassWithMethodsAnnotatedWithExceptionHandler classWithException = new ClassWithMethodsAnnotatedWithExceptionHandler(); - expect(this.context.getTarget()).andReturn(classWithException).anyTimes(); - expect(this.context.proceed()).andThrow(new DemoiselleException("")); - expect(this.coreBootstrap.isAnnotatedType(ClassWithMethodsAnnotatedWithExceptionHandler.class)).andReturn(true); - replayAll(this.context, this.coreBootstrap, Beans.class); - - assertNull(this.interceptor.manage(this.context)); - assertEquals(1, classWithException.times); - verifyAll(); - } - - @Test - public void manageWithClassThatContainsHandleMethodWithDiferentException() throws Exception { - ClassWithMethodsAnnotatedWithExceptionHandler classWithException = new ClassWithMethodsAnnotatedWithExceptionHandler(); - expect(this.context.getTarget()).andReturn(classWithException).anyTimes(); - expect(this.context.proceed()).andThrow(new TestException("")); - replay(this.context); - expect(this.coreBootstrap.isAnnotatedType(ClassWithMethodsAnnotatedWithExceptionHandler.class)).andReturn(true); - replayAll(this.context, this.coreBootstrap, Beans.class); - - try { - this.interceptor.manage(this.context); - fail(); - } catch (TestException e) { - assertEquals(0, classWithException.times); - } - - verify(); - } - - @Test - public void manageWithClassThatContainsHandleMethodThatThrowsAnotherException() throws Exception { - ClassWithMethodsAnnotatedWithExceptionHandlerAndThrowException classWithException = new ClassWithMethodsAnnotatedWithExceptionHandlerAndThrowException(); - expect(this.context.getTarget()).andReturn(classWithException).anyTimes(); - expect(this.context.proceed()).andThrow(new DemoiselleException("")); - expect(this.coreBootstrap.isAnnotatedType(ClassWithMethodsAnnotatedWithExceptionHandlerAndThrowException.class)) - .andReturn(true); - replayAll(this.context, this.coreBootstrap, Beans.class); - - try { - this.interceptor.manage(this.context); - fail(); - } catch (RuntimeException e) { - assertEquals(1, classWithException.times); - } - - verifyAll(); - } - - @Test - public void manageWithClassThatContainsHandleMethodsAndIsInvokedTwice() throws Exception { - ClassWithMethodsAnnotatedWithExceptionHandler classWithException = new ClassWithMethodsAnnotatedWithExceptionHandler(); - expect(this.context.getTarget()).andReturn(classWithException).anyTimes(); - expect(this.context.proceed()).andThrow(new DemoiselleException("")); - expect(this.coreBootstrap.isAnnotatedType(ClassWithMethodsAnnotatedWithExceptionHandler.class)).andReturn(true) - .anyTimes(); - replayAll(this.context, this.coreBootstrap, Beans.class); - - assertNull(this.interceptor.manage(this.context)); - assertEquals(1, classWithException.times); - - this.context = PowerMock.createMock(InvocationContext.class); - expect(this.context.getTarget()).andReturn(classWithException).anyTimes(); - expect(this.context.proceed()).andThrow(new Exception("")); - replayAll(this.context); - - assertNull(this.interceptor.manage(this.context)); - assertEquals(2, classWithException.times); - verifyAll(); - - } - - @Test - public void manageWithClassThatContainsHandleMethodWithoutParameter() throws Exception { - ClassWithMethodWithoutParameterAnnotatedWithExceptionHandler classWithException = new ClassWithMethodWithoutParameterAnnotatedWithExceptionHandler(); - expect(this.context.getTarget()).andReturn(classWithException).anyTimes(); - expect(this.context.proceed()).andThrow(new DemoiselleException("")); - expect(this.coreBootstrap.isAnnotatedType(ClassWithMethodWithoutParameterAnnotatedWithExceptionHandler.class)) - .andReturn(true); - replayAll(this.context, this.coreBootstrap, Beans.class); - - try { - this.interceptor.manage(this.context); - fail(); - } catch (DemoiselleException e) { - assertTrue(true); - } - - verifyAll(); - } - - @Test - public void manageHandlerMethodThatRethrowExpectedException() throws Exception { - ClassWithExceptionHandlerMethodThatRethrowException testClass = new ClassWithExceptionHandlerMethodThatRethrowException(); - expect(this.context.getTarget()).andReturn(testClass).anyTimes(); - expect(this.context.proceed()).andThrow(new TestException("")); - expect(this.coreBootstrap.isAnnotatedType(ClassWithExceptionHandlerMethodThatRethrowException.class)) - .andReturn(true); - replayAll(this.context, this.coreBootstrap, Beans.class); - - try { - this.interceptor.manage(this.context); - fail(); - } catch (TestException e) { - assertEquals(1, testClass.times); - } - - verifyAll(); - } - - /** - * Tests an exception handler when the class that contains the method is a proxy. This is the case when using - * injection. - * - * @throws Exception - */ - @Test - public void manageHandlerMethodInsideProxyClass() throws Exception { - // creates a proxy class - ClassWithExceptionHandlerMethodThatRethrowException testClass = PowerMock - .createNicePartialMockForAllMethodsExcept(ClassWithExceptionHandlerMethodThatRethrowException.class, - "methodThatRethrowException"); - expect(this.context.getTarget()).andReturn(testClass).anyTimes(); - expect(this.context.proceed()).andThrow(new TestException("")); - expect(this.coreBootstrap.isAnnotatedType(testClass.getClass())).andReturn(false); - - this.logger = PowerMock.createMock(Logger.class); - this.logger.info(EasyMock.anyObject(String.class)); - this.logger.debug(EasyMock.anyObject(String.class)); - replayAll(testClass, this.context, this.coreBootstrap, logger, Beans.class); - - this.interceptor = new ExceptionHandlerInterceptor(); - - try { - this.interceptor.manage(this.context); - fail(); - } catch (TestException e) { - assertEquals(1, testClass.times); - } - } -} +///* +// * Demoiselle Framework +// * Copyright (C) 2010 SERPRO +// * ---------------------------------------------------------------------------- +// * This file is part of Demoiselle Framework. +// * +// * Demoiselle Framework is free software; you can redistribute it and/or +// * modify it under the terms of the GNU Lesser General Public License version 3 +// * as published by the Free Software Foundation. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have received a copy of the GNU Lesser General Public License version 3 +// * along with this program; if not, see +// * or write to the Free Software Foundation, Inc., 51 Franklin Street, +// * Fifth Floor, Boston, MA 02110-1301, USA. +// * ---------------------------------------------------------------------------- +// * Este arquivo é parte do Framework Demoiselle. +// * +// * O Framework Demoiselle é um software livre; você pode redistribuí-lo e/ou +// * modificá-lo dentro dos termos da GNU LGPL versão 3 como publicada pela Fundação +// * do Software Livre (FSF). +// * +// * Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA +// * GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou +// * APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU/LGPL em português +// * para maiores detalhes. +// * +// * Você deve ter recebido uma cópia da GNU LGPL versão 3, sob o título +// * "LICENCA.txt", junto com esse programa. Se não, acesse +// * ou escreva para a Fundação do Software Livre (FSF) Inc., +// * 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA. +// */ +//package br.gov.frameworkdemoiselle.internal.interceptor; +// +//import static org.easymock.EasyMock.expect; +//import static org.easymock.EasyMock.verify; +//import static org.junit.Assert.assertEquals; +//import static org.junit.Assert.assertNull; +//import static org.junit.Assert.assertTrue; +//import static org.junit.Assert.fail; +//import static org.powermock.api.easymock.PowerMock.mockStatic; +//import static org.powermock.api.easymock.PowerMock.replay; +//import static org.powermock.api.easymock.PowerMock.replayAll; +//import static org.powermock.api.easymock.PowerMock.verifyAll; +// +//import java.util.Locale; +// +//import javax.interceptor.InvocationContext; +// +//import org.easymock.EasyMock; +//import org.junit.Before; +//import org.junit.Test; +//import org.junit.runner.RunWith; +//import org.powermock.api.easymock.PowerMock; +//import org.powermock.core.classloader.annotations.PrepareForTest; +//import org.powermock.modules.junit4.PowerMockRunner; +//import org.slf4j.Logger; +// +//import br.gov.frameworkdemoiselle.DemoiselleException; +//import br.gov.frameworkdemoiselle.exception.ExceptionHandler; +//import br.gov.frameworkdemoiselle.internal.bootstrap.CoreBootstrap; +//import br.gov.frameworkdemoiselle.util.Beans; +// +//@RunWith(PowerMockRunner.class) +//@PrepareForTest(Beans.class) +//public class ExceptionHandlerInterceptorTest { +// +// private ExceptionHandlerInterceptor interceptor; +// +// private InvocationContext context; +// +// private Logger logger; +// +// private CoreBootstrap coreBootstrap; +// +// class TestException extends DemoiselleException { +// +// private static final long serialVersionUID = 1L; +// +// public TestException(String message) { +// super(message); +// } +// } +// +// class ClassWithMethodsAnnotatedWithExceptionHandler { +// +// int times = 0; +// +// @ExceptionHandler +// public void methodWithExceptionHandlerAnotation(DemoiselleException cause) { +// times++; +// } +// +// @ExceptionHandler +// public void methodWithExceptionHandlerAnotationAndGenericException(Exception cause) { +// times++; +// } +// +// } +// +// class ClassWithoutMethodsAnnotatedWithExceptionHandler { +// +// public void methodWithoutExceptionHandlerAnotation(DemoiselleException cause) { +// } +// } +// +// class ClassWithMethodsAnnotatedWithExceptionHandlerAndThrowException { +// +// int times = 0; +// +// @ExceptionHandler +// public void methodWithExceptionHandlerAnotation(DemoiselleException cause) { +// times++; +// throw new RuntimeException(); +// } +// } +// +// class ClassWithMethodWithoutParameterAnnotatedWithExceptionHandler { +// +// @ExceptionHandler +// public void methodWithExceptionHandlerAnotation() { +// } +// +// } +// +// class ClassWithExceptionHandlerMethodThatRethrowException { +// +// int times = 0; +// +// @ExceptionHandler +// public void methodThatRethrowException(TestException cause) { +// times++; +// throw cause; +// } +// +// } +// +// @Before +// public void setUp() throws Exception { +// +// this.interceptor = new ExceptionHandlerInterceptor(); +// this.context = PowerMock.createMock(InvocationContext.class); +// this.coreBootstrap = PowerMock.createMock(CoreBootstrap.class); +// +// mockStatic(Beans.class); +// expect(Beans.getReference(Locale.class)).andReturn(Locale.getDefault()).anyTimes(); +// expect(Beans.getReference(CoreBootstrap.class)).andReturn(this.coreBootstrap).anyTimes(); +// +// } +// +// @Test +// public void manageSuccessfully() throws Throwable { +// expect(this.context.proceed()).andReturn(null); +// expect(this.context.getTarget()).andReturn(null); +// replayAll(); +// assertEquals(null, this.interceptor.manage(this.context)); +// verify(); +// } +// +// @Test +// public void manageWithClassThatDoesNotContainHandleMethod() throws Exception { +// ClassWithoutMethodsAnnotatedWithExceptionHandler classWithoutException = new ClassWithoutMethodsAnnotatedWithExceptionHandler(); +// +// expect(this.context.getTarget()).andReturn(classWithoutException); +// expect(this.context.proceed()).andThrow(new DemoiselleException("")); +// expect(this.coreBootstrap.isAnnotatedType(ClassWithoutMethodsAnnotatedWithExceptionHandler.class)).andReturn( +// true); +// +// replayAll(this.context, this.coreBootstrap, Beans.class); +// +// try { +// this.interceptor.manage(this.context); +// fail(); +// } catch (DemoiselleException e) { +// assertTrue(true); +// } +// +// verifyAll(); +// } +// +// @Test +// public void manageWithClassThatContainsHandleMethod() throws Exception { +// ClassWithMethodsAnnotatedWithExceptionHandler classWithException = new ClassWithMethodsAnnotatedWithExceptionHandler(); +// expect(this.context.getTarget()).andReturn(classWithException).anyTimes(); +// expect(this.context.proceed()).andThrow(new DemoiselleException("")); +// expect(this.coreBootstrap.isAnnotatedType(ClassWithMethodsAnnotatedWithExceptionHandler.class)).andReturn(true); +// +// replayAll(this.context, this.coreBootstrap, Beans.class); +// +// assertNull(this.interceptor.manage(this.context)); +// assertEquals(1, classWithException.times); +// verifyAll(); +// } +// +// @Test +// public void manageWithClassThatContainsParentExceptionHandleMethod() throws Exception { +// ClassWithMethodsAnnotatedWithExceptionHandler classWithException = new ClassWithMethodsAnnotatedWithExceptionHandler(); +// expect(this.context.getTarget()).andReturn(classWithException).anyTimes(); +// expect(this.context.proceed()).andThrow(new DemoiselleException("")); +// expect(this.coreBootstrap.isAnnotatedType(ClassWithMethodsAnnotatedWithExceptionHandler.class)).andReturn(true); +// replayAll(this.context, this.coreBootstrap, Beans.class); +// +// assertNull(this.interceptor.manage(this.context)); +// assertEquals(1, classWithException.times); +// verifyAll(); +// } +// +// @Test +// public void manageWithClassThatContainsHandleMethodWithDiferentException() throws Exception { +// ClassWithMethodsAnnotatedWithExceptionHandler classWithException = new ClassWithMethodsAnnotatedWithExceptionHandler(); +// expect(this.context.getTarget()).andReturn(classWithException).anyTimes(); +// expect(this.context.proceed()).andThrow(new TestException("")); +// replay(this.context); +// expect(this.coreBootstrap.isAnnotatedType(ClassWithMethodsAnnotatedWithExceptionHandler.class)).andReturn(true); +// replayAll(this.context, this.coreBootstrap, Beans.class); +// +// try { +// this.interceptor.manage(this.context); +// fail(); +// } catch (TestException e) { +// assertEquals(0, classWithException.times); +// } +// +// verify(); +// } +// +// @Test +// public void manageWithClassThatContainsHandleMethodThatThrowsAnotherException() throws Exception { +// ClassWithMethodsAnnotatedWithExceptionHandlerAndThrowException classWithException = new ClassWithMethodsAnnotatedWithExceptionHandlerAndThrowException(); +// expect(this.context.getTarget()).andReturn(classWithException).anyTimes(); +// expect(this.context.proceed()).andThrow(new DemoiselleException("")); +// expect(this.coreBootstrap.isAnnotatedType(ClassWithMethodsAnnotatedWithExceptionHandlerAndThrowException.class)) +// .andReturn(true); +// replayAll(this.context, this.coreBootstrap, Beans.class); +// +// try { +// this.interceptor.manage(this.context); +// fail(); +// } catch (RuntimeException e) { +// assertEquals(1, classWithException.times); +// } +// +// verifyAll(); +// } +// +// @Test +// public void manageWithClassThatContainsHandleMethodsAndIsInvokedTwice() throws Exception { +// ClassWithMethodsAnnotatedWithExceptionHandler classWithException = new ClassWithMethodsAnnotatedWithExceptionHandler(); +// expect(this.context.getTarget()).andReturn(classWithException).anyTimes(); +// expect(this.context.proceed()).andThrow(new DemoiselleException("")); +// expect(this.coreBootstrap.isAnnotatedType(ClassWithMethodsAnnotatedWithExceptionHandler.class)).andReturn(true) +// .anyTimes(); +// replayAll(this.context, this.coreBootstrap, Beans.class); +// +// assertNull(this.interceptor.manage(this.context)); +// assertEquals(1, classWithException.times); +// +// this.context = PowerMock.createMock(InvocationContext.class); +// expect(this.context.getTarget()).andReturn(classWithException).anyTimes(); +// expect(this.context.proceed()).andThrow(new Exception("")); +// replayAll(this.context); +// +// assertNull(this.interceptor.manage(this.context)); +// assertEquals(2, classWithException.times); +// verifyAll(); +// +// } +// +// @Test +// public void manageWithClassThatContainsHandleMethodWithoutParameter() throws Exception { +// ClassWithMethodWithoutParameterAnnotatedWithExceptionHandler classWithException = new ClassWithMethodWithoutParameterAnnotatedWithExceptionHandler(); +// expect(this.context.getTarget()).andReturn(classWithException).anyTimes(); +// expect(this.context.proceed()).andThrow(new DemoiselleException("")); +// expect(this.coreBootstrap.isAnnotatedType(ClassWithMethodWithoutParameterAnnotatedWithExceptionHandler.class)) +// .andReturn(true); +// replayAll(this.context, this.coreBootstrap, Beans.class); +// +// try { +// this.interceptor.manage(this.context); +// fail(); +// } catch (DemoiselleException e) { +// assertTrue(true); +// } +// +// verifyAll(); +// } +// +// @Test +// public void manageHandlerMethodThatRethrowExpectedException() throws Exception { +// ClassWithExceptionHandlerMethodThatRethrowException testClass = new ClassWithExceptionHandlerMethodThatRethrowException(); +// expect(this.context.getTarget()).andReturn(testClass).anyTimes(); +// expect(this.context.proceed()).andThrow(new TestException("")); +// expect(this.coreBootstrap.isAnnotatedType(ClassWithExceptionHandlerMethodThatRethrowException.class)) +// .andReturn(true); +// replayAll(this.context, this.coreBootstrap, Beans.class); +// +// try { +// this.interceptor.manage(this.context); +// fail(); +// } catch (TestException e) { +// assertEquals(1, testClass.times); +// } +// +// verifyAll(); +// } +// +// /** +// * Tests an exception handler when the class that contains the method is a proxy. This is the case when using +// * injection. +// * +// * @throws Exception +// */ +// @Test +// public void manageHandlerMethodInsideProxyClass() throws Exception { +// // creates a proxy class +// ClassWithExceptionHandlerMethodThatRethrowException testClass = PowerMock +// .createNicePartialMockForAllMethodsExcept(ClassWithExceptionHandlerMethodThatRethrowException.class, +// "methodThatRethrowException"); +// expect(this.context.getTarget()).andReturn(testClass).anyTimes(); +// expect(this.context.proceed()).andThrow(new TestException("")); +// expect(this.coreBootstrap.isAnnotatedType(testClass.getClass())).andReturn(false); +// +// this.logger = PowerMock.createMock(Logger.class); +// this.logger.info(EasyMock.anyObject(String.class)); +// this.logger.debug(EasyMock.anyObject(String.class)); +// replayAll(testClass, this.context, this.coreBootstrap, logger, Beans.class); +// +// this.interceptor = new ExceptionHandlerInterceptor(); +// +// try { +// this.interceptor.manage(this.context); +// fail(); +// } catch (TestException e) { +// assertEquals(1, testClass.times); +// } +// } +//} diff --git a/impl/core/src/test/java/br/gov/frameworkdemoiselle/internal/interceptor/RequiredRoleInterceptorTest.java b/impl/core/src/test/java/br/gov/frameworkdemoiselle/internal/interceptor/RequiredRoleInterceptorTest.java index ccf2611..2d608fc 100644 --- a/impl/core/src/test/java/br/gov/frameworkdemoiselle/internal/interceptor/RequiredRoleInterceptorTest.java +++ b/impl/core/src/test/java/br/gov/frameworkdemoiselle/internal/interceptor/RequiredRoleInterceptorTest.java @@ -1,296 +1,296 @@ -package br.gov.frameworkdemoiselle.internal.interceptor; - -import static org.easymock.EasyMock.expect; -import static org.junit.Assert.fail; -import static org.powermock.api.easymock.PowerMock.mockStatic; -import static org.powermock.api.easymock.PowerMock.replay; - -import java.util.Locale; - -import javax.enterprise.inject.Instance; -import javax.interceptor.InvocationContext; - -import org.easymock.EasyMock; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; - -import br.gov.frameworkdemoiselle.security.AuthorizationException; -import br.gov.frameworkdemoiselle.security.NotLoggedInException; -import br.gov.frameworkdemoiselle.security.RequiredRole; -import br.gov.frameworkdemoiselle.security.SecurityContext; -import br.gov.frameworkdemoiselle.security.User; -import br.gov.frameworkdemoiselle.util.Beans; - -@RunWith(PowerMockRunner.class) -@PrepareForTest(Beans.class) -public class RequiredRoleInterceptorTest { - - private RequiredRoleInterceptor interceptor; - - private InvocationContext ic; - - private SecurityContext securityContext; - - class ClassNotAnnoted { - - @RequiredRole("simpleRoleName") - public void requiredRoleWithSingleRole() { - } - - @RequiredRole({ "firstRole", "secondRole", "thirdRole", "fourthRole", "fifthRole" }) - public void requiredRoleWithArrayOfRoles() { - } - - @RequiredRole({ "firstRole, secondRole" }) - public void requiredRoleWithArrayOfSingleRoleComma() { - } - - @RequiredRole("firstRole, secondRole") - public void requiredRoleWithSingleRoleComma() { - } - - @RequiredRole("") - public void requiredRoleWithEmptyValue() { - } - - @RequiredRole({}) - public void requiredRoleWithEmptyArray() { - } - - @RequiredRole({ "" }) - public void requiredRoleWithArrayOfEmptyString() { - } - - public void methodNotAnnoted() { - } - } - - @RequiredRole("classRole") - class ClassAnnotedWithRequiredRole { - - public void withoutRole() { - } - - @RequiredRole("simpleRoleName") - public void requiredRoleWithSingleRole() { - } - } - - @Before - public void setUp() throws Exception { - - @SuppressWarnings("unchecked") - Instance securityContextInstance = EasyMock.createMock(Instance.class); - User user = EasyMock.createMock(User.class); - - this.securityContext = EasyMock.createMock(SecurityContext.class); - this.ic = EasyMock.createMock(InvocationContext.class); - - mockStatic(Beans.class); - expect(Beans.getReference(Locale.class)).andReturn(Locale.getDefault()); - expect(Beans.getReference(SecurityContext.class)).andReturn(this.securityContext); - - expect(user.getId()).andReturn("UserName").anyTimes(); - expect(this.securityContext.getUser()).andReturn(user).anyTimes(); - expect(securityContextInstance.get()).andReturn(securityContext).anyTimes(); - expect(this.ic.proceed()).andReturn(null); - replay(securityContextInstance, user, Beans.class); - - this.interceptor = new RequiredRoleInterceptor(); - } - - private void prepareMock(Object target, String methodName, String[] expectedRoles, boolean hasHole, - boolean isLoggedUser) throws Exception { - - expect(this.securityContext.isLoggedIn()).andReturn(isLoggedUser).anyTimes(); - - for (String role : expectedRoles) { - this.securityContext.hasRole(role); - if (isLoggedUser) { - EasyMock.expectLastCall().andReturn(hasHole); - } else { - EasyMock.expectLastCall().andThrow(new NotLoggedInException("")); - } - } - - expect(this.ic.getTarget()).andReturn(target).anyTimes(); - expect(this.ic.getMethod()).andReturn(target.getClass().getMethod(methodName)).anyTimes(); - replay(this.ic, this.securityContext); - } - - // @Test - // public void testManageClassNotAnnotedAtRequiredRoleWithSingleRole() throws Exception { - // Object target = new ClassNotAnnoted(); - // String methodName = "requiredRoleWithSingleRole"; - // String[] expectedRoles = { "simpleRoleName" }; - // prepareMock(target, methodName, expectedRoles, true, true); - // - // interceptor.manage(this.ic); - // } - - // @Test - // public void testManageClassNotAnnotedAtRequiredRoleWithArrayOfRoles() throws Exception { - // Object target = new ClassNotAnnoted(); - // String methodName = "requiredRoleWithArrayOfRoles"; - // String[] expectedRoles = { "firstRole", "secondRole", "thirdRole", "fourthRole", "fifthRole" }; - // prepareMock(target, methodName, expectedRoles, true, true); - // - // interceptor.manage(this.ic); - // } - - // @Test - // public void testManageClassNotAnnotedAtRequiredRoleWithArrayOfSingleRoleComma() throws Exception { - // Object target = new ClassNotAnnoted(); - // String methodName = "requiredRoleWithArrayOfSingleRoleComma"; - // String[] expectedRoles = { "firstRole, secondRole" }; - // prepareMock(target, methodName, expectedRoles, true, true); - // - // interceptor.manage(this.ic); - // } - - // @Test - // public void testManageClassNotAnnotedAtRequiredRoleWithSingleRoleComma() throws Exception { - // Object target = new ClassNotAnnoted(); - // String methodName = "requiredRoleWithSingleRoleComma"; - // String[] expectedRoles = { "firstRole, secondRole" }; - // prepareMock(target, methodName, expectedRoles, true, true); - // - // interceptor.manage(this.ic); - // } - - // @Test - // public void testManageClassNotAnnotedAtRequiredRoleWithEmptyValue() throws Exception { - // try { - // Object target = new ClassNotAnnoted(); - // String methodName = "requiredRoleWithEmptyValue"; - // String[] expectedRoles = { "" }; - // prepareMock(target, methodName, expectedRoles, false, true); - // - // interceptor.manage(this.ic); - // fail(); - // } catch (AuthorizationException cause) { - // } - // } - - // @Test - // public void testManageClassNotAnnotedAtRequiredRoleWithEmptyArray() throws Exception { - // try { - // Object target = new ClassNotAnnoted(); - // String methodName = "requiredRoleWithEmptyArray"; - // String[] expectedRoles = { "" }; - // prepareMock(target, methodName, expectedRoles, false, true); - // - // interceptor.manage(this.ic); - // fail(); - // } catch (AuthorizationException cause) { - // } - // } - - // @Test - // public void testManageClassNotAnnotedAtRequiredRoleWithArrayOfEmptyString() throws Exception { - // try { - // Object target = new ClassNotAnnoted(); - // String methodName = "requiredRoleWithArrayOfEmptyString"; - // String[] expectedRoles = { "" }; - // prepareMock(target, methodName, expectedRoles, false, true); - // - // interceptor.manage(this.ic); - // fail(); - // } catch (AuthorizationException cause) { - // } - // } - - // @Test - // public void testManageClassNotAnnotedAtMethodNotAnnoted() throws Exception { - // try { - // Object target = new ClassNotAnnoted(); - // String methodName = "methodNotAnnoted"; - // String[] expectedRoles = { "" }; - // prepareMock(target, methodName, expectedRoles, false, true); - // - // interceptor.manage(this.ic); - // fail(); - // } catch (AuthorizationException cause) { - // } - // } - - // @Test - // public void testManageClassAnnotedWithRequiredRoleAtWithoutRole() throws Exception { - // Object target = new ClassAnnotedWithRequiredRole(); - // String methodName = "withoutRole"; - // String[] expectedRoles = { "classRole" }; - // prepareMock(target, methodName, expectedRoles, true, true); - // - // interceptor.manage(this.ic); - // } - - // @Test - // public void testManageClassAnnotedWithRequiredRoleAtRequiredRoleWithSingleRole() throws Exception { - // Object target = new ClassAnnotedWithRequiredRole(); - // String methodName = "requiredRoleWithSingleRole"; - // String[] expectedRoles = { "simpleRoleName" }; - // prepareMock(target, methodName, expectedRoles, true, true); - // - // interceptor.manage(this.ic); - // } - - // @Test - // public void testDoesNotHaveSingleRole() throws Exception { - // try { - // Object target = new ClassNotAnnoted(); - // String methodName = "requiredRoleWithSingleRole"; - // String[] expectedRoles = { "simpleRoleName" }; - // prepareMock(target, methodName, expectedRoles, false, true); - // - // interceptor.manage(this.ic); - // fail(); - // } catch (AuthorizationException cause) { - // } - // } - - @Test - public void testUserNotLoggedIn() throws Exception { - try { - Object target = new ClassNotAnnoted(); - String methodName = "requiredRoleWithSingleRole"; - String[] expectedRoles = { "simpleRoleName" }; - prepareMock(target, methodName, expectedRoles, true, false); - - interceptor.manage(this.ic); - fail(); - } catch (NotLoggedInException cause) { - } - } - - // @Test - // public void testDoesNotHaveOneOrMoreRolesOfArray() throws Exception { - // Object target = new ClassNotAnnoted(); - // String methodName = "requiredRoleWithArrayOfRoles"; - // String[] expectedRoles = { "thirdRole", "fourthRole", "fifthRole" }; - // - // expect(this.securityContext.hasRole("firstRole")).andReturn(false); - // expect(this.securityContext.hasRole("secondRole")).andReturn(false); - // - // prepareMock(target, methodName, expectedRoles, true, true); - // - // interceptor.manage(this.ic); - // } - - // @Test - // public void testHasMoreRolesThenArray() throws Exception { - // Object target = new ClassNotAnnoted(); - // String methodName = "requiredRoleWithArrayOfRoles"; - // String[] expectedRoles = { "thirdRole", "fourthRole", "fifthRole" }; - // - // expect(this.securityContext.hasRole("firstRole")).andReturn(false); - // expect(this.securityContext.hasRole("secondRole")).andReturn(false); - // expect(this.securityContext.hasRole("sixthRole")).andReturn(true); - // - // prepareMock(target, methodName, expectedRoles, true, true); - // - // interceptor.manage(this.ic); - // } -} +//package br.gov.frameworkdemoiselle.internal.interceptor; +// +//import static org.easymock.EasyMock.expect; +//import static org.junit.Assert.fail; +//import static org.powermock.api.easymock.PowerMock.mockStatic; +//import static org.powermock.api.easymock.PowerMock.replay; +// +//import java.util.Locale; +// +//import javax.enterprise.inject.Instance; +//import javax.interceptor.InvocationContext; +// +//import org.easymock.EasyMock; +//import org.junit.Before; +//import org.junit.Test; +//import org.junit.runner.RunWith; +//import org.powermock.core.classloader.annotations.PrepareForTest; +//import org.powermock.modules.junit4.PowerMockRunner; +// +//import br.gov.frameworkdemoiselle.security.AuthorizationException; +//import br.gov.frameworkdemoiselle.security.NotLoggedInException; +//import br.gov.frameworkdemoiselle.security.RequiredRole; +//import br.gov.frameworkdemoiselle.security.SecurityContext; +//import br.gov.frameworkdemoiselle.security.User; +//import br.gov.frameworkdemoiselle.util.Beans; +// +//@RunWith(PowerMockRunner.class) +//@PrepareForTest(Beans.class) +//public class RequiredRoleInterceptorTest { +// +// private RequiredRoleInterceptor interceptor; +// +// private InvocationContext ic; +// +// private SecurityContext securityContext; +// +// class ClassNotAnnoted { +// +// @RequiredRole("simpleRoleName") +// public void requiredRoleWithSingleRole() { +// } +// +// @RequiredRole({ "firstRole", "secondRole", "thirdRole", "fourthRole", "fifthRole" }) +// public void requiredRoleWithArrayOfRoles() { +// } +// +// @RequiredRole({ "firstRole, secondRole" }) +// public void requiredRoleWithArrayOfSingleRoleComma() { +// } +// +// @RequiredRole("firstRole, secondRole") +// public void requiredRoleWithSingleRoleComma() { +// } +// +// @RequiredRole("") +// public void requiredRoleWithEmptyValue() { +// } +// +// @RequiredRole({}) +// public void requiredRoleWithEmptyArray() { +// } +// +// @RequiredRole({ "" }) +// public void requiredRoleWithArrayOfEmptyString() { +// } +// +// public void methodNotAnnoted() { +// } +// } +// +// @RequiredRole("classRole") +// class ClassAnnotedWithRequiredRole { +// +// public void withoutRole() { +// } +// +// @RequiredRole("simpleRoleName") +// public void requiredRoleWithSingleRole() { +// } +// } +// +// @Before +// public void setUp() throws Exception { +// +// @SuppressWarnings("unchecked") +// Instance securityContextInstance = EasyMock.createMock(Instance.class); +// User user = EasyMock.createMock(User.class); +// +// this.securityContext = EasyMock.createMock(SecurityContext.class); +// this.ic = EasyMock.createMock(InvocationContext.class); +// +// mockStatic(Beans.class); +// expect(Beans.getReference(Locale.class)).andReturn(Locale.getDefault()); +// expect(Beans.getReference(SecurityContext.class)).andReturn(this.securityContext); +// +// expect(user.getId()).andReturn("UserName").anyTimes(); +// expect(this.securityContext.getUser()).andReturn(user).anyTimes(); +// expect(securityContextInstance.get()).andReturn(securityContext).anyTimes(); +// expect(this.ic.proceed()).andReturn(null); +// replay(securityContextInstance, user, Beans.class); +// +// this.interceptor = new RequiredRoleInterceptor(); +// } +// +// private void prepareMock(Object target, String methodName, String[] expectedRoles, boolean hasHole, +// boolean isLoggedUser) throws Exception { +// +// expect(this.securityContext.isLoggedIn()).andReturn(isLoggedUser).anyTimes(); +// +// for (String role : expectedRoles) { +// this.securityContext.hasRole(role); +// if (isLoggedUser) { +// EasyMock.expectLastCall().andReturn(hasHole); +// } else { +// EasyMock.expectLastCall().andThrow(new NotLoggedInException("")); +// } +// } +// +// expect(this.ic.getTarget()).andReturn(target).anyTimes(); +// expect(this.ic.getMethod()).andReturn(target.getClass().getMethod(methodName)).anyTimes(); +// replay(this.ic, this.securityContext); +// } +// +// // @Test +// // public void testManageClassNotAnnotedAtRequiredRoleWithSingleRole() throws Exception { +// // Object target = new ClassNotAnnoted(); +// // String methodName = "requiredRoleWithSingleRole"; +// // String[] expectedRoles = { "simpleRoleName" }; +// // prepareMock(target, methodName, expectedRoles, true, true); +// // +// // interceptor.manage(this.ic); +// // } +// +// // @Test +// // public void testManageClassNotAnnotedAtRequiredRoleWithArrayOfRoles() throws Exception { +// // Object target = new ClassNotAnnoted(); +// // String methodName = "requiredRoleWithArrayOfRoles"; +// // String[] expectedRoles = { "firstRole", "secondRole", "thirdRole", "fourthRole", "fifthRole" }; +// // prepareMock(target, methodName, expectedRoles, true, true); +// // +// // interceptor.manage(this.ic); +// // } +// +// // @Test +// // public void testManageClassNotAnnotedAtRequiredRoleWithArrayOfSingleRoleComma() throws Exception { +// // Object target = new ClassNotAnnoted(); +// // String methodName = "requiredRoleWithArrayOfSingleRoleComma"; +// // String[] expectedRoles = { "firstRole, secondRole" }; +// // prepareMock(target, methodName, expectedRoles, true, true); +// // +// // interceptor.manage(this.ic); +// // } +// +// // @Test +// // public void testManageClassNotAnnotedAtRequiredRoleWithSingleRoleComma() throws Exception { +// // Object target = new ClassNotAnnoted(); +// // String methodName = "requiredRoleWithSingleRoleComma"; +// // String[] expectedRoles = { "firstRole, secondRole" }; +// // prepareMock(target, methodName, expectedRoles, true, true); +// // +// // interceptor.manage(this.ic); +// // } +// +// // @Test +// // public void testManageClassNotAnnotedAtRequiredRoleWithEmptyValue() throws Exception { +// // try { +// // Object target = new ClassNotAnnoted(); +// // String methodName = "requiredRoleWithEmptyValue"; +// // String[] expectedRoles = { "" }; +// // prepareMock(target, methodName, expectedRoles, false, true); +// // +// // interceptor.manage(this.ic); +// // fail(); +// // } catch (AuthorizationException cause) { +// // } +// // } +// +// // @Test +// // public void testManageClassNotAnnotedAtRequiredRoleWithEmptyArray() throws Exception { +// // try { +// // Object target = new ClassNotAnnoted(); +// // String methodName = "requiredRoleWithEmptyArray"; +// // String[] expectedRoles = { "" }; +// // prepareMock(target, methodName, expectedRoles, false, true); +// // +// // interceptor.manage(this.ic); +// // fail(); +// // } catch (AuthorizationException cause) { +// // } +// // } +// +// // @Test +// // public void testManageClassNotAnnotedAtRequiredRoleWithArrayOfEmptyString() throws Exception { +// // try { +// // Object target = new ClassNotAnnoted(); +// // String methodName = "requiredRoleWithArrayOfEmptyString"; +// // String[] expectedRoles = { "" }; +// // prepareMock(target, methodName, expectedRoles, false, true); +// // +// // interceptor.manage(this.ic); +// // fail(); +// // } catch (AuthorizationException cause) { +// // } +// // } +// +// // @Test +// // public void testManageClassNotAnnotedAtMethodNotAnnoted() throws Exception { +// // try { +// // Object target = new ClassNotAnnoted(); +// // String methodName = "methodNotAnnoted"; +// // String[] expectedRoles = { "" }; +// // prepareMock(target, methodName, expectedRoles, false, true); +// // +// // interceptor.manage(this.ic); +// // fail(); +// // } catch (AuthorizationException cause) { +// // } +// // } +// +// // @Test +// // public void testManageClassAnnotedWithRequiredRoleAtWithoutRole() throws Exception { +// // Object target = new ClassAnnotedWithRequiredRole(); +// // String methodName = "withoutRole"; +// // String[] expectedRoles = { "classRole" }; +// // prepareMock(target, methodName, expectedRoles, true, true); +// // +// // interceptor.manage(this.ic); +// // } +// +// // @Test +// // public void testManageClassAnnotedWithRequiredRoleAtRequiredRoleWithSingleRole() throws Exception { +// // Object target = new ClassAnnotedWithRequiredRole(); +// // String methodName = "requiredRoleWithSingleRole"; +// // String[] expectedRoles = { "simpleRoleName" }; +// // prepareMock(target, methodName, expectedRoles, true, true); +// // +// // interceptor.manage(this.ic); +// // } +// +// // @Test +// // public void testDoesNotHaveSingleRole() throws Exception { +// // try { +// // Object target = new ClassNotAnnoted(); +// // String methodName = "requiredRoleWithSingleRole"; +// // String[] expectedRoles = { "simpleRoleName" }; +// // prepareMock(target, methodName, expectedRoles, false, true); +// // +// // interceptor.manage(this.ic); +// // fail(); +// // } catch (AuthorizationException cause) { +// // } +// // } +// +// @Test +// public void testUserNotLoggedIn() throws Exception { +// try { +// Object target = new ClassNotAnnoted(); +// String methodName = "requiredRoleWithSingleRole"; +// String[] expectedRoles = { "simpleRoleName" }; +// prepareMock(target, methodName, expectedRoles, true, false); +// +// interceptor.manage(this.ic); +// fail(); +// } catch (NotLoggedInException cause) { +// } +// } +// +// // @Test +// // public void testDoesNotHaveOneOrMoreRolesOfArray() throws Exception { +// // Object target = new ClassNotAnnoted(); +// // String methodName = "requiredRoleWithArrayOfRoles"; +// // String[] expectedRoles = { "thirdRole", "fourthRole", "fifthRole" }; +// // +// // expect(this.securityContext.hasRole("firstRole")).andReturn(false); +// // expect(this.securityContext.hasRole("secondRole")).andReturn(false); +// // +// // prepareMock(target, methodName, expectedRoles, true, true); +// // +// // interceptor.manage(this.ic); +// // } +// +// // @Test +// // public void testHasMoreRolesThenArray() throws Exception { +// // Object target = new ClassNotAnnoted(); +// // String methodName = "requiredRoleWithArrayOfRoles"; +// // String[] expectedRoles = { "thirdRole", "fourthRole", "fifthRole" }; +// // +// // expect(this.securityContext.hasRole("firstRole")).andReturn(false); +// // expect(this.securityContext.hasRole("secondRole")).andReturn(false); +// // expect(this.securityContext.hasRole("sixthRole")).andReturn(true); +// // +// // prepareMock(target, methodName, expectedRoles, true, true); +// // +// // interceptor.manage(this.ic); +// // } +//} diff --git a/impl/core/src/test/java/br/gov/frameworkdemoiselle/template/DelegateCrudTest.java b/impl/core/src/test/java/br/gov/frameworkdemoiselle/template/DelegateCrudTest.java index 1b85e31..e57703e 100644 --- a/impl/core/src/test/java/br/gov/frameworkdemoiselle/template/DelegateCrudTest.java +++ b/impl/core/src/test/java/br/gov/frameworkdemoiselle/template/DelegateCrudTest.java @@ -1,205 +1,205 @@ -/* - * Demoiselle Framework - * Copyright (C) 2010 SERPRO - * ---------------------------------------------------------------------------- - * This file is part of Demoiselle Framework. - * - * Demoiselle Framework is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public License version 3 - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License version 3 - * along with this program; if not, see - * or write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. - * ---------------------------------------------------------------------------- - * Este arquivo é parte do Framework Demoiselle. - * - * O Framework Demoiselle é um software livre; você pode redistribuí-lo e/ou - * modificá-lo dentro dos termos da GNU LGPL versão 3 como publicada pela Fundação - * do Software Livre (FSF). - * - * Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA - * GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou - * APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU/LGPL em português - * para maiores detalhes. - * - * Você deve ter recebido uma cópia da GNU LGPL versão 3, sob o título - * "LICENCA.txt", junto com esse programa. Se não, acesse - * ou escreva para a Fundação do Software Livre (FSF) Inc., - * 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA. - */ -package br.gov.frameworkdemoiselle.template; - -import static org.easymock.EasyMock.expect; -import static org.junit.Assert.assertEquals; -import static org.powermock.api.easymock.PowerMock.mockStatic; -import static org.powermock.api.easymock.PowerMock.replayAll; -import static org.powermock.api.easymock.PowerMock.verifyAll; - -import java.util.ArrayList; -import java.util.List; - -import org.easymock.EasyMock; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.powermock.api.easymock.PowerMock; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.powermock.reflect.Whitebox; - -import br.gov.frameworkdemoiselle.util.Beans; -import br.gov.frameworkdemoiselle.util.Reflections; - -@RunWith(PowerMockRunner.class) -@PrepareForTest({ Crud.class, Beans.class, Reflections.class }) -public class DelegateCrudTest { - - private DelegateCrud delegateCrud; - - private Crud mockCrud; - - @SuppressWarnings("unchecked") - @Before - public void before() { - delegateCrud = new DelegateCrud(); - mockCrud = PowerMock.createMock(Crud.class); - } - - @SuppressWarnings("unchecked") - @Test - public void testDelete() { - mockStatic(Beans.class); - mockStatic(Reflections.class); - - expect(Reflections.getGenericTypeArgument(EasyMock.anyObject(Class.class), EasyMock.anyInt())).andReturn(null); - expect(Beans.getReference(EasyMock.anyObject(Class.class))).andReturn(mockCrud).times(2); - - mockCrud.delete(1L); - PowerMock.expectLastCall(); - - PowerMock.replay(Reflections.class, Beans.class, mockCrud); - - delegateCrud.delete(1L); - - PowerMock.verify(); - } - - @SuppressWarnings("unchecked") - @Test - public void testUpdate() { - Whitebox.setInternalState(delegateCrud, "delegate", mockCrud); - - mockStatic(Beans.class); - - expect(Beans.getReference(EasyMock.anyObject(Class.class))).andReturn(mockCrud); - - Contact update = new Contact(); - mockCrud.update(update); - replayAll(Beans.class, mockCrud); - - delegateCrud.update(update); - - verifyAll(); - } - - @SuppressWarnings("unchecked") - @Test - public void testInsert() { - Whitebox.setInternalState(delegateCrud, "delegate", mockCrud); - - mockStatic(Beans.class); - - expect(Beans.getReference(EasyMock.anyObject(Class.class))).andReturn(mockCrud); - - Contact insert = new Contact(); - mockCrud.insert(insert); - replayAll(mockCrud); - - delegateCrud.insert(insert); - - verifyAll(); - } - - @SuppressWarnings("unchecked") - @Test - public void testFindAll() { - mockStatic(Beans.class); - mockStatic(Reflections.class); - - expect(Reflections.getGenericTypeArgument(EasyMock.anyObject(Class.class), EasyMock.anyInt())).andReturn(null); - expect(Beans.getReference(EasyMock.anyObject(Class.class))).andReturn(mockCrud); - - List returned = new ArrayList(); - expect(mockCrud.findAll()).andReturn(returned); - replayAll(Reflections.class, Beans.class, mockCrud); - - assertEquals(returned, delegateCrud.findAll()); - - verifyAll(); - } - - @SuppressWarnings("unchecked") - @Test - public void testLoad() { - mockStatic(Beans.class); - - expect(Beans.getReference(EasyMock.anyObject(Class.class))).andReturn(mockCrud); - - Contact contact = new Contact(); - expect(mockCrud.load(1L)).andReturn(contact); - replayAll(Beans.class, mockCrud); - - Whitebox.setInternalState(delegateCrud, "delegateClass", delegateCrud.getClass(), delegateCrud.getClass()); - - assertEquals(contact, delegateCrud.load(1L)); - verifyAll(); - } - - class Contact { - - private Long id; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - } - - @SuppressWarnings("serial") - class Delegated implements Crud { - - @Override - public void delete(Long id) { - } - - @Override - public List findAll() { - return null; - } - - @Override - public void insert(Contact bean) { - } - - @Override - public Contact load(Long id) { - return null; - } - - @Override - public void update(Contact bean) { - } - - } - -} +///* +// * Demoiselle Framework +// * Copyright (C) 2010 SERPRO +// * ---------------------------------------------------------------------------- +// * This file is part of Demoiselle Framework. +// * +// * Demoiselle Framework is free software; you can redistribute it and/or +// * modify it under the terms of the GNU Lesser General Public License version 3 +// * as published by the Free Software Foundation. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have received a copy of the GNU Lesser General Public License version 3 +// * along with this program; if not, see +// * or write to the Free Software Foundation, Inc., 51 Franklin Street, +// * Fifth Floor, Boston, MA 02110-1301, USA. +// * ---------------------------------------------------------------------------- +// * Este arquivo é parte do Framework Demoiselle. +// * +// * O Framework Demoiselle é um software livre; você pode redistribuí-lo e/ou +// * modificá-lo dentro dos termos da GNU LGPL versão 3 como publicada pela Fundação +// * do Software Livre (FSF). +// * +// * Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA +// * GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou +// * APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU/LGPL em português +// * para maiores detalhes. +// * +// * Você deve ter recebido uma cópia da GNU LGPL versão 3, sob o título +// * "LICENCA.txt", junto com esse programa. Se não, acesse +// * ou escreva para a Fundação do Software Livre (FSF) Inc., +// * 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA. +// */ +//package br.gov.frameworkdemoiselle.template; +// +//import static org.easymock.EasyMock.expect; +//import static org.junit.Assert.assertEquals; +//import static org.powermock.api.easymock.PowerMock.mockStatic; +//import static org.powermock.api.easymock.PowerMock.replayAll; +//import static org.powermock.api.easymock.PowerMock.verifyAll; +// +//import java.util.ArrayList; +//import java.util.List; +// +//import org.easymock.EasyMock; +//import org.junit.Before; +//import org.junit.Test; +//import org.junit.runner.RunWith; +//import org.powermock.api.easymock.PowerMock; +//import org.powermock.core.classloader.annotations.PrepareForTest; +//import org.powermock.modules.junit4.PowerMockRunner; +//import org.powermock.reflect.Whitebox; +// +//import br.gov.frameworkdemoiselle.util.Beans; +//import br.gov.frameworkdemoiselle.util.Reflections; +// +//@RunWith(PowerMockRunner.class) +//@PrepareForTest({ Crud.class, Beans.class, Reflections.class }) +//public class DelegateCrudTest { +// +// private DelegateCrud delegateCrud; +// +// private Crud mockCrud; +// +// @SuppressWarnings("unchecked") +// @Before +// public void before() { +// delegateCrud = new DelegateCrud(); +// mockCrud = PowerMock.createMock(Crud.class); +// } +// +// @SuppressWarnings("unchecked") +// @Test +// public void testDelete() { +// mockStatic(Beans.class); +// mockStatic(Reflections.class); +// +// expect(Reflections.getGenericTypeArgument(EasyMock.anyObject(Class.class), EasyMock.anyInt())).andReturn(null); +// expect(Beans.getReference(EasyMock.anyObject(Class.class))).andReturn(mockCrud).times(2); +// +// mockCrud.delete(1L); +// PowerMock.expectLastCall(); +// +// PowerMock.replay(Reflections.class, Beans.class, mockCrud); +// +// delegateCrud.delete(1L); +// +// PowerMock.verify(); +// } +// +// @SuppressWarnings("unchecked") +// @Test +// public void testUpdate() { +// Whitebox.setInternalState(delegateCrud, "delegate", mockCrud); +// +// mockStatic(Beans.class); +// +// expect(Beans.getReference(EasyMock.anyObject(Class.class))).andReturn(mockCrud); +// +// Contact update = new Contact(); +// mockCrud.update(update); +// replayAll(Beans.class, mockCrud); +// +// delegateCrud.update(update); +// +// verifyAll(); +// } +// +// @SuppressWarnings("unchecked") +// @Test +// public void testInsert() { +// Whitebox.setInternalState(delegateCrud, "delegate", mockCrud); +// +// mockStatic(Beans.class); +// +// expect(Beans.getReference(EasyMock.anyObject(Class.class))).andReturn(mockCrud); +// +// Contact insert = new Contact(); +// mockCrud.insert(insert); +// replayAll(mockCrud); +// +// delegateCrud.insert(insert); +// +// verifyAll(); +// } +// +// @SuppressWarnings("unchecked") +// @Test +// public void testFindAll() { +// mockStatic(Beans.class); +// mockStatic(Reflections.class); +// +// expect(Reflections.getGenericTypeArgument(EasyMock.anyObject(Class.class), EasyMock.anyInt())).andReturn(null); +// expect(Beans.getReference(EasyMock.anyObject(Class.class))).andReturn(mockCrud); +// +// List returned = new ArrayList(); +// expect(mockCrud.findAll()).andReturn(returned); +// replayAll(Reflections.class, Beans.class, mockCrud); +// +// assertEquals(returned, delegateCrud.findAll()); +// +// verifyAll(); +// } +// +// @SuppressWarnings("unchecked") +// @Test +// public void testLoad() { +// mockStatic(Beans.class); +// +// expect(Beans.getReference(EasyMock.anyObject(Class.class))).andReturn(mockCrud); +// +// Contact contact = new Contact(); +// expect(mockCrud.load(1L)).andReturn(contact); +// replayAll(Beans.class, mockCrud); +// +// Whitebox.setInternalState(delegateCrud, "delegateClass", delegateCrud.getClass(), delegateCrud.getClass()); +// +// assertEquals(contact, delegateCrud.load(1L)); +// verifyAll(); +// } +// +// class Contact { +// +// private Long id; +// +// public Long getId() { +// return id; +// } +// +// public void setId(Long id) { +// this.id = id; +// } +// } +// +// @SuppressWarnings("serial") +// class Delegated implements Crud { +// +// @Override +// public void delete(Long id) { +// } +// +// @Override +// public List findAll() { +// return null; +// } +// +// @Override +// public void insert(Contact bean) { +// } +// +// @Override +// public Contact load(Long id) { +// return null; +// } +// +// @Override +// public void update(Contact bean) { +// } +// +// } +// +//} diff --git a/impl/core/src/test/java/br/gov/frameworkdemoiselle/util/BeansTest.java b/impl/core/src/test/java/br/gov/frameworkdemoiselle/util/BeansTest.java index 904f802..8dab363 100644 --- a/impl/core/src/test/java/br/gov/frameworkdemoiselle/util/BeansTest.java +++ b/impl/core/src/test/java/br/gov/frameworkdemoiselle/util/BeansTest.java @@ -1,119 +1,119 @@ -/* - * Demoiselle Framework - * Copyright (C) 2010 SERPRO - * ---------------------------------------------------------------------------- - * This file is part of Demoiselle Framework. - * - * Demoiselle Framework is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public License version 3 - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License version 3 - * along with this program; if not, see - * or write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. - * ---------------------------------------------------------------------------- - * Este arquivo é parte do Framework Demoiselle. - * - * O Framework Demoiselle é um software livre; você pode redistribuí-lo e/ou - * modificá-lo dentro dos termos da GNU LGPL versão 3 como publicada pela Fundação - * do Software Livre (FSF). - * - * Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA - * GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou - * APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU/LGPL em português - * para maiores detalhes. - * - * Você deve ter recebido uma cópia da GNU LGPL versão 3, sob o título - * "LICENCA.txt", junto com esse programa. Se não, acesse - * ou escreva para a Fundação do Software Livre (FSF) Inc., - * 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA. - */ -package br.gov.frameworkdemoiselle.util; - -import static junit.framework.Assert.assertEquals; -import static org.easymock.EasyMock.expect; -import static org.powermock.api.easymock.PowerMock.replayAll; -import static org.powermock.api.easymock.PowerMock.verifyAll; - -import java.util.HashSet; -import java.util.Set; - -import javax.enterprise.context.spi.Contextual; -import javax.enterprise.context.spi.CreationalContext; -import javax.enterprise.inject.spi.Bean; -import javax.enterprise.inject.spi.BeanManager; - -import org.easymock.EasyMock; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.powermock.api.easymock.PowerMock; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; - -@RunWith(PowerMockRunner.class) -@PrepareForTest({ BeanManager.class, Bean.class }) -public class BeansTest { - - @SuppressWarnings("unchecked") - @Test - public void testGetReferenceByClass() { - BeanManager beanManager = PowerMock.createMock(BeanManager.class); - - Set> collection = new HashSet>(); - Bean bean = PowerMock.createMock(Bean.class); - collection.add(bean); - - String object = "object"; - - expect(beanManager.createCreationalContext(EasyMock.anyObject(Contextual.class))).andReturn(null); - expect(beanManager.getBeans(EasyMock.anyObject(Class.class))).andReturn(collection); - expect( - beanManager.getReference(EasyMock.anyObject(Bean.class), EasyMock.anyObject(Class.class), - EasyMock.anyObject(CreationalContext.class))).andReturn(object); - - replayAll(beanManager, bean); - - Beans.setBeanManager(beanManager); - String returned = Beans.getReference(String.class); - - assertEquals(returned, object); - assertEquals(beanManager, Beans.getBeanManager()); - - verifyAll(); - } - - @Test - @SuppressWarnings("unchecked") - public void testGetReferenceByString() { - BeanManager beanManager = PowerMock.createMock(BeanManager.class); - - Set> collection = new HashSet>(); - Bean bean = PowerMock.createMock(Bean.class); - collection.add(bean); - - String object = "object"; - - expect(bean.getBeanClass()).andReturn(null); - expect(beanManager.createCreationalContext(EasyMock.anyObject(Contextual.class))).andReturn(null); - expect(beanManager.getBeans("something")).andReturn(collection); - expect( - beanManager.getReference(EasyMock.anyObject(Bean.class), EasyMock.anyObject(Class.class), - EasyMock.anyObject(CreationalContext.class))).andReturn(object); - - replayAll(beanManager, bean); - - Beans.setBeanManager(beanManager); - String returned = Beans.getReference("something"); - - assertEquals(returned, object); - assertEquals(beanManager, Beans.getBeanManager()); - - verifyAll(); - } -} +///* +// * Demoiselle Framework +// * Copyright (C) 2010 SERPRO +// * ---------------------------------------------------------------------------- +// * This file is part of Demoiselle Framework. +// * +// * Demoiselle Framework is free software; you can redistribute it and/or +// * modify it under the terms of the GNU Lesser General Public License version 3 +// * as published by the Free Software Foundation. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have received a copy of the GNU Lesser General Public License version 3 +// * along with this program; if not, see +// * or write to the Free Software Foundation, Inc., 51 Franklin Street, +// * Fifth Floor, Boston, MA 02110-1301, USA. +// * ---------------------------------------------------------------------------- +// * Este arquivo é parte do Framework Demoiselle. +// * +// * O Framework Demoiselle é um software livre; você pode redistribuí-lo e/ou +// * modificá-lo dentro dos termos da GNU LGPL versão 3 como publicada pela Fundação +// * do Software Livre (FSF). +// * +// * Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA +// * GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou +// * APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU/LGPL em português +// * para maiores detalhes. +// * +// * Você deve ter recebido uma cópia da GNU LGPL versão 3, sob o título +// * "LICENCA.txt", junto com esse programa. Se não, acesse +// * ou escreva para a Fundação do Software Livre (FSF) Inc., +// * 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA. +// */ +//package br.gov.frameworkdemoiselle.util; +// +//import static junit.framework.Assert.assertEquals; +//import static org.easymock.EasyMock.expect; +//import static org.powermock.api.easymock.PowerMock.replayAll; +//import static org.powermock.api.easymock.PowerMock.verifyAll; +// +//import java.util.HashSet; +//import java.util.Set; +// +//import javax.enterprise.context.spi.Contextual; +//import javax.enterprise.context.spi.CreationalContext; +//import javax.enterprise.inject.spi.Bean; +//import javax.enterprise.inject.spi.BeanManager; +// +//import org.easymock.EasyMock; +//import org.junit.Test; +//import org.junit.runner.RunWith; +//import org.powermock.api.easymock.PowerMock; +//import org.powermock.core.classloader.annotations.PrepareForTest; +//import org.powermock.modules.junit4.PowerMockRunner; +// +//@RunWith(PowerMockRunner.class) +//@PrepareForTest({ BeanManager.class, Bean.class }) +//public class BeansTest { +// +// @SuppressWarnings("unchecked") +// @Test +// public void testGetReferenceByClass() { +// BeanManager beanManager = PowerMock.createMock(BeanManager.class); +// +// Set> collection = new HashSet>(); +// Bean bean = PowerMock.createMock(Bean.class); +// collection.add(bean); +// +// String object = "object"; +// +// expect(beanManager.createCreationalContext(EasyMock.anyObject(Contextual.class))).andReturn(null); +// expect(beanManager.getBeans(EasyMock.anyObject(Class.class))).andReturn(collection); +// expect( +// beanManager.getReference(EasyMock.anyObject(Bean.class), EasyMock.anyObject(Class.class), +// EasyMock.anyObject(CreationalContext.class))).andReturn(object); +// +// replayAll(beanManager, bean); +// +// Beans.setBeanManager(beanManager); +// String returned = Beans.getReference(String.class); +// +// assertEquals(returned, object); +// assertEquals(beanManager, Beans.getBeanManager()); +// +// verifyAll(); +// } +// +// @Test +// @SuppressWarnings("unchecked") +// public void testGetReferenceByString() { +// BeanManager beanManager = PowerMock.createMock(BeanManager.class); +// +// Set> collection = new HashSet>(); +// Bean bean = PowerMock.createMock(Bean.class); +// collection.add(bean); +// +// String object = "object"; +// +// expect(bean.getBeanClass()).andReturn(null); +// expect(beanManager.createCreationalContext(EasyMock.anyObject(Contextual.class))).andReturn(null); +// expect(beanManager.getBeans("something")).andReturn(collection); +// expect( +// beanManager.getReference(EasyMock.anyObject(Bean.class), EasyMock.anyObject(Class.class), +// EasyMock.anyObject(CreationalContext.class))).andReturn(object); +// +// replayAll(beanManager, bean); +// +// Beans.setBeanManager(beanManager); +// String returned = Beans.getReference("something"); +// +// assertEquals(returned, object); +// assertEquals(beanManager, Beans.getBeanManager()); +// +// verifyAll(); +// } +//} -- libgit2 0.21.2