1   package org.paneris.jammyjoes.mail;
2   
3   import java.io.IOException;
4   import java.io.StringBufferInputStream;
5   import java.util.Properties;
6   import java.util.Vector;
7   
8   import javax.mail.Session;
9   
10  import org.jmock.Mock;
11  import org.jmock.MockObjectTestCase;
12  
13  import com.quiotix.html.parser.HtmlDocument;
14  import com.quiotix.html.parser.ParseException;
15  
16  public class TestCaseJammyMail extends MockObjectTestCase {
17  
18    
19    private Session session;
20  
21    protected void setUp() throws Exception {
22      super.setUp();
23      session = Session.getDefaultInstance(new Properties());
24    }
25    
26    public void testFindName() {
27      ImageTranslator translator = new ImageTranslator(System.out, null);    
28      Vector tag = new Vector();
29      tag.add(new HtmlDocument.Attribute("a","b"));
30      tag.add(new HtmlDocument.Attribute("c","d"));
31      tag.add(new HtmlDocument.Attribute("src","\"imagename\""));
32      assertEquals("imagename", translator.findName(tag));
33    }
34  
35  
36    public void testHtmlImageParser() throws ParseException, IOException {
37  
38      String firstimage = "firstimage"; 
39      String secondimage = "secondimage"; 
40      Mock newsletterControl = new Mock(NewsletterInterface.class);
41      newsletterControl.expects(once()).method("addImage").with(eq(firstimage),eq(0));
42      newsletterControl.expects(once()).method("addImage").with(eq(secondimage),eq(1));
43      newsletterControl.expects(once()).method("getInputStream").will(returnValue(new StringBufferInputStream("<h1>hello</h1><img src=\"firstimage\" width=\"1\"><img src=\"secondimage\">")));
44      NewsletterInterface newsletter = (NewsletterInterface)newsletterControl.proxy();
45  
46      ImageParser parser = new HtmlImageParser(newsletter);
47      assertEquals("<h1>hello</h1><img src=\"cid:image0\" width=\"1\" ><img src=\"cid:image1\" >", parser.getText());
48      newsletterControl.verify();
49    }
50    
51    public void testSettingSmtpServer() {
52      MailFascade unit = new MailFascade("smtp server");
53      assertEquals("smtp server", unit.getProperty("mail.smtp.host"));
54    }
55  
56  }