1+ package org .simplejavamail .converter .internal .mimemessage ;
2+
3+ import org .junit .Test ;
4+ import org .simplejavamail .converter .internal .mimemessage .MimeMessageParser .ParsedMimeMessageComponents ;
5+
6+ import javax .mail .util .ByteArrayDataSource ;
7+ import java .io .IOException ;
8+
9+ import static org .assertj .core .api .Assertions .assertThat ;
10+ import static org .simplejavamail .converter .internal .mimemessage .MimeMessageParser .moveInvalidEmbeddedResourcesToAttachments ;
11+
12+ public class MimeMessageParserTest {
13+ @ Test
14+ public void testMoveInvalidEmbeddedResourcesToAttachments_NoHtmlNoInvalid () throws IOException {
15+ ParsedMimeMessageComponents parsedComponents = new ParsedMimeMessageComponents ();
16+ parsedComponents .cidMap .put ("moo1" , new ByteArrayDataSource ("moomoo" , "text/plain" ));
17+ parsedComponents .cidMap .put ("moo2" , new ByteArrayDataSource ("moomoo" , "text/plain" ));
18+ moveInvalidEmbeddedResourcesToAttachments (parsedComponents );
19+
20+ assertThat (parsedComponents .cidMap ).isEmpty ();
21+ assertThat (parsedComponents .attachmentList ).containsOnlyKeys ("moo1" ,"moo2" );
22+ }
23+ @ Test
24+ public void testMoveInvalidEmbeddedResourcesToAttachments_HtmlButNoInvalid () throws IOException {
25+ ParsedMimeMessageComponents parsedComponents = new ParsedMimeMessageComponents ();
26+ parsedComponents .htmlContent = "blah moo1 blah html" ;
27+ parsedComponents .cidMap .put ("moo1" , new ByteArrayDataSource ("moomoo" , "text/plain" ));
28+ parsedComponents .cidMap .put ("moo2" , new ByteArrayDataSource ("moomoo" , "text/plain" ));
29+ moveInvalidEmbeddedResourcesToAttachments (parsedComponents );
30+
31+ assertThat (parsedComponents .cidMap ).isEmpty ();
32+ assertThat (parsedComponents .attachmentList ).containsOnlyKeys ("moo1" ,"moo2" );
33+ }
34+
35+ @ Test
36+ public void testMoveInvalidEmbeddedResourcesToAttachments_Invalid () throws IOException {
37+ ParsedMimeMessageComponents parsedComponents = new ParsedMimeMessageComponents ();
38+ parsedComponents .htmlContent = "blah cid:moo1 blah html" ;
39+ parsedComponents .cidMap .put ("moo1" , new ByteArrayDataSource ("moomoo" , "text/plain" ));
40+ parsedComponents .cidMap .put ("moo2" , new ByteArrayDataSource ("moomoo" , "text/plain" ));
41+ moveInvalidEmbeddedResourcesToAttachments (parsedComponents );
42+
43+ assertThat (parsedComponents .cidMap ).containsOnlyKeys ("moo1" );
44+ assertThat (parsedComponents .attachmentList ).containsOnlyKeys ("moo2" );
45+ }
46+ }
0 commit comments