use of org.olat.core.commons.services.notifications.SubscriptionContext in project OpenOLAT by OpenOLAT.
the class NotificationsManagerTest method testAllPublishers.
@Test
public void testAllPublishers() {
String identifier = UUID.randomUUID().toString().replace("-", "");
SubscriptionContext context = new SubscriptionContext("All", new Long(123), identifier);
PublisherData publisherData = new PublisherData("testAllPublishers", "e.g. forumdata=keyofforum", null);
Publisher publisher = notificationManager.getOrCreatePublisher(context, publisherData);
dbInstance.commitAndCloseSession();
Assert.assertNotNull(publisher);
List<Publisher> publishers = notificationManager.getAllPublisher();
Assert.assertNotNull(publishers);
Assert.assertTrue(publishers.contains(publisher));
}
use of org.olat.core.commons.services.notifications.SubscriptionContext in project OpenOLAT by OpenOLAT.
the class NotificationsManagerTest method testSubscribe.
@Test
public void testSubscribe() {
Identity id = JunitTestHelper.createAndPersistIdentityAsUser("subs-" + UUID.randomUUID().toString());
// create a publisher
String identifier = UUID.randomUUID().toString().replace("-", "");
SubscriptionContext context = new SubscriptionContext("All", new Long(123), identifier);
PublisherData publisherData = new PublisherData("testAllPublishers", "e.g. forumdata=keyofforum", null);
Publisher publisher = notificationManager.getOrCreatePublisher(context, publisherData);
dbInstance.commitAndCloseSession();
Assert.assertNotNull(publisher);
// subscribe
notificationManager.subscribe(id, context, publisherData);
dbInstance.commitAndCloseSession();
// check
boolean subscribed = notificationManager.isSubscribed(id, context);
Assert.assertTrue(subscribed);
dbInstance.commitAndCloseSession();
// double check
Subscriber subscriber = notificationManager.getSubscriber(id, publisher);
Assert.assertNotNull(subscriber);
Assert.assertEquals(publisher, subscriber.getPublisher());
dbInstance.commitAndCloseSession();
// triple check
Subscriber reloadedSubscriber = notificationManager.getSubscriber(subscriber.getKey());
Assert.assertNotNull(reloadedSubscriber);
Assert.assertEquals(subscriber, reloadedSubscriber);
}
use of org.olat.core.commons.services.notifications.SubscriptionContext in project OpenOLAT by OpenOLAT.
the class NotificationsManagerTest method testMarkSubscriberRead.
@Test
public void testMarkSubscriberRead() {
Identity id = JunitTestHelper.createAndPersistIdentityAsUser("subs-" + UUID.randomUUID().toString());
// create a publisher
String identifier = UUID.randomUUID().toString().replace("-", "");
SubscriptionContext context = new SubscriptionContext("All", new Long(123), identifier);
PublisherData publisherData = new PublisherData("testAllPublishers", "e.g. forumdata=keyofforum", null);
Publisher publisher = notificationManager.getOrCreatePublisher(context, publisherData);
dbInstance.commit();
Assert.assertNotNull(publisher);
// subscribe
notificationManager.subscribe(id, context, publisherData);
dbInstance.commit();
// load the subscriber
Subscriber subscriber = notificationManager.getSubscriber(id, publisher);
Assert.assertNotNull(subscriber);
dbInstance.commitAndCloseSession();
sleep(2000);
notificationManager.markSubscriberRead(id, context);
// check the last modification date
Subscriber reloadedSubscriber = notificationManager.getSubscriber(subscriber.getKey());
Assert.assertNotNull(reloadedSubscriber);
Assert.assertEquals(subscriber, reloadedSubscriber);
Assert.assertTrue(subscriber.getLastModified().before(reloadedSubscriber.getLastModified()));
}
use of org.olat.core.commons.services.notifications.SubscriptionContext in project OpenOLAT by OpenOLAT.
the class NotificationsManagerTest method testGetSubscriberIdentities.
@Test
public void testGetSubscriberIdentities() {
Identity id1 = JunitTestHelper.createAndPersistIdentityAsUser("valid1b-" + UUID.randomUUID().toString());
Identity id2 = JunitTestHelper.createAndPersistIdentityAsUser("valid1b-" + UUID.randomUUID().toString());
// create a publisher
String identifier = UUID.randomUUID().toString().replace("-", "");
SubscriptionContext context = new SubscriptionContext("Subscribers", new Long(123), identifier);
PublisherData publisherData = new PublisherData("testGetSubscriberIdentities", "e.g. forumdata=keyofforum", null);
Publisher publisher = notificationManager.getOrCreatePublisher(context, publisherData);
dbInstance.commitAndCloseSession();
// add subscribers
notificationManager.subscribe(id1, context, publisherData);
notificationManager.subscribe(id2, context, publisherData);
dbInstance.commitAndCloseSession();
// get identities
List<Identity> identities = notificationManager.getSubscriberIdentities(publisher);
Assert.assertNotNull(identities);
Assert.assertEquals(2, identities.size());
Assert.assertTrue(identities.contains(id1));
Assert.assertTrue(identities.contains(id2));
}
use of org.olat.core.commons.services.notifications.SubscriptionContext in project OpenOLAT by OpenOLAT.
the class NotificationsManagerTest method testCreateUpdatePublisher.
@Test
public void testCreateUpdatePublisher() {
String identifier = UUID.randomUUID().toString().replace("-", "");
SubscriptionContext context = new SubscriptionContext("PS2", new Long(124), identifier);
PublisherData publisherData = new PublisherData("testPublisherSubscriber", "e.g. forumdata=keyofforum", null);
Publisher publisher = notificationManager.getOrCreatePublisher(context, publisherData);
dbInstance.commitAndCloseSession();
// check values
Assert.assertNotNull(publisher);
Assert.assertNotNull(publisher.getKey());
Assert.assertNotNull(publisher.getCreationDate());
Assert.assertNotNull(publisher.getLatestNewsDate());
Assert.assertEquals("PS2", publisher.getResName());
Assert.assertEquals(new Long(124), publisher.getResId());
sleep(2000);
// update the publisher
notificationManager.markPublisherNews(context, null, false);
// check if exists and last news date is updated
Publisher reloadedPublisher = notificationManager.getPublisher(context);
Assert.assertNotNull(reloadedPublisher);
Assert.assertEquals(publisher, reloadedPublisher);
Assert.assertTrue(publisher.getLatestNewsDate().before(reloadedPublisher.getLatestNewsDate()));
}
Aggregations