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:
Jan Vonka
2010-03-17 11:26:46 +00:00
parent 733cd6e02d
commit 0f0d7a2fe0
18 changed files with 680 additions and 180 deletions

View File

@@ -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 ...
*/