Package jodd.mail

Source Code of jodd.mail.EmailFilterTest

// Copyright (c) 2003-2014, Jodd Team (jodd.org). All Rights Reserved.

package jodd.mail;

import org.junit.Test;

import javax.mail.Message;
import javax.mail.search.AndTerm;
import javax.mail.search.FromStringTerm;
import javax.mail.search.NotTerm;
import javax.mail.search.OrTerm;
import javax.mail.search.RecipientStringTerm;
import javax.mail.search.SearchTerm;
import javax.mail.search.SubjectTerm;

import static jodd.mail.EmailFilter.filter;
import static org.junit.Assert.assertEquals;

public class EmailFilterTest {

  @Test
  public void testAnd1() {
    EmailFilter emailFilter =
      filter()
        .from("from");

    SearchTerm expected = new FromStringTerm("from");
    assertEquals(expected, emailFilter.searchTerm);
  }

  @Test
  public void testAnd2() {
    EmailFilter emailFilter =
      filter()
        .from("from")
        .to("to");

    SearchTerm expected =
        new AndTerm(
          new FromStringTerm("from"),
          new RecipientStringTerm(Message.RecipientType.TO, "to")
        );
    assertEquals(expected, emailFilter.searchTerm);
  }

  @Test
  public void testOr2() {
    EmailFilter emailFilter =
      filter().or(
          filter().from("from"),
          filter().to("to")

      );

    SearchTerm expected =
        new OrTerm(
          new FromStringTerm("from"),
          new RecipientStringTerm(Message.RecipientType.TO, "to")
        );

    assertEquals(expected, emailFilter.searchTerm);
  }

  @Test
  public void testOr2Alt() {
    EmailFilter emailFilter =
      filter().or()
          .from("from")
          .to("to");

    SearchTerm expected =
        new OrTerm(
          new FromStringTerm("from"),
          new RecipientStringTerm(Message.RecipientType.TO, "to")
        );

    assertEquals(expected, emailFilter.searchTerm);
  }

  @Test
  public void testAndOrNot() {
    EmailFilter emailFilter =
          filter()
            .from("from")
            .to("to")
            .or()
            .not()
            .subject("subject")
            .from("from2");

    SearchTerm expected =
        new OrTerm(
          new OrTerm(
            new AndTerm(
                new FromStringTerm("from"),
                new RecipientStringTerm(Message.RecipientType.TO, "to")
            ),
            new NotTerm(
                new SubjectTerm("subject")
            )
          ),
          new FromStringTerm("from2")
        );

    assertEquals(expected, emailFilter.searchTerm);
  }

  @Test
  public void testAndOrNotAlt() {
    EmailFilter emailFilter =
          filter()
            .or(
              filter().and(
                filter().from("from"),
                filter().to("to")
              ),
              filter().not(filter().subject("subject")),
              filter().from("from2")
            );

    SearchTerm expected =
        new OrTerm(
          new SearchTerm[] {
            new AndTerm(
                new FromStringTerm("from"),
                new RecipientStringTerm(Message.RecipientType.TO, "to")
            ),
            new NotTerm(
                new SubjectTerm("subject")
            ),
            new FromStringTerm("from2")
          }
        );


    assertEquals(expected, emailFilter.searchTerm);
  }


}
TOP

Related Classes of jodd.mail.EmailFilterTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.