Skip to content

Commit 43ab6c0

Browse files
committed
Renamed test classes and moved SMIME tests into their own test class
1 parent fbfa23a commit 43ab6c0

File tree

4 files changed

+107
-78
lines changed

4 files changed

+107
-78
lines changed

modules/simple-java-mail/src/test/java/org/simplejavamail/email/internal/EmailPopulatingBuilderImpl1Test.java

Lines changed: 0 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@
44
import jakarta.mail.Message;
55
import jakarta.mail.internet.InternetAddress;
66
import jakarta.mail.util.ByteArrayDataSource;
7-
import org.bouncycastle.jce.provider.BouncyCastleProvider;
8-
import org.bouncycastle.operator.OperatorCreationException;
97
import org.jetbrains.annotations.Nullable;
108
import org.junit.Before;
119
import org.junit.Test;
@@ -15,7 +13,6 @@
1513
import org.simplejavamail.api.email.EmailPopulatingBuilder;
1614
import org.simplejavamail.api.email.Recipient;
1715
import org.simplejavamail.email.EmailBuilder;
18-
import org.simplejavamail.internal.util.CertificationUtil;
1916
import testutil.ConfigLoaderTestHelper;
2017
import testutil.EmailHelper;
2118

@@ -27,7 +24,6 @@
2724
import java.io.UnsupportedEncodingException;
2825
import java.net.HttpURLConnection;
2926
import java.net.URL;
30-
import java.security.Security;
3127
import java.security.cert.X509Certificate;
3228
import java.util.ArrayList;
3329
import java.util.Arrays;
@@ -45,13 +41,10 @@
4541
import static org.assertj.core.api.Assumptions.assumeThat;
4642
import static org.mockito.Mockito.mock;
4743
import static org.simplejavamail.util.TestDataHelper.getUrl;
48-
import static org.simplejavamail.util.TestDataHelper.loadPkcs12KeyStore;
49-
import static testutil.CertificationUtil.extractSignedBy;
5044

5145
public class EmailPopulatingBuilderImpl1Test {
5246

5347
private static final String RESOURCES_PATH = determineResourceFolder("simple-java-mail") + "/test/resources";
54-
private static final String RESOURCES_PKCS = RESOURCES_PATH + "/pkcs12";
5548

5649
private EmailPopulatingBuilder builder;
5750

@@ -742,56 +735,6 @@ public void testAddRecipients_Complex_Quicktest() {
742735
// OK, InternetAddress#parse() didn't error out on these addresses
743736
}
744737

745-
@Test
746-
public void testSignWithSmime_WithConfigObject() {
747-
builder.signWithSmime(loadPkcs12KeyStore());
748-
749-
final Email email = builder.buildEmail();
750-
751-
assertThat(email.getPkcs12ConfigForSmimeSigning()).isNotNull();
752-
assertThat(email.getPkcs12ConfigForSmimeSigning().getPkcs12StoreData()).isNotNull();
753-
assertThat(email.getPkcs12ConfigForSmimeSigning().getStorePassword()).isEqualTo("letmein".toCharArray());
754-
assertThat(email.getPkcs12ConfigForSmimeSigning().getKeyAlias()).isEqualTo("smime_test_user_alias");
755-
assertThat(email.getPkcs12ConfigForSmimeSigning().getKeyPassword()).isEqualTo("letmein".toCharArray());
756-
}
757-
758-
@Test
759-
public void testSignWithSmime_WithConfigParameters() {
760-
builder.signWithSmime(new File(RESOURCES_PKCS + "/smime_keystore.pkcs12"), "letmein", "smime_test_user_alias", "letmein");
761-
762-
final Email email = builder.buildEmail();
763-
764-
assertThat(email.getPkcs12ConfigForSmimeSigning()).isNotNull();
765-
assertThat(email.getPkcs12ConfigForSmimeSigning().getPkcs12StoreData()).isNotNull();
766-
assertThat(email.getPkcs12ConfigForSmimeSigning().getStorePassword()).isEqualTo("letmein".toCharArray());
767-
assertThat(email.getPkcs12ConfigForSmimeSigning().getKeyAlias()).isEqualTo("smime_test_user_alias");
768-
assertThat(email.getPkcs12ConfigForSmimeSigning().getKeyPassword()).isEqualTo("letmein".toCharArray());
769-
}
770-
771-
@Test
772-
public void testEncryptWithSmime_FromFile() throws Exception {
773-
Security.addProvider(new BouncyCastleProvider());
774-
775-
builder.encryptWithSmime(new File(RESOURCES_PKCS + "/smime_test_user.pem.standard.crt"));
776-
777-
final X509Certificate certificateOut = builder.buildEmail().getX509CertificateForSmimeEncryption();
778-
779-
assertThat(certificateOut).isNotNull();
780-
assertSignedBy(certificateOut, "Benny Bottema");
781-
}
782-
783-
@Test
784-
public void testEncryptWithSmime_FromFilePath() throws Exception {
785-
Security.addProvider(new BouncyCastleProvider());
786-
787-
builder.encryptWithSmime(RESOURCES_PKCS + "/smime_test_user.pem.standard.crt");
788-
789-
final X509Certificate certificateOut = builder.buildEmail().getX509CertificateForSmimeEncryption();
790-
791-
assertThat(certificateOut).isNotNull();
792-
assertSignedBy(certificateOut, "Benny Bottema");
793-
}
794-
795738
@Test
796739
public void testWithEmbeddedImages() throws IOException {
797740
List<AttachmentResource> embeddedImages = new ArrayList<>();
@@ -1361,25 +1304,6 @@ public void testClearingValuesAlternativeFlows() throws IOException {
13611304
assertThat(emailCleared.getDkimSigningDomain()).isNull();
13621305
}
13631306

1364-
@Test
1365-
public void testEncryptWithSmime_FromCertificate() throws Exception {
1366-
Security.addProvider(new BouncyCastleProvider());
1367-
1368-
X509Certificate certificateIn = CertificationUtil.readFromPem(new File(RESOURCES_PKCS + "/smime_test_user.pem.standard.crt"));
1369-
1370-
builder.encryptWithSmime(certificateIn);
1371-
1372-
final X509Certificate certificateOut = builder.buildEmail().getX509CertificateForSmimeEncryption();
1373-
1374-
assertThat(certificateOut).isNotNull();
1375-
assertSignedBy(certificateOut, "Benny Bottema");
1376-
}
1377-
1378-
private void assertSignedBy(X509Certificate certificate, @SuppressWarnings("SameParameterValue") final String expectedSignedBy)
1379-
throws OperatorCreationException {
1380-
assertThat(extractSignedBy(certificate)).isEqualTo(expectedSignedBy);
1381-
}
1382-
13831307
private Recipient createRecipient(final @Nullable String name, final String emailAddress, final Message.RecipientType recipientType) {
13841308
return new Recipient(name, emailAddress, recipientType);
13851309
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
import static org.simplejavamail.internal.util.MiscUtil.normalizeNewlines;
2626
import static org.simplejavamail.internal.util.Preconditions.verifyNonnullOrEmpty;
2727

28-
public class TestSmimeAttachments {
28+
public class ReadSmimeAttachmentsTest {
2929

3030
private static final String RESOURCE_FOLDER = determineResourceFolder("simple-java-mail") + "/test/resources/test-messages";
3131

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
import static org.simplejavamail.internal.util.MiscUtil.normalizeNewlines;
2323
import static org.simplejavamail.util.TestDataHelper.loadPkcs12KeyStore;
2424

25-
public class TestSmimeSelfSigned {
25+
public class ReadSmimeSelfSignedTest {
2626

2727
private static final String RESOURCES = determineResourceFolder("simple-java-mail") + "/test/resources";
2828
private static final String RESOURCES_PKCS = RESOURCES + "/pkcs12";
Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
package org.simplejavamail.internal.smimesupport;
2+
3+
import org.bouncycastle.jce.provider.BouncyCastleProvider;
4+
import org.bouncycastle.operator.OperatorCreationException;
5+
import org.junit.Before;
6+
import org.junit.Test;
7+
import org.simplejavamail.api.email.Email;
8+
import org.simplejavamail.api.email.EmailPopulatingBuilder;
9+
import org.simplejavamail.email.EmailBuilder;
10+
import org.simplejavamail.internal.util.CertificationUtil;
11+
import testutil.ConfigLoaderTestHelper;
12+
13+
import java.io.File;
14+
import java.security.Security;
15+
import java.security.cert.X509Certificate;
16+
17+
import static demo.ResourceFolderHelper.determineResourceFolder;
18+
import static org.assertj.core.api.Assertions.assertThat;
19+
import static org.simplejavamail.util.TestDataHelper.loadPkcs12KeyStore;
20+
import static testutil.CertificationUtil.extractSignedBy;
21+
22+
public class SmimeSignAndEncryptTest {
23+
24+
private static final String RESOURCES_PATH = determineResourceFolder("simple-java-mail") + "/test/resources";
25+
private static final String RESOURCES_PKCS = RESOURCES_PATH + "/pkcs12";
26+
27+
private EmailPopulatingBuilder builder;
28+
29+
@Before
30+
public void setup() {
31+
ConfigLoaderTestHelper.clearConfigProperties();
32+
builder = EmailBuilder.startingBlank();
33+
}
34+
35+
36+
37+
@Test
38+
public void testSignWithSmime_WithConfigObject() {
39+
builder.signWithSmime(loadPkcs12KeyStore());
40+
41+
final Email email = builder.buildEmail();
42+
43+
assertThat(email.getPkcs12ConfigForSmimeSigning()).isNotNull();
44+
assertThat(email.getPkcs12ConfigForSmimeSigning().getPkcs12StoreData()).isNotNull();
45+
assertThat(email.getPkcs12ConfigForSmimeSigning().getStorePassword()).isEqualTo("letmein".toCharArray());
46+
assertThat(email.getPkcs12ConfigForSmimeSigning().getKeyAlias()).isEqualTo("smime_test_user_alias");
47+
assertThat(email.getPkcs12ConfigForSmimeSigning().getKeyPassword()).isEqualTo("letmein".toCharArray());
48+
}
49+
50+
@Test
51+
public void testSignWithSmime_WithConfigParameters() {
52+
builder.signWithSmime(new File(RESOURCES_PKCS + "/smime_keystore.pkcs12"), "letmein", "smime_test_user_alias", "letmein");
53+
54+
final Email email = builder.buildEmail();
55+
56+
assertThat(email.getPkcs12ConfigForSmimeSigning()).isNotNull();
57+
assertThat(email.getPkcs12ConfigForSmimeSigning().getPkcs12StoreData()).isNotNull();
58+
assertThat(email.getPkcs12ConfigForSmimeSigning().getStorePassword()).isEqualTo("letmein".toCharArray());
59+
assertThat(email.getPkcs12ConfigForSmimeSigning().getKeyAlias()).isEqualTo("smime_test_user_alias");
60+
assertThat(email.getPkcs12ConfigForSmimeSigning().getKeyPassword()).isEqualTo("letmein".toCharArray());
61+
}
62+
63+
@Test
64+
public void testEncryptWithSmime_FromFile() throws Exception {
65+
Security.addProvider(new BouncyCastleProvider());
66+
67+
builder.encryptWithSmime(new File(RESOURCES_PKCS + "/smime_test_user.pem.standard.crt"));
68+
69+
final X509Certificate certificateOut = builder.buildEmail().getX509CertificateForSmimeEncryption();
70+
71+
assertThat(certificateOut).isNotNull();
72+
assertSignedBy(certificateOut, "Benny Bottema");
73+
}
74+
75+
@Test
76+
public void testEncryptWithSmime_FromFilePath() throws Exception {
77+
Security.addProvider(new BouncyCastleProvider());
78+
79+
builder.encryptWithSmime(RESOURCES_PKCS + "/smime_test_user.pem.standard.crt");
80+
81+
final X509Certificate certificateOut = builder.buildEmail().getX509CertificateForSmimeEncryption();
82+
83+
assertThat(certificateOut).isNotNull();
84+
assertSignedBy(certificateOut, "Benny Bottema");
85+
}
86+
87+
@Test
88+
public void testEncryptWithSmime_FromCertificate() throws Exception {
89+
Security.addProvider(new BouncyCastleProvider());
90+
91+
X509Certificate certificateIn = CertificationUtil.readFromPem(new File(RESOURCES_PKCS + "/smime_test_user.pem.standard.crt"));
92+
93+
builder.encryptWithSmime(certificateIn);
94+
95+
final X509Certificate certificateOut = builder.buildEmail().getX509CertificateForSmimeEncryption();
96+
97+
assertThat(certificateOut).isNotNull();
98+
assertSignedBy(certificateOut, "Benny Bottema");
99+
}
100+
101+
private static void assertSignedBy(X509Certificate certificate, @SuppressWarnings("SameParameterValue") final String expectedSignedBy)
102+
throws OperatorCreationException {
103+
assertThat(extractSignedBy(certificate)).isEqualTo(expectedSignedBy);
104+
}
105+
}

0 commit comments

Comments
 (0)