mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-11-07 11:32:16 +00:00
also add mail replication test that tests outside of SecurityService context
This commit is contained in:
1 parent
42e1411bb6
commit
1d99e6ba75
4 files changed
+52
-18
No files matched your search
@@ -6,6 +6,8 @@ Bundle-Version: 1.0.0.qualifier
|
||||
Bundle-Vendor: SAP
|
||||
Fragment-Host: com.sap.sse.mail
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
|
||||
Require-Bundle: org.junit4;bundle-version="4.8.2",
|
||||
Require-Bundle: org.hamcrest;bundle-version="1.1.0",
|
||||
org.junit4;bundle-version="4.8.2",
|
||||
com.rabbitmq.client,
|
||||
com.sap.sse.replication.testsupport
|
||||
com.sap.sse.replication.testsupport,
|
||||
com.sap.sse.mail.replication.testsupport
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package com.sap.sse.mail.replication.test;
|
||||
|
||||
import static org.hamcrest.MatcherAssert.assertThat;
|
||||
import static org.hamcrest.Matchers.equalTo;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import com.sap.sse.common.mail.MailException;
|
||||
import com.sap.sse.mail.MailService;
|
||||
import com.sap.sse.mail.replication.testsupport.AbstractMailServiceReplicationTest;
|
||||
|
||||
public class SimpleMailServiceReplicationTest extends AbstractMailServiceReplicationTest {
|
||||
@Test
|
||||
public void testReplicationOfSendMail() throws InterruptedException,
|
||||
IllegalAccessException, MailException {
|
||||
MailService master = testSetUp.getMaster();
|
||||
MailService replica = testSetUp.getReplica();
|
||||
master.sendMail("test@ing.me", "oh what a beatiful mail", "to be sent on this day");
|
||||
|
||||
testSetUp.getReplicaReplicator().waitUntilQueueIsEmpty();
|
||||
Thread.sleep(3000);
|
||||
|
||||
assertThat("mail was not sent on replica",
|
||||
AbstractMailServiceReplicationTest.numberOfMailsSent.get(replica), equalTo(null));
|
||||
assertThat("mail was sent on master",
|
||||
AbstractMailServiceReplicationTest.numberOfMailsSent.get(master), equalTo(1));
|
||||
}
|
||||
}
|
||||
+3
-3
@@ -11,15 +11,15 @@ import com.sap.sse.mail.impl.MailServiceImpl;
|
||||
import com.sap.sse.replication.testsupport.AbstractServerReplicationTestSetUp;
|
||||
import com.sap.sse.replication.testsupport.AbstractServerWithSingleServiceReplicationTest;
|
||||
|
||||
public class AbstractMailReplicationTest extends AbstractServerWithSingleServiceReplicationTest<MailService, MailServiceImpl> {
|
||||
public AbstractMailReplicationTest() {
|
||||
public class AbstractMailServiceReplicationTest extends AbstractServerWithSingleServiceReplicationTest<MailService, MailServiceImpl> {
|
||||
public AbstractMailServiceReplicationTest() {
|
||||
super(new MailServerReplicationTestSetUp());
|
||||
}
|
||||
|
||||
public static final Map<MailServiceImpl, Integer> numberOfMailsSent = new HashMap<>();
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
public void clearNumberOfMailsSent() {
|
||||
numberOfMailsSent.clear();
|
||||
}
|
||||
|
||||
+17
-13
@@ -16,7 +16,7 @@ import org.osgi.util.tracker.ServiceTracker;
|
||||
import com.sap.sse.common.mail.MailException;
|
||||
import com.sap.sse.mail.MailService;
|
||||
import com.sap.sse.mail.impl.MailServiceImpl;
|
||||
import com.sap.sse.mail.replication.testsupport.AbstractMailReplicationTest;
|
||||
import com.sap.sse.mail.replication.testsupport.AbstractMailServiceReplicationTest;
|
||||
import com.sap.sse.replication.testsupport.AbstractServerWithMultipleServicesReplicationTest;
|
||||
import com.sap.sse.security.SecurityService;
|
||||
import com.sap.sse.security.impl.SecurityServiceImpl;
|
||||
@@ -29,21 +29,22 @@ import com.sap.sse.security.userstore.mongodb.UserStoreImpl;
|
||||
* @author Fredrik Teschke
|
||||
*/
|
||||
public class SecurityReplicationLeadingToEmailReplicationTest extends AbstractServerWithMultipleServicesReplicationTest {
|
||||
private static final SecurityServerReplicationTestSetUp securitySetUp = new SecurityServerReplicationTestSetUp();
|
||||
private static final MailServerReplicationTestSetUp mailSetUp = new MailServerReplicationTestSetUp();
|
||||
private final SecurityServerReplicationTestSetUp securitySetUp = new SecurityServerReplicationTestSetUp();
|
||||
private final MailServerReplicationTestSetUp mailSetUp = new MailServerReplicationTestSetUp();
|
||||
|
||||
private static MailServiceImpl masterMailService;
|
||||
private static MailServiceImpl replicaMailService;
|
||||
private MailServiceImpl masterMailService;
|
||||
private MailServiceImpl replicaMailService;
|
||||
|
||||
@Before
|
||||
@Override
|
||||
public void setUp() throws Exception {
|
||||
masterMailService = AbstractMailReplicationTest.createMailCountingService(true);
|
||||
replicaMailService = AbstractMailReplicationTest.createMailCountingService(false);
|
||||
masterMailService = AbstractMailServiceReplicationTest.createMailCountingService(true);
|
||||
replicaMailService = AbstractMailServiceReplicationTest.createMailCountingService(false);
|
||||
AbstractMailServiceReplicationTest.numberOfMailsSent.clear();
|
||||
super.setUp();
|
||||
}
|
||||
|
||||
private static class SecurityServerReplicationTestSetUp extends
|
||||
private class SecurityServerReplicationTestSetUp extends
|
||||
AbstractSecurityReplicationTest.SecurityServerReplicationTestSetUp {
|
||||
@Override
|
||||
protected SecurityServiceImpl createNewMaster() throws MalformedURLException, IOException, InterruptedException {
|
||||
@@ -65,7 +66,7 @@ public class SecurityReplicationLeadingToEmailReplicationTest extends AbstractSe
|
||||
}
|
||||
}
|
||||
|
||||
private static class MailServerReplicationTestSetUp extends AbstractMailReplicationTest.MailServerReplicationTestSetUp {
|
||||
private class MailServerReplicationTestSetUp extends AbstractMailServiceReplicationTest.MailServerReplicationTestSetUp {
|
||||
private static final int SERVLET_PORT = 9991;
|
||||
|
||||
public MailServerReplicationTestSetUp() {
|
||||
@@ -95,6 +96,9 @@ public class SecurityReplicationLeadingToEmailReplicationTest extends AbstractSe
|
||||
@Test
|
||||
public void triggerEmailSendByAddingUserOnMaster()
|
||||
throws UserManagementException, MailException, IllegalAccessException, InterruptedException {
|
||||
//TODO IllegalStateExceptions thrown, probably because the two replication services per instance share the
|
||||
//same message queue, but don't know about each other (unlike actual OSGi setup, where there is only
|
||||
//one replication service per instance that nows all Replicables)
|
||||
SecurityService masterSecurityService = securitySetUp.getMaster();
|
||||
|
||||
final String username = "Ernie";
|
||||
@@ -111,9 +115,9 @@ public class SecurityReplicationLeadingToEmailReplicationTest extends AbstractSe
|
||||
Thread.sleep(3000);
|
||||
|
||||
assertThat("mail was not sent on replica",
|
||||
AbstractMailReplicationTest.numberOfMailsSent.get(replicaMailService), equalTo(null));
|
||||
AbstractMailServiceReplicationTest.numberOfMailsSent.get(replicaMailService), equalTo(null));
|
||||
assertThat("mail was sent on master",
|
||||
AbstractMailReplicationTest.numberOfMailsSent.get(masterMailService), equalTo(1));
|
||||
AbstractMailServiceReplicationTest.numberOfMailsSent.get(masterMailService), equalTo(1));
|
||||
}
|
||||
|
||||
|
||||
@@ -141,8 +145,8 @@ public class SecurityReplicationLeadingToEmailReplicationTest extends AbstractSe
|
||||
Thread.sleep(3000);
|
||||
|
||||
assertThat("mail was not sent on replica",
|
||||
AbstractMailReplicationTest.numberOfMailsSent.get(replicaMailService), equalTo(null));
|
||||
AbstractMailServiceReplicationTest.numberOfMailsSent.get(replicaMailService), equalTo(null));
|
||||
assertThat("mail was sent on master",
|
||||
AbstractMailReplicationTest.numberOfMailsSent.get(masterMailService), equalTo(1));
|
||||
AbstractMailServiceReplicationTest.numberOfMailsSent.get(masterMailService), equalTo(1));
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user