Test : Ajout des tests du systeme d'invitation
TestCase "InvitationTokenTest" est en vert
This commit is contained in:
125
YACOSTest/src/org/yacos/tests/core/InvitationTokenTest.java
Normal file
125
YACOSTest/src/org/yacos/tests/core/InvitationTokenTest.java
Normal file
@@ -0,0 +1,125 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
package org.yacos.tests.core;
|
||||||
|
|
||||||
|
|
||||||
|
import static org.junit.Assert.*;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
import javax.naming.Context;
|
||||||
|
import javax.naming.InitialContext;
|
||||||
|
|
||||||
|
import org.junit.After;
|
||||||
|
import org.junit.Before;
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.yacos.core.conferences.Conference;
|
||||||
|
import org.yacos.core.conferences.IConferenceManager;
|
||||||
|
import org.yacos.core.system.InvitationToken;
|
||||||
|
import org.yacos.core.users.IUserManager;
|
||||||
|
import org.yacos.core.users.User;
|
||||||
|
import org.yacos.core.users.Role.RoleType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author christiancorsano
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class InvitationTokenTest {
|
||||||
|
private IUserManager userManager;
|
||||||
|
private IConferenceManager confManager;
|
||||||
|
private Integer testConferenceId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws java.lang.Exception
|
||||||
|
*/
|
||||||
|
@Before
|
||||||
|
public void setUp() throws Exception {
|
||||||
|
Context context = new InitialContext();
|
||||||
|
userManager = (IUserManager) context.lookup("UserManagerBean/remote");
|
||||||
|
confManager = (IConferenceManager) context.lookup("ConferenceManagerBean/remote");
|
||||||
|
Conference conf = confManager.addConference(
|
||||||
|
"InvitationToken Test conference",
|
||||||
|
"A conference to test InvitationToken",
|
||||||
|
"None",
|
||||||
|
new Date(),
|
||||||
|
new Date(),
|
||||||
|
new Date(),
|
||||||
|
new Date(),
|
||||||
|
new Date());
|
||||||
|
testConferenceId = conf.getId();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testConferenceReady() throws Exception {
|
||||||
|
assertNotNull("Checking presence of conference", confManager.getConference(testConferenceId));
|
||||||
|
assertTrue("Checking emptiness of conference token list",
|
||||||
|
confManager.getInvitationTokensForConference(testConferenceId).isEmpty());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testInvitationTokenCreation() throws Exception {
|
||||||
|
InvitationToken token = confManager.addInvitationToken("InvitationToken@test.com", RoleType.AUTHOR, testConferenceId);
|
||||||
|
List<InvitationToken> tokensForConference = confManager.getInvitationTokensForConference(testConferenceId);
|
||||||
|
assertEquals("Checking incrementation of tokens after adding",
|
||||||
|
1, tokensForConference.size());
|
||||||
|
assertNotNull(token);
|
||||||
|
assertEquals("InvitationToken@test.com", token.getEmail());
|
||||||
|
assertEquals(RoleType.AUTHOR, token.getRole());
|
||||||
|
Conference conf = confManager.getConference(testConferenceId);
|
||||||
|
assertEquals(conf.getId(), token.getConference().getId() );
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testInvitationTokenUsedWhenUserCreated() throws Exception {
|
||||||
|
Conference conf2 = confManager.addConference(
|
||||||
|
"InvitationToken Test conference 2",
|
||||||
|
"A second conference to test InvitationToken",
|
||||||
|
"None",
|
||||||
|
new Date(),
|
||||||
|
new Date(),
|
||||||
|
new Date(),
|
||||||
|
new Date(),
|
||||||
|
new Date());
|
||||||
|
|
||||||
|
confManager.addInvitationToken("InvitationToken@test.com", RoleType.AUTHOR, testConferenceId);
|
||||||
|
confManager.addInvitationToken("InvitationToken@test.com", RoleType.REFEREE, testConferenceId);
|
||||||
|
confManager.addInvitationToken("InvitationToken@test.com", RoleType.PCMEMBER, conf2.getId());
|
||||||
|
|
||||||
|
assertEquals(2,confManager.getInvitationTokensForConference(testConferenceId).size());
|
||||||
|
assertEquals(1,confManager.getInvitationTokensForConference(conf2.getId()).size());
|
||||||
|
assertEquals(3,userManager.getInvitationTokensForEmail("InvitationToken@test.com").size());
|
||||||
|
|
||||||
|
User testUser = userManager.addUser("testInvitationToken", "pass", "ITokenTest", "ITokenTest", "YACOS", "InvitationToken@test.com");
|
||||||
|
assertTrue("Checking that all tokens are used when User is created",
|
||||||
|
userManager.getInvitationTokensForEmail(testUser.getEmail()).isEmpty());
|
||||||
|
assertTrue("Checking the roles for test user",
|
||||||
|
userManager.hasRoleForConference(testUser.getLogin(), RoleType.AUTHOR, testConferenceId));
|
||||||
|
assertTrue("Checking the roles for test user",
|
||||||
|
userManager.hasRoleForConference(testUser.getLogin(), RoleType.REFEREE, testConferenceId));
|
||||||
|
assertTrue("Checking the roles for test user",
|
||||||
|
userManager.hasRoleForConference(testUser.getLogin(), RoleType.PCMEMBER, conf2.getId()));
|
||||||
|
|
||||||
|
// Cleaning up
|
||||||
|
userManager.removeUser("testInvitationToken");
|
||||||
|
confManager.remove(conf2.getId());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws java.lang.Exception
|
||||||
|
*/
|
||||||
|
@After
|
||||||
|
public void tearDown() throws Exception {
|
||||||
|
List<InvitationToken> tokensForConference = confManager.getInvitationTokensForConference(testConferenceId);
|
||||||
|
for(InvitationToken token : tokensForConference){
|
||||||
|
confManager.removeInvitationToken(token);
|
||||||
|
}
|
||||||
|
assertTrue("TearDown : checking that no test tokens are left in the database",
|
||||||
|
confManager.getInvitationTokensForConference(testConferenceId).isEmpty());
|
||||||
|
|
||||||
|
confManager.remove(testConferenceId);
|
||||||
|
assertNull("TearDown : checking that the test conference has been removed",
|
||||||
|
confManager.getConference(testConferenceId));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user