mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
Merged V3.2 to HEAD
19246: ALF-1940 - case-insensitive AVM path lookups fail on a DB that is (configured by default to be) case-sensitive 19280: AVM - preserve case on child lookup, add unit tests 19316: AVM - fix rename (change in 'case') & add unit tests (ALF-1725 & ALF-1767) git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@19337 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -1214,8 +1214,7 @@ public class AVMServiceLocalTest extends TestCase
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void testRename6() throws Exception
|
||||
public void testRename1() throws Exception
|
||||
{
|
||||
try
|
||||
{
|
||||
@@ -1252,6 +1251,143 @@ public class AVMServiceLocalTest extends TestCase
|
||||
}
|
||||
}
|
||||
|
||||
public void testRename2() throws Exception
|
||||
{
|
||||
String fileLower = "foo";
|
||||
String fileUpper = "FOO";
|
||||
|
||||
try
|
||||
{
|
||||
logger.debug("created 2 stores: main, layer");
|
||||
|
||||
fService.createDirectory("main:/", "a");
|
||||
fService.createFile("main:/a", fileLower);
|
||||
|
||||
logger.debug("created: main:/a/"+fileLower);
|
||||
|
||||
AVMNodeDescriptor desc = fService.lookup(-1, "main:/a/"+fileLower);
|
||||
assertNotNull(desc);
|
||||
assertEquals("main:/a/"+fileLower, desc.getPath());
|
||||
|
||||
fService.createLayeredDirectory("main:/a", "layer:/", "a");
|
||||
|
||||
logger.debug("created: layer:/a/"+fileLower+" -> main:/a/"+fileLower);
|
||||
|
||||
assertNotNull(fService.lookup(-1, "layer:/a/"+fileLower));
|
||||
|
||||
List<AVMDifference> diffs = fSyncService.compare(-1, "layer:/a", -1, "main:/a", null);
|
||||
assertEquals(0, diffs.size());
|
||||
|
||||
fService.rename("layer:/a/", fileLower, "layer:/a", fileUpper);
|
||||
|
||||
logger.debug("rename: layer:/a/"+fileLower+" -> layer:/a/"+fileUpper);
|
||||
|
||||
diffs = fSyncService.compare(-1, "layer:/a", -1, "main:/a", null);
|
||||
assertEquals("[layer:/a/"+fileUpper+"[-1] > main:/a/"+fileUpper+"[-1]]", diffs.toString());
|
||||
|
||||
fSyncService.update(diffs, null, false, false, false, false, null, null);
|
||||
|
||||
logger.debug("update: layer:/a/"+fileUpper+" -> main:/a/"+fileUpper);
|
||||
|
||||
diffs = fSyncService.compare(-1, "layer:/a", -1, "main:/a", null);
|
||||
assertEquals(0, diffs.size());
|
||||
|
||||
fSyncService.flatten("layer:/a", "main:/a");
|
||||
|
||||
logger.debug("flatten: layer:/a -> main:/a");
|
||||
|
||||
desc = fService.lookup(-1, "main:/a/"+fileLower);
|
||||
assertNotNull(desc);
|
||||
assertEquals("main:/a/"+fileUpper, desc.getPath());
|
||||
|
||||
desc = fService.lookup(-1, "main:/a/"+fileUpper);
|
||||
assertNotNull(desc);
|
||||
assertEquals("main:/a/"+fileUpper, desc.getPath());
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
|
||||
public void testRename3() throws Exception
|
||||
{
|
||||
try
|
||||
{
|
||||
logger.debug("created 2 stores: main, layer");
|
||||
|
||||
fService.createDirectory("main:/", "a");
|
||||
fService.createDirectory("main:/a", "b");
|
||||
fService.createDirectory("main:/a/b", "c");
|
||||
|
||||
logger.debug("created: main:/a/b/c");
|
||||
|
||||
fService.createLayeredDirectory("main:/a", "layer:/", "a");
|
||||
|
||||
logger.debug("created: layer:/a -> main:/a");
|
||||
|
||||
List<AVMDifference> diffs = fSyncService.compare(-1, "layer:/a", -1, "main:/a", null);
|
||||
assertEquals(0, diffs.size());
|
||||
|
||||
AVMNodeDescriptor desc = fService.lookup(-1, "main:/a/b");
|
||||
assertNotNull(desc);
|
||||
assertEquals("main:/a/b", desc.getPath());
|
||||
|
||||
desc = fService.lookup(-1, "main:/a/B");
|
||||
assertNotNull(desc);
|
||||
assertEquals("main:/a/b", desc.getPath());
|
||||
|
||||
desc = fService.lookup(-1, "layer:/a/b");
|
||||
assertNotNull(desc);
|
||||
assertEquals("layer:/a/b", desc.getPath());
|
||||
|
||||
fService.rename("layer:/a/", "b", "layer:/a", "B");
|
||||
|
||||
logger.debug("rename: layer:/a/b -> layer:/a/B");
|
||||
|
||||
desc = fService.lookup(-1, "main:/a/b");
|
||||
assertNotNull(desc);
|
||||
assertEquals("main:/a/b", desc.getPath());
|
||||
|
||||
desc = fService.lookup(-1, "layer:/a/B");
|
||||
assertNotNull(desc);
|
||||
assertEquals("layer:/a/B", desc.getPath());
|
||||
|
||||
desc = fService.lookup(-1, "layer:/a/b");
|
||||
assertNotNull(desc);
|
||||
assertEquals("layer:/a/B", desc.getPath());
|
||||
|
||||
diffs = fSyncService.compare(-1, "layer:/a", -1, "main:/a", null);
|
||||
assertEquals("[layer:/a/B[-1] > main:/a/B[-1]]", diffs.toString());
|
||||
|
||||
fSyncService.update(diffs, null, false, false, false, false, null, null);
|
||||
|
||||
logger.debug("update: layer:/a/B -> main:/a/B");
|
||||
|
||||
diffs = fSyncService.compare(-1, "layer:/a", -1, "main:/a", null);
|
||||
assertEquals(0, diffs.size());
|
||||
|
||||
fSyncService.flatten("layer:/a", "main:/a");
|
||||
|
||||
logger.debug("flatten: layer:/a -> main:/a");
|
||||
|
||||
desc = fService.lookup(-1, "main:/a/b");
|
||||
assertNotNull(desc);
|
||||
assertEquals("main:/a/B", desc.getPath());
|
||||
|
||||
desc = fService.lookup(-1, "main:/a/B");
|
||||
assertNotNull(desc);
|
||||
assertEquals("main:/a/B", desc.getPath());
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Test file properties update ...
|
||||
*/
|
||||
|
Reference in New Issue
Block a user