From b057e374fd126e327cfe0361adb577144ff3915a Mon Sep 17 00:00:00 2001 From: lusabo Date: Tue, 14 May 2013 18:00:39 -0300 Subject: [PATCH] Testes da funcionalidade Tratamento de Mensagens. --- impl/core/src/test/java/message/MessageContextTest.java | 139 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ impl/core/src/test/java/message/MessageWithResourceBundle.java | 16 ++++++++++++++++ impl/core/src/test/resources/message/messages.properties | 2 ++ 3 files changed, 157 insertions(+), 0 deletions(-) create mode 100644 impl/core/src/test/java/message/MessageContextTest.java create mode 100644 impl/core/src/test/java/message/MessageWithResourceBundle.java create mode 100644 impl/core/src/test/resources/message/messages.properties diff --git a/impl/core/src/test/java/message/MessageContextTest.java b/impl/core/src/test/java/message/MessageContextTest.java new file mode 100644 index 0000000..9ad8b38 --- /dev/null +++ b/impl/core/src/test/java/message/MessageContextTest.java @@ -0,0 +1,139 @@ +package message; + +import static junit.framework.Assert.assertEquals; +import static junit.framework.Assert.assertTrue; + +import javax.enterprise.context.RequestScoped; +import javax.inject.Inject; + +import junit.framework.Assert; + +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.junit.Arquillian; +import org.jboss.shrinkwrap.api.spec.JavaArchive; +import org.junit.Test; +import org.junit.runner.RunWith; + +import resourcebundle.parameter.ResourceBundleWithParameter; +import test.Tests; +import br.gov.frameworkdemoiselle.internal.context.ContextManager; +import br.gov.frameworkdemoiselle.internal.context.ManagedContext; +import br.gov.frameworkdemoiselle.message.DefaultMessage; +import br.gov.frameworkdemoiselle.message.Message; +import br.gov.frameworkdemoiselle.message.MessageContext; +import br.gov.frameworkdemoiselle.message.SeverityType; +import br.gov.frameworkdemoiselle.util.Beans; + +@RunWith(Arquillian.class) +public class MessageContextTest { + + @Inject + private MessageContext messageContext; + + @Inject + private MessageWithResourceBundle bundleCustom; + + private static final String PATH = "src/test/resources/message/"; + + @Deployment + public static JavaArchive createDeployment() { + JavaArchive deployment = Tests.createDeployment(MessageContextTest.class); + deployment.addAsResource(Tests.createFileAsset(PATH + "messages.properties"), "messages.properties"); + + return deployment; + } + + @Test + public void testAddMessageWithoutParams() { + ContextManager.activate(ManagedContext.class, RequestScoped.class); + Message message = new DefaultMessage("Menssage without param"); + messageContext.add(message); + assertEquals(messageContext.getMessages().size(), 1); + ContextManager.deactivate(ManagedContext.class, RequestScoped.class); + } + + @Test + public void testAddMessageWithoutParamsIfSeverityIsInfo() { + ContextManager.activate(ManagedContext.class, RequestScoped.class); + Message message = new DefaultMessage("Menssage without param"); + messageContext.add(message); + assertEquals(messageContext.getMessages().get(0).getSeverity(), SeverityType.INFO); + ContextManager.deactivate(ManagedContext.class, RequestScoped.class); + } + + @Test + public void testAddMessageWitSeverityInfo() { + ContextManager.activate(ManagedContext.class, RequestScoped.class); + Message message = new DefaultMessage("Menssage without param", SeverityType.INFO); + messageContext.add(message); + assertEquals(messageContext.getMessages().get(0).getSeverity(), SeverityType.INFO); + ContextManager.deactivate(ManagedContext.class, RequestScoped.class); + } + + @Test + public void testAddMessageWitSeverityWarn() { + ContextManager.activate(ManagedContext.class, RequestScoped.class); + Message message = new DefaultMessage("Menssage without param", SeverityType.WARN); + messageContext.add(message); + assertEquals(messageContext.getMessages().get(0).getSeverity(), SeverityType.WARN); + ContextManager.deactivate(ManagedContext.class, RequestScoped.class); + } + + @Test + public void testAddMessageWitSeverityErro() { + ContextManager.activate(ManagedContext.class, RequestScoped.class); + Message message = new DefaultMessage("Menssage without param", SeverityType.ERROR); + messageContext.add(message); + assertEquals(messageContext.getMessages().get(0).getSeverity(), SeverityType.ERROR); + ContextManager.deactivate(ManagedContext.class, RequestScoped.class); + } + + @Test + public void testCleanMessageContext() { + ContextManager.activate(ManagedContext.class, RequestScoped.class); + Message message = new DefaultMessage("Menssage without param"); + messageContext.add(message); + assertEquals(messageContext.getMessages().size(), 1); + messageContext.clear(); + assertEquals(messageContext.getMessages().size(), 0); + ContextManager.deactivate(ManagedContext.class, RequestScoped.class); + } + + @Test + public void testRecoverMessageWithParams() { + ContextManager.activate(ManagedContext.class, RequestScoped.class); + Message message = new DefaultMessage("Message with {0} param"); + messageContext.add(message, 1); + assertTrue(messageContext.getMessages().get(0).getText().equals("Message with 1 param")); + ContextManager.deactivate(ManagedContext.class, RequestScoped.class); + } + + @Test + public void testMessageWithResourceBundle() { + bundleCustom = Beans.getReference(MessageWithResourceBundle.class); + String expected = "Mensagem sem parâmetro"; + String value = bundleCustom.getBundle().getString("MESSAGE_WITHOUT_PARAMETER"); + Assert.assertEquals(expected, value); + } + + @Test + public void testMessageParsedText(){ + ContextManager.activate(ManagedContext.class, RequestScoped.class); + Message MESSAGE_PARSED = new DefaultMessage("{MESSAGE_PARSED}"); + String expected = "Message parsed"; + String value = MESSAGE_PARSED.getText(); + Assert.assertEquals(expected, value); + ContextManager.deactivate(ManagedContext.class, RequestScoped.class); + } + + @Test + public void testMessageIsNull(){ + ContextManager.activate(ManagedContext.class, RequestScoped.class); + Message NULL_MESSAGE = new DefaultMessage(null); + String expected = null; + String value = NULL_MESSAGE.getText(); + Assert.assertEquals(expected, value); + ContextManager.deactivate(ManagedContext.class, RequestScoped.class); + } + +} diff --git a/impl/core/src/test/java/message/MessageWithResourceBundle.java b/impl/core/src/test/java/message/MessageWithResourceBundle.java new file mode 100644 index 0000000..dbc9b49 --- /dev/null +++ b/impl/core/src/test/java/message/MessageWithResourceBundle.java @@ -0,0 +1,16 @@ +package message; + +import javax.inject.Inject; + +import br.gov.frameworkdemoiselle.util.ResourceBundle; + +public class MessageWithResourceBundle{ + + @Inject + private ResourceBundle bundle; + + public ResourceBundle getBundle() { + return bundle; + } + +} diff --git a/impl/core/src/test/resources/message/messages.properties b/impl/core/src/test/resources/message/messages.properties new file mode 100644 index 0000000..1c72002 --- /dev/null +++ b/impl/core/src/test/resources/message/messages.properties @@ -0,0 +1,2 @@ +MESSAGE_WITHOUT_PARAMETER=Mensagem sem parâmetro +MESSAGE_PARSED=Message parsed \ No newline at end of file -- libgit2 0.21.2