mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
Merged HEAD-BUG-FIX (4.3/Cloud) to HEAD (4.3/Cloud)
57072: Merged V4.2-BUG-FIX (4.2.1) to HEAD-BUG-FIX (Cloud/4.3) 56559: Merged V4.1-BUG-FIX (4.1.7) to V4.2-BUG-FIX (4.2.1) 56110: MNT-9104 : If username contains uppercase letters the action of joining a site will not be displayed in "My activities" Rename test SiteActivityTest to AbstractSiteActivityTest and FeedCleanerTest to AbstractFeedCleanerTest. Add case sensitivity tests SiteActivityTestCaseInsensitivity, SiteActivityTestCaseSensitivity, FeedCleanerTestCaseInsensitivity, FeedCleanerTestCaseSensitivity. Was implemented code, the activities dependent of 'user.name.caseSensitive' property. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@61703 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -34,6 +34,7 @@
|
||||
<property name="policyComponent" ref="policyComponent"/>
|
||||
<property name="transactionService" ref="transactionService"/>
|
||||
|
||||
<property name="userNamesAreCaseSensitive" value="${user.name.caseSensitive}"/>
|
||||
<property name="maxIdRange">
|
||||
<value>${activities.feed.max.idRange}</value> <!-- max ID range between max(id) and min(id). Limits absolute number of entries. -->
|
||||
</property>
|
||||
@@ -100,6 +101,8 @@
|
||||
<property name="subscriptionService" ref="SubscriptionService"/>
|
||||
<property name="tenantService" ref="tenantService"/>
|
||||
|
||||
<property name="userNamesAreCaseSensitive" value="${user.name.caseSensitive}"/>
|
||||
|
||||
<property name="templateSearchPaths">
|
||||
<list>
|
||||
<value>alfresco/extension/templates/activities</value>
|
||||
|
@@ -233,6 +233,11 @@ public class ActivityPostServiceImpl implements ActivityPostService
|
||||
{
|
||||
Date postDate = new Date();
|
||||
ActivityPostEntity activityPost = new ActivityPostEntity();
|
||||
//MNT-9104 If username contains uppercase letters the action of joining a site will not be displayed in "My activities"
|
||||
if (! userNamesAreCaseSensitive)
|
||||
{
|
||||
userId = userId.toLowerCase();
|
||||
}
|
||||
activityPost.setUserId(userId);
|
||||
|
||||
activityPost.setSiteNetwork(tenantService.getName(siteId));
|
||||
|
@@ -624,6 +624,11 @@ public class ActivityServiceImpl implements ActivityService, InitializingBean
|
||||
{
|
||||
logger.debug("Inserting feed control for siteId: " + feedControl.getSiteId() + ",\n appToolId : " + feedControl.getAppToolId() + ",\n for user : " + userId);
|
||||
}
|
||||
//MNT-9104 If username contains uppercase letters the action of joining a site will not be displayed in "My activities"
|
||||
if (! userNamesAreCaseSensitive)
|
||||
{
|
||||
userId = userId.toLowerCase();
|
||||
}
|
||||
feedControlDAO.insertFeedControl(new FeedControlEntity(userId, feedControl));
|
||||
}
|
||||
}
|
||||
@@ -673,6 +678,11 @@ public class ActivityServiceImpl implements ActivityService, InitializingBean
|
||||
{
|
||||
ParameterCheck.mandatoryString("userId", userId);
|
||||
|
||||
if (!userNamesAreCaseSensitive)
|
||||
{
|
||||
userId = userId.toLowerCase();
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
List<FeedControlEntity> feedControlDaos = feedControlDAO.selectFeedControls(userId);
|
||||
@@ -721,6 +731,12 @@ public class ActivityServiceImpl implements ActivityService, InitializingBean
|
||||
{
|
||||
logger.debug("Deleting feed control for siteId: " + feedControl.getSiteId() + ",\n appToolId : " + feedControl.getAppToolId() + ",\n for user : " + userId);
|
||||
}
|
||||
// MNT-9104 If username contains uppercase letters the action of joining a site will not be displayed in "My activities"
|
||||
if (!userNamesAreCaseSensitive)
|
||||
{
|
||||
userId = userId.toLowerCase();
|
||||
}
|
||||
|
||||
feedControlDAO.deleteFeedControl(new FeedControlEntity(userId, feedControl));
|
||||
}
|
||||
catch (SQLException e)
|
||||
@@ -746,6 +762,12 @@ public class ActivityServiceImpl implements ActivityService, InitializingBean
|
||||
{
|
||||
logger.debug("Selecting feed control for siteId: " + feedControl.getSiteId() + ",\n appToolId : " + feedControl.getAppToolId() + ",\n for user : " + userId);
|
||||
}
|
||||
// MNT-9104 If username contains uppercase letters the action of joining a site will not be displayed in "My activities"
|
||||
if (!userNamesAreCaseSensitive)
|
||||
{
|
||||
userId = userId.toLowerCase();
|
||||
}
|
||||
|
||||
long id = feedControlDAO.selectFeedControl(new FeedControlEntity(userId, feedControl));
|
||||
boolean exists = (id != -1);
|
||||
if (logger.isDebugEnabled())
|
||||
|
@@ -81,6 +81,13 @@ public abstract class FeedTaskProcessor
|
||||
private static final String URL_SERVICE_TEMPLATES = "/api/activities/templates";
|
||||
private static final String URL_SERVICE_TEMPLATE = "/api/activities/template";
|
||||
|
||||
private boolean userNamesAreCaseSensitive = false;
|
||||
|
||||
public void setUserNamesAreCaseSensitive(boolean userNamesAreCaseSensitive)
|
||||
{
|
||||
this.userNamesAreCaseSensitive = userNamesAreCaseSensitive;
|
||||
}
|
||||
|
||||
public void process(int jobTaskNode, long minSeq, long maxSeq, RepoCtx ctx) throws Exception
|
||||
{
|
||||
long startTime = System.currentTimeMillis();
|
||||
@@ -245,6 +252,12 @@ public abstract class FeedTaskProcessor
|
||||
ActivityFeedEntity feed = new ActivityFeedEntity();
|
||||
|
||||
// Generate activity feed summary
|
||||
//MNT-9104 If username contains uppercase letters the action of joining a site will not be displayed in "My activities"
|
||||
if (! userNamesAreCaseSensitive)
|
||||
{
|
||||
recipient = recipient.toLowerCase();
|
||||
postingUserId = postingUserId.toLowerCase();
|
||||
}
|
||||
feed.setFeedUserId(recipient);
|
||||
feed.setPostUserId(postingUserId);
|
||||
feed.setActivityType(activityType);
|
||||
@@ -618,6 +631,12 @@ public abstract class FeedTaskProcessor
|
||||
|
||||
protected List<FeedControlEntity> getFeedControls(String connectedUser) throws SQLException
|
||||
{
|
||||
//MNT-9104 If username contains uppercase letters the action of joining a site will not be displayed in "My activities"
|
||||
if (! userNamesAreCaseSensitive)
|
||||
{
|
||||
connectedUser = connectedUser.toLowerCase();
|
||||
}
|
||||
|
||||
return selectUserFeedControls(connectedUser);
|
||||
}
|
||||
|
||||
|
@@ -68,6 +68,7 @@ public class FeedCleaner implements NodeServicePolicies.BeforeDeleteNodePolicy
|
||||
private int maxIdRange = 1000000;
|
||||
private int maxAgeMins = 0;
|
||||
private int maxFeedSize = 100;
|
||||
private boolean userNamesAreCaseSensitive = false;
|
||||
|
||||
private ActivityFeedDAO feedDAO;
|
||||
|
||||
@@ -80,6 +81,10 @@ public class FeedCleaner implements NodeServicePolicies.BeforeDeleteNodePolicy
|
||||
private FeedCleanerDeleteSiteTransactionListener deleteSiteTransactionListener;
|
||||
private FeedCleanerDeletePersonTransactionListener deletePersonTransactionListener;
|
||||
|
||||
public void setUserNamesAreCaseSensitive(boolean userNamesAreCaseSensitive)
|
||||
{
|
||||
this.userNamesAreCaseSensitive = userNamesAreCaseSensitive;
|
||||
}
|
||||
|
||||
public void setFeedDAO(ActivityFeedDAO feedDAO)
|
||||
{
|
||||
@@ -430,7 +435,11 @@ public class FeedCleaner implements NodeServicePolicies.BeforeDeleteNodePolicy
|
||||
public void beforeDeleteNodePerson(NodeRef personNodeRef)
|
||||
{
|
||||
String userId = (String)nodeService.getProperty(personNodeRef, ContentModel.PROP_USERNAME);
|
||||
|
||||
//MNT-9104 If username contains uppercase letters the action of joining a site will not be displayed in "My activities"
|
||||
if (! userNamesAreCaseSensitive)
|
||||
{
|
||||
userId = userId.toLowerCase();
|
||||
}
|
||||
Set<String> deletedUserIds = (Set<String>)AlfrescoTransactionSupport.getResource(KEY_DELETED_USER_IDS);
|
||||
if (deletedUserIds == null)
|
||||
{
|
||||
@@ -503,8 +512,19 @@ public class FeedCleaner implements NodeServicePolicies.BeforeDeleteNodePolicy
|
||||
Set<String> deletedUserIds = TransactionalResourceHelper.getSet(KEY_DELETED_USER_IDS);
|
||||
if (deletedUserIds != null)
|
||||
{
|
||||
for (final String userId : deletedUserIds)
|
||||
for (String user : deletedUserIds)
|
||||
{
|
||||
//MNT-9104 If username contains uppercase letters the action of joining a site will not be displayed in "My activities"
|
||||
final String userId;
|
||||
if (! userNamesAreCaseSensitive)
|
||||
{
|
||||
userId = user.toLowerCase();
|
||||
}
|
||||
else
|
||||
{
|
||||
userId = user;
|
||||
}
|
||||
|
||||
transactionService.getRetryingTransactionHelper().doInTransaction(new RetryingTransactionHelper.RetryingTransactionCallback<Void>()
|
||||
{
|
||||
public Void execute() throws Throwable
|
||||
|
@@ -18,11 +18,11 @@
|
||||
*/
|
||||
package org.alfresco.repo.activities;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.alfresco.model.ContentModel;
|
||||
import org.alfresco.repo.activities.feed.FeedGenerator;
|
||||
import org.alfresco.repo.activities.feed.local.LocalFeedTaskProcessor;
|
||||
@@ -37,30 +37,27 @@ import org.alfresco.service.cmr.security.MutableAuthenticationService;
|
||||
import org.alfresco.service.cmr.security.PersonService;
|
||||
import org.alfresco.service.cmr.site.SiteService;
|
||||
import org.alfresco.service.cmr.site.SiteVisibility;
|
||||
import org.alfresco.util.ApplicationContextHelper;
|
||||
import org.alfresco.util.PropertyMap;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.junit.After;
|
||||
import org.junit.AfterClass;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.quartz.Scheduler;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.context.support.ClassPathXmlApplicationContext;
|
||||
|
||||
/**
|
||||
* Simple Activity Service unit test using site (membership) activities
|
||||
*
|
||||
* @author janv
|
||||
*/
|
||||
public class SiteActivityTest extends TestCase
|
||||
public abstract class AbstractSiteActivityTest
|
||||
{
|
||||
private static Log logger = LogFactory.getLog(SiteActivityTest.class);
|
||||
private static Log logger = LogFactory.getLog(AbstractSiteActivityTest.class);
|
||||
|
||||
private static final String[] CONFIG_LOCATIONS =
|
||||
{
|
||||
"classpath:alfresco/application-context.xml"
|
||||
//, "classpath:alfresco/subsystems/ActivitiesFeed/default/activities-feed-context.xml"
|
||||
};
|
||||
|
||||
private static ApplicationContext applicationContext = new ClassPathXmlApplicationContext(
|
||||
SiteActivityTest.CONFIG_LOCATIONS);
|
||||
private ApplicationContext applicationContext;
|
||||
|
||||
private SiteService siteService;
|
||||
private ActivityService activityService;
|
||||
@@ -99,14 +96,14 @@ public class SiteActivityTest extends TestCase
|
||||
private static boolean membersRemoved = false;
|
||||
private static boolean controlsCreated = false;
|
||||
|
||||
public SiteActivityTest()
|
||||
public AbstractSiteActivityTest()
|
||||
{
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void setUp() throws Exception
|
||||
@Before
|
||||
public void setUp() throws Exception
|
||||
{
|
||||
super.setUp();
|
||||
applicationContext = ApplicationContextHelper.getApplicationContext();
|
||||
String testid = ""+System.currentTimeMillis();
|
||||
|
||||
// Let's shut down the scheduler so that we aren't competing with the scheduled versions of the post lookup and
|
||||
@@ -143,10 +140,10 @@ public class SiteActivityTest extends TestCase
|
||||
site2 = "test_site2_" + testid;
|
||||
site3 = "test_site3_" + testid;
|
||||
|
||||
user1 = "test_user1_" + testid;
|
||||
user2 = "test_user2_" + testid;
|
||||
user3 = "test_user3_" + testid;
|
||||
user4 = "test_user4_" + testid;
|
||||
user1 = "Test_User1_" + testid;
|
||||
user2 = "Test_User2_" + testid;
|
||||
user3 = "Test_User3_" + testid;
|
||||
user4 = "Test_User4_" + testid;
|
||||
|
||||
|
||||
// create users
|
||||
@@ -168,8 +165,8 @@ public class SiteActivityTest extends TestCase
|
||||
createSite(site3, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void tearDown() throws Exception
|
||||
@After
|
||||
public void tearDown() throws Exception
|
||||
{
|
||||
login(ADMIN_USER, ADMIN_PW);
|
||||
|
||||
@@ -185,8 +182,6 @@ public class SiteActivityTest extends TestCase
|
||||
membersAddedUpdated = false;
|
||||
membersRemoved = false;
|
||||
controlsCreated = false;
|
||||
|
||||
super.tearDown();
|
||||
}
|
||||
|
||||
protected void createSite(String siteId, boolean isPublic) throws Exception
|
||||
@@ -205,6 +200,22 @@ public class SiteActivityTest extends TestCase
|
||||
siteService.deleteSite(siteId);
|
||||
}
|
||||
|
||||
@Test
|
||||
//MNT-9104 If username contains uppercase letters the action of joining a site will not be displayed in "My activities"
|
||||
public void testUserActivitiesOnSite() throws Exception
|
||||
{
|
||||
login(ADMIN_USER, ADMIN_PW);
|
||||
|
||||
addMembership(site1, user4, SiteModel.SITE_CONSUMER);
|
||||
|
||||
generateFeed();
|
||||
|
||||
login(user4, USER_PW);
|
||||
|
||||
getUserFeed(user4, site1, false, false, true, 1);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetSiteFeedsBefore() throws Exception
|
||||
{
|
||||
login(ADMIN_USER, ADMIN_PW);
|
||||
@@ -245,6 +256,7 @@ public class SiteActivityTest extends TestCase
|
||||
assertEquals(expectedCount, activityService.getSiteFeedEntries(siteId).size());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetUserFeedsBefore() throws Exception
|
||||
{
|
||||
// as admin
|
||||
@@ -305,6 +317,7 @@ public class SiteActivityTest extends TestCase
|
||||
assertEquals(expectedCount, activityService.getUserFeedEntries(userId, siteId, excludeThisUser, excludeOtherUsers, null, null).size());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testUserFeedControls() throws Exception
|
||||
{
|
||||
if (! controlsCreated)
|
||||
@@ -327,6 +340,7 @@ public class SiteActivityTest extends TestCase
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAddAndUpdateMemberships() throws Exception
|
||||
{
|
||||
if (! membersAddedUpdated)
|
||||
@@ -343,6 +357,7 @@ public class SiteActivityTest extends TestCase
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetSiteFeedsAfterAddAndUpdateMemberships() throws Exception
|
||||
{
|
||||
testAddAndUpdateMemberships();
|
||||
@@ -369,6 +384,8 @@ public class SiteActivityTest extends TestCase
|
||||
// ignore
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRemoveMemberships() throws Exception
|
||||
{
|
||||
if (! membersRemoved)
|
||||
@@ -420,6 +437,7 @@ public class SiteActivityTest extends TestCase
|
||||
activityService.setFeedControl(new FeedControl(siteId, appToolId));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetSiteFeedsAfterRemoveMemberships() throws Exception
|
||||
{
|
||||
testAddAndUpdateMemberships();
|
||||
@@ -458,6 +476,7 @@ public class SiteActivityTest extends TestCase
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetUserFeedsAfter() throws Exception
|
||||
{
|
||||
testUserFeedControls();
|
||||
@@ -566,4 +585,11 @@ public class SiteActivityTest extends TestCase
|
||||
postLookup.execute();
|
||||
feedGenerator.execute();
|
||||
}
|
||||
|
||||
@AfterClass
|
||||
// remove system "user.name.caseSensitive" property
|
||||
public static void afterClass()
|
||||
{
|
||||
System.clearProperty("user.name.caseSensitive");
|
||||
}
|
||||
}
|
@@ -0,0 +1,9 @@
|
||||
package org.alfresco.repo.activities;
|
||||
|
||||
public class SiteActivityTestCaseInsensitivity extends AbstractSiteActivityTest
|
||||
{
|
||||
static
|
||||
{
|
||||
System.setProperty("user.name.caseSensitive", "false");
|
||||
}
|
||||
}
|
@@ -0,0 +1,9 @@
|
||||
package org.alfresco.repo.activities;
|
||||
|
||||
public class SiteActivityTestCaseSensitivity extends AbstractSiteActivityTest
|
||||
{
|
||||
static
|
||||
{
|
||||
System.setProperty("user.name.caseSensitive", "true");
|
||||
}
|
||||
}
|
@@ -18,6 +18,8 @@
|
||||
*/
|
||||
package org.alfresco.repo.activities.feed.cleanup;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
import java.io.PrintWriter;
|
||||
import java.io.StringWriter;
|
||||
import java.util.Date;
|
||||
@@ -37,6 +39,10 @@ import org.alfresco.service.cmr.site.SiteService;
|
||||
import org.alfresco.service.cmr.site.SiteVisibility;
|
||||
import org.alfresco.util.ApplicationContextHelper;
|
||||
import org.alfresco.util.PropertyMap;
|
||||
import org.junit.After;
|
||||
import org.junit.AfterClass;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.quartz.Scheduler;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
|
||||
@@ -46,12 +52,12 @@ import org.springframework.context.ApplicationContext;
|
||||
* @author janv
|
||||
* @since 3.0
|
||||
*/
|
||||
public class FeedCleanerTest extends TestCase
|
||||
public abstract class AbstractFeedCleanerTest
|
||||
{
|
||||
private static ApplicationContext ctx = ApplicationContextHelper.getApplicationContext();
|
||||
private ApplicationContext ctx;
|
||||
|
||||
private ActivityFeedDAO feedDAO;
|
||||
private FeedCleaner cleaner;
|
||||
protected FeedCleaner cleaner;
|
||||
private SiteService siteService;
|
||||
private PersonService personService;
|
||||
protected RetryingTransactionHelper transactionHelper;
|
||||
@@ -70,12 +76,13 @@ public class FeedCleanerTest extends TestCase
|
||||
private static final String TEST_USER_B = "testUserB";
|
||||
private static final String TEST_USER_C = "testUserC";
|
||||
private static final String TEST_USER_D = "testUserD";
|
||||
private static final String TEST_USER_E = "testUserE";
|
||||
protected static final String TEST_USER_E = "testUserE";
|
||||
private static final String TEST_USER_F = "testUserF";
|
||||
|
||||
@Override
|
||||
@Before
|
||||
public void setUp() throws Exception
|
||||
{
|
||||
ctx = ApplicationContextHelper.getApplicationContext();
|
||||
JobLockService jobLockService = (JobLockService) ctx.getBean("JobLockService");
|
||||
PolicyComponent policyComponent = (PolicyComponent) ctx.getBean("policyComponent");
|
||||
NodeService nodeService = (NodeService) ctx.getBean("NodeService");
|
||||
@@ -107,6 +114,7 @@ public class FeedCleanerTest extends TestCase
|
||||
cleaner.setNodeService(nodeService);
|
||||
}
|
||||
|
||||
@After
|
||||
public void tearDown() throws Exception
|
||||
{
|
||||
AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getAdminUserName());
|
||||
@@ -130,6 +138,7 @@ public class FeedCleanerTest extends TestCase
|
||||
// NOOP
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testMaxIdRange() throws Exception
|
||||
{
|
||||
// insert site feed entries for TEST_SITE_4
|
||||
@@ -154,6 +163,8 @@ public class FeedCleanerTest extends TestCase
|
||||
// Check
|
||||
assertEquals(5, feedDAO.selectSiteFeedEntries(TEST_SITE_4, -1).size());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testMaxAge() throws Exception
|
||||
{
|
||||
cleaner.setMaxFeedSize(0);
|
||||
@@ -217,6 +228,7 @@ public class FeedCleanerTest extends TestCase
|
||||
assertEquals(1, feedDAO.selectUserFeedEntries(TEST_USER_B, null, false, false, -1L, -1).size());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testMaxSize() throws Exception
|
||||
{
|
||||
cleaner.setMaxAgeMins(0);
|
||||
@@ -310,6 +322,7 @@ public class FeedCleanerTest extends TestCase
|
||||
assertEquals(10, feedDAO.selectUserFeedEntries(TEST_USER_F, null, false, false, -1L, -1).size());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSiteDelete() throws Exception
|
||||
{
|
||||
cleaner.setMaxAgeMins(100);
|
||||
@@ -378,14 +391,28 @@ public class FeedCleanerTest extends TestCase
|
||||
}, false, true);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testPersonDelete() throws Exception
|
||||
{
|
||||
boolean caseSensitive = Boolean.getBoolean(System.getProperty("user.name.caseSensitive"));
|
||||
if (caseSensitive)
|
||||
{
|
||||
testPersonDelete(TEST_USER_E);
|
||||
}
|
||||
else
|
||||
{
|
||||
testPersonDelete(TEST_USER_E.toLowerCase());
|
||||
}
|
||||
}
|
||||
|
||||
protected void testPersonDelete(final String userId) throws Exception
|
||||
{
|
||||
cleaner.setMaxAgeMins(100);
|
||||
|
||||
createPerson(TEST_USER_E); // ignore result
|
||||
createPerson(userId); // ignore result
|
||||
|
||||
assertEquals(0, feedDAO.selectSiteFeedEntries(TEST_SITE_6, -1).size());
|
||||
assertEquals(0, feedDAO.selectUserFeedEntries(TEST_USER_E, null, false, false, -1L, -1).size());
|
||||
assertEquals(0, feedDAO.selectUserFeedEntries(userId, null, false, false, -1L, -1).size());
|
||||
|
||||
final int site6FeedCnt = 10;
|
||||
|
||||
@@ -397,15 +424,15 @@ public class FeedCleanerTest extends TestCase
|
||||
feedEntry.setPostDate(new Date(System.currentTimeMillis()-(i*60*1000L)));
|
||||
feedEntry.setSiteNetwork(TEST_SITE_6);
|
||||
feedEntry.setActivityType("testActivityType");
|
||||
feedEntry.setPostUserId(TEST_USER_E);
|
||||
feedEntry.setPostUserId(userId);
|
||||
feedEntry.setFeedUserId("");
|
||||
feedEntry.setFeedDate(new Date());
|
||||
|
||||
//bypassing FeedTaskProcessor.process() call feedDAO.insertFeedEntry()
|
||||
feedDAO.insertFeedEntry(feedEntry); // for TEST_SITE_6 site feed
|
||||
|
||||
feedEntry.setFeedUserId(TEST_USER_E); // for TEST_USER_E user feed
|
||||
feedEntry.setFeedUserId(userId); // for TEST_USER_E user feed
|
||||
feedEntry.setFeedDate(new Date());
|
||||
|
||||
//bypassing FeedTaskProcessor.process() call feedDAO.insertFeedEntry()
|
||||
feedDAO.insertFeedEntry(feedEntry);
|
||||
}
|
||||
|
||||
@@ -419,24 +446,24 @@ public class FeedCleanerTest extends TestCase
|
||||
feedEntry.setPostDate(new Date(System.currentTimeMillis()-(i*60*1000L)));
|
||||
feedEntry.setSiteNetwork(TEST_SITE_7);
|
||||
feedEntry.setActivityType("testActivityType");
|
||||
feedEntry.setPostUserId(TEST_USER_E);
|
||||
feedEntry.setPostUserId(userId);
|
||||
feedEntry.setFeedUserId("");
|
||||
feedEntry.setFeedDate(new Date());
|
||||
|
||||
//bypassing FeedTaskProcessor.process() call feedDAO.insertFeedEntry()
|
||||
feedDAO.insertFeedEntry(feedEntry); // for TEST_SITE_7 site feed
|
||||
|
||||
feedEntry.setFeedUserId(TEST_USER_E); // for TEST_USER_E user feed
|
||||
feedEntry.setFeedUserId(userId); // for TEST_USER_E user feed
|
||||
feedEntry.setFeedDate(new Date());
|
||||
|
||||
//bypassing FeedTaskProcessor.process() call feedDAO.insertFeedEntry()
|
||||
feedDAO.insertFeedEntry(feedEntry);
|
||||
}
|
||||
|
||||
assertEquals(site6FeedCnt, feedDAO.selectSiteFeedEntries(TEST_SITE_6, -1).size());
|
||||
assertEquals(site7FeedCnt, feedDAO.selectSiteFeedEntries(TEST_SITE_7, -1).size());
|
||||
assertEquals(site6FeedCnt+site7FeedCnt, feedDAO.selectUserFeedEntries(TEST_USER_E, null, false, false, -1L, -1).size());
|
||||
assertEquals(site6FeedCnt+site7FeedCnt, feedDAO.selectUserFeedEntries(userId, null, false, false, -1L, -1).size());
|
||||
|
||||
// delete the person
|
||||
personService.deletePerson(TEST_USER_E);
|
||||
personService.deletePerson(userId);
|
||||
|
||||
// note: site feed cleanup is done in separate txn after commit
|
||||
transactionHelper.doInTransaction(new RetryingTransactionHelper.RetryingTransactionCallback<Void>()
|
||||
@@ -446,11 +473,11 @@ public class FeedCleanerTest extends TestCase
|
||||
assertEquals(site6FeedCnt, feedDAO.selectSiteFeedEntries(TEST_SITE_6, -1).size());
|
||||
assertEquals(site7FeedCnt, feedDAO.selectSiteFeedEntries(TEST_SITE_7, -1).size());
|
||||
|
||||
assertEquals(0, feedDAO.selectUserFeedEntries(TEST_USER_E, null, false, false, -1L, -1).size());
|
||||
assertEquals(0, feedDAO.selectUserFeedEntries(userId, null, false, false, -1L, -1).size());
|
||||
|
||||
assertTrue(createPerson(TEST_USER_E));
|
||||
assertTrue(createPerson(userId));
|
||||
|
||||
assertEquals(0, feedDAO.selectUserFeedEntries(TEST_USER_E, null, false, false, -1L, -1).size());
|
||||
assertEquals(0, feedDAO.selectUserFeedEntries(userId, null, false, false, -1L, -1).size());
|
||||
return null;
|
||||
}
|
||||
}, false, true);
|
||||
@@ -476,6 +503,7 @@ public class FeedCleanerTest extends TestCase
|
||||
return false; // already exists
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testConcurrentAccessAndRemoval() throws Exception
|
||||
{
|
||||
cleaner.setMaxAgeMins(1);
|
||||
@@ -604,4 +632,11 @@ public class FeedCleanerTest extends TestCase
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@AfterClass
|
||||
// remove system "user.name.caseSensitive" property
|
||||
public static void afterClass()
|
||||
{
|
||||
System.clearProperty("user.name.caseSensitive");
|
||||
}
|
||||
}
|
@@ -0,0 +1,10 @@
|
||||
package org.alfresco.repo.activities.feed.cleanup;
|
||||
|
||||
public class FeedCleanerTestCaseInsensitivity extends AbstractFeedCleanerTest
|
||||
{
|
||||
static
|
||||
{
|
||||
System.setProperty("user.name.caseSensitive", "false");
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,10 @@
|
||||
package org.alfresco.repo.activities.feed.cleanup;
|
||||
|
||||
public class FeedCleanerTestCaseSensitivity extends AbstractFeedCleanerTest
|
||||
{
|
||||
static
|
||||
{
|
||||
System.setProperty("user.name.caseSensitive", "true");
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user