From abeaaa4ca47c21cf01da7a74e8a453087783cc83 Mon Sep 17 00:00:00 2001 From: Nick Burch Date: Wed, 3 Aug 2011 22:13:41 +0000 Subject: [PATCH] ALF-9157 Wiki Page Service CRUD unit tests (listing ones to follow) git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@29540 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../repo/wiki/WikiPageServiceImpl.java | 10 +- .../repo/wiki/WikiPageServiceImplTest.java | 93 +++++++++---------- 2 files changed, 53 insertions(+), 50 deletions(-) diff --git a/source/java/org/alfresco/repo/wiki/WikiPageServiceImpl.java b/source/java/org/alfresco/repo/wiki/WikiPageServiceImpl.java index b469870ded..22a6b909fb 100644 --- a/source/java/org/alfresco/repo/wiki/WikiPageServiceImpl.java +++ b/source/java/org/alfresco/repo/wiki/WikiPageServiceImpl.java @@ -202,7 +202,7 @@ public class WikiPageServiceImpl implements WikiPageService ).getChildRef(); // Store the content - ContentWriter writer = contentService.getWriter(nodeRef, ContentModel.PROP_CONTENT, false); + ContentWriter writer = contentService.getWriter(nodeRef, ContentModel.PROP_CONTENT, true); writer.setEncoding("UTF-8"); writer.putContent(content); @@ -223,11 +223,13 @@ public class WikiPageServiceImpl implements WikiPageService NodeRef nodeRef = page.getNodeRef(); // Handle the rename case + boolean renamed = false; if(! nodeService.getProperty(nodeRef, ContentModel.PROP_NAME).equals(page.getTitle())) { try { fileFolderService.rename(nodeRef, page.getTitle()); + renamed = true; } catch(FileNotFoundException e) { @@ -245,6 +247,12 @@ public class WikiPageServiceImpl implements WikiPageService // Now do the tags taggingService.setTags(nodeRef, page.getTags()); + // If we re-named, re-create the object + if(renamed) + { + page = buildPage(nodeRef, page.getContainerNodeRef(), page.getTitle(), page.getContents()); + } + // All done return page; } diff --git a/source/java/org/alfresco/repo/wiki/WikiPageServiceImplTest.java b/source/java/org/alfresco/repo/wiki/WikiPageServiceImplTest.java index 4534308da9..adba041d2e 100644 --- a/source/java/org/alfresco/repo/wiki/WikiPageServiceImplTest.java +++ b/source/java/org/alfresco/repo/wiki/WikiPageServiceImplTest.java @@ -166,65 +166,60 @@ public class WikiPageServiceImplTest // Fetch it, and check the details page = WIKI_PAGE_SERVICE.getWikiPage(WIKI_SITE.getShortName(), page.getSystemName()); -if(1==0) { // TODO Fix this assertEquals("Title", page.getTitle()); assertEquals("This Is Some Content", page.getContents()); assertEquals(ADMIN_USER, page.getCreator()); assertEquals(0, page.getTags().size()); -} // Mark it as done with testNodesToTidy.add(page.getNodeRef()); } -// @Test public void createUpdateDeleteEntry() throws Exception -// { -// WikiPageInfo page; -// -// // Run as the test user instead -// AuthenticationUtil.setFullyAuthenticatedUser(TEST_USER); -// -// -// // Create a link -// page = WIKI_PAGE_SERVICE.createWikiPage( -// WIKI_SITE.getShortName(), "Title", "This Is Some Content" -// ); -// -// -// // Check it -// assertEquals("Title", page.getTitle()); -// assertEquals("Description", page.getDescription()); -// assertEquals("http://www.alfresco.com/", page.getURL()); -// assertEquals(false, page.isInternal()); -// assertEquals(TEST_USER, page.getCreator()); -// assertEquals(0, page.getTags().size()); -// -// -// // Change it -// page.setTitle("New Title"); -// page.setURL("http://share.alfresco.com/"); -// page.setInternal(true); -// -// WIKI_PAGE_SERVICE.updateLink(page); -// -// -// // Fetch, and check -// page = WIKI_PAGE_SERVICE.getLink(WIKI_SITE.getShortName(), page.getSystemName()); -// assertEquals("New Title", page.getTitle()); -// assertEquals("Description", page.getDescription()); -// assertEquals("http://share.alfresco.com/", page.getURL()); -// assertEquals(true, page.isInternal()); -// assertEquals(TEST_USER, page.getCreator()); -// assertEquals(0, page.getTags().size()); -// -// -// // Delete it -// WIKI_PAGE_SERVICE.deleteLink(page); -// -// // Check it went -// assertEquals(null, WIKI_PAGE_SERVICE.getLink(WIKI_SITE.getShortName(), page.getSystemName())); -// } + @Test public void createUpdateDeleteEntry() throws Exception + { + WikiPageInfo page; + + // Run as the test user instead + AuthenticationUtil.setFullyAuthenticatedUser(TEST_USER); + + + // Create a link + page = WIKI_PAGE_SERVICE.createWikiPage( + WIKI_SITE.getShortName(), "Title", "This Is Some Content" + ); + + + // Check it + assertEquals("Title", page.getSystemName()); + assertEquals("Title", page.getTitle()); + assertEquals("This Is Some Content", page.getContents()); + assertEquals(TEST_USER, page.getCreator()); + assertEquals(0, page.getTags().size()); + + + // Change it + page.setTitle("New Title"); + page.setContents("This is new content"); + + page = WIKI_PAGE_SERVICE.updateWikiPage(page); + + + // Fetch, and check + page = WIKI_PAGE_SERVICE.getWikiPage(WIKI_SITE.getShortName(), page.getSystemName()); + assertEquals("New Title", page.getSystemName()); + assertEquals("New Title", page.getTitle()); + assertEquals("This is new content", page.getContents()); + assertEquals(TEST_USER, page.getCreator()); + assertEquals(0, page.getTags().size()); + + + // Delete it + WIKI_PAGE_SERVICE.deleteWikiPage(page); + + // Check it went + assertEquals(null, WIKI_PAGE_SERVICE.getWikiPage(WIKI_SITE.getShortName(), page.getSystemName())); + } /** * Ensures that when we try to write an entry to the