Author: mflorea
Date: 2007-12-19 14:58:48 +0100 (Wed, 19 Dec 2007)
New Revision: 6427

Modified:
   
xwiki-products/curriki/trunk/plugins/invitationmanager/src/test/java/org/xwiki/plugin/invitationmanager/impl/InvitationManagerImplTest.java
   
xwiki-products/curriki/trunk/plugins/invitationmanager/src/test/java/org/xwiki/plugin/invitationmanager/impl/InvitationManagerTest.java
Log:
I modified some tests (cancel/reject Invitation/MembershipRequest) and I mocked 
the SpaceManager. Unfortunately the InvitationManager gets the SpaceManager 
through a static method in SpaceManagers.

Modified: 
xwiki-products/curriki/trunk/plugins/invitationmanager/src/test/java/org/xwiki/plugin/invitationmanager/impl/InvitationManagerImplTest.java
===================================================================
--- 
xwiki-products/curriki/trunk/plugins/invitationmanager/src/test/java/org/xwiki/plugin/invitationmanager/impl/InvitationManagerImplTest.java
 2007-12-19 13:12:33 UTC (rev 6426)
+++ 
xwiki-products/curriki/trunk/plugins/invitationmanager/src/test/java/org/xwiki/plugin/invitationmanager/impl/InvitationManagerImplTest.java
 2007-12-19 13:58:48 UTC (rev 6427)
@@ -21,7 +21,6 @@
 
 import org.xwiki.plugin.invitationmanager.api.Invitation;
 import org.xwiki.plugin.invitationmanager.api.MembershipRequest;
-import org.xwiki.plugin.spacemanager.impl.SpaceManagerImpl;
 
 import com.xpn.xwiki.XWikiException;
 
@@ -34,8 +33,6 @@
     {
         super.setUp();
         invitationManager = new InvitationManagerImpl();
-        spaceManager =
-            new SpaceManagerImpl("spacemanager", 
SpaceManagerImpl.class.toString(), context);
     }
 
     protected Invitation createInvitation(String invitee, String space) throws 
XWikiException

Modified: 
xwiki-products/curriki/trunk/plugins/invitationmanager/src/test/java/org/xwiki/plugin/invitationmanager/impl/InvitationManagerTest.java
===================================================================
--- 
xwiki-products/curriki/trunk/plugins/invitationmanager/src/test/java/org/xwiki/plugin/invitationmanager/impl/InvitationManagerTest.java
     2007-12-19 13:12:33 UTC (rev 6426)
+++ 
xwiki-products/curriki/trunk/plugins/invitationmanager/src/test/java/org/xwiki/plugin/invitationmanager/impl/InvitationManagerTest.java
     2007-12-19 13:58:48 UTC (rev 6427)
@@ -19,10 +19,12 @@
  */
 package org.xwiki.plugin.invitationmanager.impl;
 
+import java.util.ArrayList;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.ArrayList;
+import java.util.Set;
 
 import org.jmock.Mock;
 import org.jmock.cglib.MockObjectTestCase;
@@ -33,7 +35,6 @@
 import org.xwiki.plugin.invitationmanager.api.JoinRequestStatus;
 import org.xwiki.plugin.invitationmanager.api.MembershipRequest;
 import org.xwiki.plugin.spacemanager.api.SpaceManager;
-import org.xwiki.plugin.spacemanager.api.SpaceManagerException;
 
 import com.xpn.xwiki.XWiki;
 import com.xpn.xwiki.XWikiConfig;
@@ -50,16 +51,20 @@
 {
     protected InvitationManager invitationManager;
 
-    protected SpaceManager spaceManager;
-
     protected XWikiContext context;
 
     protected XWiki xwiki;
 
     protected Mock mockXWikiStore;
 
+    protected Mock mockSpaceManager;
+
     protected Map docs = new HashMap();
 
+    protected Map space2members = new HashMap();
+
+    protected Map role2users = new HashMap();
+
     protected static final String SPACE = "MySpace";
 
     protected static final String ADMIN = "MySpaceAdmin";
@@ -76,6 +81,12 @@
         xwiki = new XWiki(new XWikiConfig(), context);
         context.setWiki(xwiki);
 
+        setUpStore();
+        setUpSpaceManager();
+    }
+
+    private void setUpStore()
+    {
         mockXWikiStore =
             mock(XWikiHibernateStore.class, new Class[] {XWiki.class, 
XWikiContext.class},
                 new Object[] {xwiki, context});
@@ -115,110 +126,131 @@
                         : Boolean.TRUE;
                 }
             });
-        this.mockXWikiStore.stubs().method("search").will(
-                  returnValue(new ArrayList()));        
+        this.mockXWikiStore.stubs().method("search").will(returnValue(new 
ArrayList()));
 
         xwiki.setStore((XWikiStoreInterface) mockXWikiStore.proxy());
     }
 
-    public void testEmptyTest() {
-        
+    private void setUpSpaceManager()
+    {
+        mockXWikiStore = mock(SpaceManager.class, new Class[] {}, new Object[] 
{});
+        mockXWikiStore.stubs().method("userIsMember").will(
+            new CustomStub("Implements SpaceManager.userIsMember")
+            {
+                public Object invoke(Invocation invocation) throws Throwable
+                {
+                    String space = (String) invocation.parameterValues.get(0);
+                    String user = (String) invocation.parameterValues.get(1);
+                    Set members = (Set) space2members.get(space);
+                    return (members != null && members.contains(user)) ? 
Boolean.TRUE
+                        : Boolean.FALSE;
+                }
+            });
+        mockXWikiStore.stubs().method("getUsersForRole").will(
+            new CustomStub("Implements SpaceManager.getUsersForRole")
+            {
+                public Object invoke(Invocation invocation) throws Throwable
+                {
+                    String role = (String) invocation.parameterValues.get(1);
+                    Set users = (Set) role2users.get(role);
+                    if (users != null) {
+                        return users;
+                    } else {
+                        return Collections.EMPTY_SET;
+                    }
+                }
+            });
     }
 
-    /*
-    public void testAcceptInvitation()
+    public void testEmptyTest()
     {
+
+    }
+
+    public void _testAcceptInvitation()
+    {
         try {
             String nonMember = "testAcceptInvitation_nonMember";
             context.setUser(ADMIN);
             invitationManager.inviteUser(nonMember, SPACE, false, 
DEVELOPER_ROLE, context);
 
-            assertFalse(spaceManager.userIsMember(SPACE, nonMember, context));
-            assertFalse(spaceManager.getUsersForRole(SPACE, DEVELOPER_ROLE, 
context).contains(
-                nonMember));
+            assertFalse(getSpaceManager().userIsMember(SPACE, nonMember, 
context));
+            assertFalse(getSpaceManager().getUsersForRole(SPACE, 
DEVELOPER_ROLE, context)
+                .contains(nonMember));
 
             context.setUser(nonMember);
             invitationManager.acceptInvitation(SPACE, context);
 
-            assertTrue(spaceManager.userIsMember(SPACE, nonMember, context));
-            assertTrue(spaceManager.getUsersForRole(SPACE, DEVELOPER_ROLE, 
context).contains(
-                nonMember));
+            assertTrue(getSpaceManager().userIsMember(SPACE, nonMember, 
context));
+            assertTrue(getSpaceManager().getUsersForRole(SPACE, 
DEVELOPER_ROLE, context)
+                .contains(nonMember));
         } catch (XWikiException e) {
             assertTrue(false);
         }
     }
 
-    public void testAcceptMembership()
+    public void _testAcceptMembership()
     {
         try {
             String nonMember = "testAcceptMembership_nonMember";
             context.setUser(nonMember);
-            invitationManager.requestMembership(SPACE, "I love you space", 
DEVELOPER_ROLE,
+            invitationManager.requestMembership(SPACE, "I love yout space", 
DEVELOPER_ROLE,
                 context);
 
-            assertFalse(spaceManager.userIsMember(SPACE, nonMember, context));
-            assertFalse(spaceManager.getUsersForRole(SPACE, DEVELOPER_ROLE, 
context).contains(
-                nonMember));
+            assertFalse(getSpaceManager().userIsMember(SPACE, nonMember, 
context));
+            assertFalse(getSpaceManager().getUsersForRole(SPACE, 
DEVELOPER_ROLE, context)
+                .contains(nonMember));
 
             context.setUser(ADMIN);
             invitationManager.acceptMembership(SPACE, nonMember, context);
 
-            assertTrue(spaceManager.userIsMember(SPACE, nonMember, context));
-            assertTrue(spaceManager.getUsersForRole(SPACE, DEVELOPER_ROLE, 
context).contains(
-                nonMember));
+            assertTrue(getSpaceManager().userIsMember(SPACE, nonMember, 
context));
+            assertTrue(getSpaceManager().getUsersForRole(SPACE, 
DEVELOPER_ROLE, context)
+                .contains(nonMember));
         } catch (XWikiException e) {
             assertTrue(false);
         }
     }
 
-    public void testCancelInvitation()
+    public void _testCancelInvitation()
     {
         try {
             String nonMember = "testCancelInvitation_nonMember";
+            assertFalse(getSpaceManager().userIsMember(SPACE, nonMember, 
context));
+
             context.setUser(ADMIN);
             invitationManager.inviteUser(nonMember, SPACE, false, context);
             invitationManager.cancelInvitation(nonMember, SPACE, context);
+            Invitation invitation = getInvitation(nonMember, SPACE);
 
-            Invitation prototype = createInvitation(nonMember, SPACE);
-            prototype.setInviter(ADMIN);
-            prototype.setStatus(JoinRequestStatus.SENT);
-            List invitations = invitationManager.getInvitations(prototype, 
context);
-            assertEquals(0, invitations.size());
-
-            prototype.setStatus(JoinRequestStatus.CANCELLED);
-            invitations = invitationManager.getInvitations(prototype, context);
-            assertEquals(1, invitations.size());
-
-            assertFalse(spaceManager.userIsMember(SPACE, nonMember, context));
+            assertEquals(JoinRequestStatus.CANCELLED, invitation.getStatus());
+            assertNull(invitation.getResponseDate());
+            assertFalse(getSpaceManager().userIsMember(SPACE, nonMember, 
context));
         } catch (XWikiException e) {
             assertTrue(false);
         }
     }
 
-    public void testCancelMembershipRequest()
+    public void _testCancelMembershipRequest()
     {
         try {
             String nonMember = "testCancelMembershipRequest_nonMember";
+            assertFalse(getSpaceManager().userIsMember(SPACE, nonMember, 
context));
+
             context.setUser(nonMember);
-            invitationManager.requestMembership(SPACE, "I love you space", 
context);
+            invitationManager.requestMembership(SPACE, "I love your space", 
context);
             invitationManager.cancelMembershipRequest(SPACE, context);
+            MembershipRequest request = getMembershipRequest(nonMember, SPACE);
 
-            MembershipRequest prototype = createMembershipRequest(nonMember, 
SPACE);
-            prototype.setStatus(JoinRequestStatus.SENT);
-            List membershipRequests = 
invitationManager.getMembershipRequests(prototype, context);
-            assertEquals(0, membershipRequests.size());
-
-            prototype.setStatus(JoinRequestStatus.CANCELLED);
-            membershipRequests = 
invitationManager.getMembershipRequests(prototype, context);
-            assertEquals(1, membershipRequests.size());
-
-            assertFalse(spaceManager.userIsMember(SPACE, nonMember, context));
+            assertEquals(JoinRequestStatus.CANCELLED, request.getStatus());
+            assertNull(request.getResponseDate());
+            assertFalse(getSpaceManager().userIsMember(SPACE, nonMember, 
context));
         } catch (XWikiException e) {
             assertTrue(false);
         }
     }
 
-    public void testGetInvitations()
+    public void _testGetInvitations()
     {
         String nonMember = "testGetInvitations_nonMember";
         context.setUser(ADMIN);
@@ -247,11 +279,11 @@
         assertNotNull(invitationReceived);
     }
 
-    public void testGetMembershipRequests()
+    public void _testGetMembershipRequests()
     {
         String nonMember = "testGetMembershipRequests_nonMember";
         context.setUser(nonMember);
-        invitationManager.requestMembership(SPACE, "I love you space", 
context);
+        invitationManager.requestMembership(SPACE, "I love your space", 
context);
 
         List requests = 
invitationManager.getMembershipRequests(JoinRequestStatus.SENT, context);
         MembershipRequest requestSent = null;
@@ -276,10 +308,12 @@
         assertNotNull(requestReceived);
     }
 
-    public void testInviteUser()
+    public void _testInviteUser()
     {
         try {
             String nonMember = "testInviteUser_nonMember";
+            assertFalse(getSpaceManager().userIsMember(SPACE, nonMember, 
context));
+
             context.setUser(ADMIN);
             invitationManager.inviteUser(nonMember, SPACE, false, context);
             invitationManager.inviteUser(nonMember, SPACE, false, context);
@@ -294,11 +328,7 @@
             context.setUser(nonMember);
             invitationManager.acceptInvitation(SPACE, context);
 
-            try {
-                assertTrue(spaceManager.userIsMember(SPACE, nonMember, 
context));
-            } catch (SpaceManagerException e) {
-                assertTrue(false);
-            }
+            assertTrue(getSpaceManager().userIsMember(SPACE, nonMember, 
context));
 
             context.setUser(ADMIN);
             invitationManager.inviteUser(nonMember, SPACE, false, context);
@@ -313,64 +343,49 @@
         }
     }
 
-    public void testRejectInvitation()
+    public void _testRejectInvitation()
     {
         try {
             String nonMember = "testRejectInvitation_nonMember";
+            assertFalse(getSpaceManager().userIsMember(SPACE, nonMember, 
context));
+
             context.setUser(ADMIN);
             invitationManager.inviteUser(nonMember, SPACE, false, context);
 
-            Invitation prototype = createInvitation(nonMember, SPACE);
-            prototype.setInviter(ADMIN);
-            prototype.setStatus(JoinRequestStatus.SENT);
-            List invitations = invitationManager.getInvitations(prototype, 
context);
-            assertEquals(1, invitations.size());
-
             context.setUser(nonMember);
             invitationManager.rejectInvitation(SPACE, context);
+            Invitation invitation = getInvitation(nonMember, SPACE);
 
-            invitations = invitationManager.getInvitations(prototype, context);
-            assertEquals(0, invitations.size());
-
-            prototype.setStatus(JoinRequestStatus.REFUSED);
-            invitations = invitationManager.getInvitations(prototype, context);
-            assertEquals(1, invitations.size());
-
-            assertFalse(spaceManager.userIsMember(SPACE, nonMember, context));
+            assertEquals(JoinRequestStatus.REFUSED, invitation.getStatus());
+            assertNotNull(invitation.getResponseDate());
+            assertFalse(getSpaceManager().userIsMember(SPACE, nonMember, 
context));
         } catch (XWikiException e) {
             assertTrue(false);
         }
     }
 
-    public void testRejectMembership()
+    public void _testRejectMembership()
     {
         try {
             String nonMember = "testRejectMembership_nonMember";
+            assertFalse(getSpaceManager().userIsMember(SPACE, nonMember, 
context));
+
             context.setUser(nonMember);
-            invitationManager.requestMembership(SPACE, "I love you space", 
context);
+            invitationManager.requestMembership(SPACE, "I love your space", 
context);
 
-            MembershipRequest prototype = createMembershipRequest(nonMember, 
SPACE);
-            prototype.setStatus(JoinRequestStatus.SENT);
-            List membershipRequests = 
invitationManager.getMembershipRequests(prototype, context);
-            assertEquals(1, membershipRequests.size());
-
             context.setUser(ADMIN);
             invitationManager.rejectMembership(SPACE, nonMember, context);
+            MembershipRequest request = getMembershipRequest(nonMember, SPACE);
 
-            membershipRequests = 
invitationManager.getMembershipRequests(prototype, context);
-            assertEquals(0, membershipRequests.size());
-
-            prototype.setStatus(JoinRequestStatus.REFUSED);
-            membershipRequests = 
invitationManager.getMembershipRequests(prototype, context);
-            assertEquals(1, membershipRequests.size());
-
-            assertFalse(spaceManager.userIsMember(SPACE, nonMember, context));
+            assertEquals(JoinRequestStatus.REFUSED, request.getStatus());
+            assertNotNull(request.getResponseDate());
+            assertFalse(getSpaceManager().userIsMember(SPACE, nonMember, 
context));
         } catch (XWikiException e) {
             assertTrue(false);
         }
     }
 
-    public void testRequestMembership()
+    public void _testRequestMembership()
     {
         try {
             String nonMember = "testRequestMembership_nonMember";
@@ -388,7 +403,7 @@
             context.setUser(ADMIN);
             invitationManager.acceptMembership(SPACE, nonMember, context);
 
-            assertTrue(spaceManager.userIsMember(SPACE, nonMember, context));
+            assertTrue(getSpaceManager().userIsMember(SPACE, nonMember, 
context));
 
             context.setUser(nonMember);
             invitationManager.requestMembership(SPACE, "I really really love 
you space", context);
@@ -402,8 +417,12 @@
             assertTrue(false);
         }
     }
-    */
 
+    protected SpaceManager getSpaceManager()
+    {
+        return (SpaceManager) mockSpaceManager.proxy();
+    }
+
     protected abstract Invitation getInvitation(String invitee, String space)
         throws XWikiException;
 

_______________________________________________
notifications mailing list
notifications@xwiki.org
http://lists.xwiki.org/mailman/listinfo/notifications

Reply via email to