/*******************************************************************************
* Australian National University Data Commons
* Copyright (C) 2013 The Australian National University
*
* This file is part of Australian National University Data Commons.
*
* Australian National University Data Commons is free software: you
* can redistribute it and/or modify it under the terms of the GNU
* General Public License as published by the Free Software Foundation,
* either version 3 of the License, or (at your option) any later
* version.
*
* 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 General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
******************************************************************************/
package au.edu.anu.datacommons.collectionrequest;
import static org.hamcrest.Matchers.*;
import static org.junit.Assert.*;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
/**
*
* @author Rahul Khanna
*
*/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration
public class EmailTest {
private static final Logger LOGGER = LoggerFactory.getLogger(EmailTest.class);
@Autowired
JavaMailSenderImpl mailSender;
@BeforeClass
public static void setUpBeforeClass() throws Exception {
}
@AfterClass
public static void tearDownAfterClass() throws Exception {
}
@Before
public void setUp() throws Exception {
}
@After
public void tearDown() throws Exception {
}
@Test
public void test() {
Email email = new Email(mailSender);
email.addRecipient("abc1@abc.com", "Abc 1");
email.addRecipient("abc2@abc.com", "Abc 2");
email.setSubject("Test Subject");
email.setBody("Test Body");
email.send();
LOGGER.info(mailSender.getHost());
}
/**
* Tests the Email class' ability to validate email addresses.
*/
@Test
public void testValidation() {
Map<String, Boolean> emails = new HashMap<String, Boolean>();
emails.put("u1234567@anu.edu.au", true);
emails.put("abc@abc.com", true);
emails.put("abc.xyz@some.domain.com", true);
emails.put(".abc@xyz.com", false);
emails.put("first..second@gmail.com", false);
emails.put("first-second@first-second.com.au", true);
for (Entry<String, Boolean> email : emails.entrySet()) {
assertThat(Email.isValidEmail(email.getKey()), is(email.getValue()));
}
}
}