/********************************************************************************** * Copyright 2010 Sakai Foundation * * Licensed under the Educational Community License, Version 2.0 (the * "License"); you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.opensource.org/licenses/ECL-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. * **********************************************************************************/ package org.sakaiproject.mailsender.model; import static junit.framework.Assert.assertTrue; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotSame; import static org.junit.Assert.assertSame; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import org.junit.Before; import org.junit.Test; import org.mockito.Mock; import org.mockito.Mockito; /** * @author chall * */ public class EmailEntryTest { EmailEntry entry; @Mock ConfigEntry config; @Before public void setUp() { entry = new EmailEntry(config); } @Test public void getDefaults() { assertSame(config, entry.getConfig()); assertTrue(entry.getAttachments().isEmpty()); assertEquals("", entry.getContent()); assertEquals(null, entry.getFrom()); assertTrue(entry.getGroupIds().isEmpty()); assertTrue(entry.getOtherRecipients().isEmpty()); assertTrue(entry.getRoleIds().isEmpty()); assertTrue(entry.getSectionIds().isEmpty()); assertEquals("", entry.getSubject()); assertTrue(entry.getUserIds().isEmpty()); } @Test public void setConfig() { ConfigEntry newConfig = Mockito.mock(ConfigEntry.class); entry.setConfig(newConfig); assertSame(newConfig, entry.getConfig()); assertNotSame(config, entry.getConfig()); } @Test public void setAttachments() { ArrayList<String> attachments = new ArrayList<String>(); attachments.add("attachment1"); attachments.add("attachment2"); entry.setAttachments(attachments); assertFalse(entry.getAttachments().isEmpty()); assertEquals(2, entry.getAttachments().size()); assertEquals("attachment1", entry.getAttachments().get(0)); assertEquals("attachment2", entry.getAttachments().get(1)); } @Test public void setContent() { entry.setContent("new content"); assertEquals("new content", entry.getContent()); entry.setContent(null); assertEquals("", entry.getContent()); entry.setContent(""); assertEquals("", entry.getContent()); } @Test public void setFrom() { entry.setFrom("nobody@example.com"); assertEquals("nobody@example.com", entry.getFrom()); } @Test public void setGroupIds() { HashMap<String, String> groups = new HashMap<String, String>(); groups.put("group1", "id1"); groups.put("group2", "id2"); entry.setGroupIds(groups); assertFalse(entry.getGroupIds().isEmpty()); assertEquals(2, entry.getGroupIds().size()); assertEquals("id1", entry.getGroupIds().get("group1")); assertEquals("id2", entry.getGroupIds().get("group2")); } @Test public void setOtherRecipients() { String rcpts = "nobody@example.com;someone@example.com,whatever@example.com"; entry.setOtherRecipients(rcpts); assertFalse(entry.getOtherRecipients().isEmpty()); assertEquals(3, entry.getOtherRecipients().size()); assertEquals("nobody@example.com", entry.getOtherRecipients().get(0)); assertEquals("someone@example.com", entry.getOtherRecipients().get(1)); assertEquals("whatever@example.com", entry.getOtherRecipients().get(2)); entry.setOtherRecipients(""); } @Test public void setOtherRecipientsList() { List<String> otherRecipients = new ArrayList<String>(); otherRecipients.add("nobody@example.com"); otherRecipients.add("someone@example.com"); otherRecipients.add("whatever@example.com"); entry.setOtherRecipients(otherRecipients); assertFalse(entry.getOtherRecipients().isEmpty()); assertEquals(3, entry.getOtherRecipients().size()); assertEquals("nobody@example.com", entry.getOtherRecipients().get(0)); assertEquals("someone@example.com", entry.getOtherRecipients().get(1)); assertEquals("whatever@example.com", entry.getOtherRecipients().get(2)); } @Test public void setRoleIds() { HashMap<String, String> roles = new HashMap<String, String>(); roles.put("role1", "id1"); roles.put("role2", "id2"); entry.setRoleIds(roles); assertFalse(entry.getRoleIds().isEmpty()); assertEquals(2, entry.getRoleIds().size()); assertEquals("id1", entry.getRoleIds().get("role1")); assertEquals("id2", entry.getRoleIds().get("role2")); } @Test public void setSectionIds() { HashMap<String, String> sections = new HashMap<String, String>(); sections.put("section1", "id1"); sections.put("section2", "id2"); entry.setSectionIds(sections); assertFalse(entry.getSectionIds().isEmpty()); assertEquals(2, entry.getSectionIds().size()); assertEquals("id1", entry.getSectionIds().get("section1")); assertEquals("id2", entry.getSectionIds().get("section2")); } @Test public void setSubject() { entry.setSubject("new subject"); assertEquals("new subject", entry.getSubject()); entry.setSubject(null); assertEquals("", entry.getSubject()); entry.setSubject(""); assertEquals("", entry.getSubject()); } @Test public void setUserIds() { HashMap<String, String> users = new HashMap<String, String>(); users.put("user1", "id1"); users.put("user2", "id2"); entry.setUserIds(users); assertFalse(entry.getUserIds().isEmpty()); assertEquals(2, entry.getUserIds().size()); assertEquals("id1", entry.getUserIds().get("user1")); assertEquals("id2", entry.getUserIds().get("user2")); } }